[redland-dev] Raptor parser behaviour with with namespace handler set
Svatopluk Šperka
sperka at gmail.com
Tue Oct 12 15:21:18 CEST 2010
Hi,
thank you very much for answering but I guess you don't understand what
the problem is.
I'm loading schemas for RDF and RDFS where namespaces are defined - they
are correct documents and I'm able to load them without problem when
there's no handler for namespace declaration registered (qnames get
expanded to URIs). When I register a handler, two types of error appear:
1) URI file:///Users/beho/Projects/connexion/./import/22-rdf-syntax-ns:7
raptor error - The namespace prefix in "owl:Ontology" was not declared.
2) URI file:///Users/beho/Projects/connexion/./import/22-rdf-syntax-ns:8
raptor warning - Using node element 'Ontology' without a namespace is
forbidden.
My interpretation, without knowing internals of raptor, would be that
when custom handler is registered, the default one is not which is why
raptor does not know about declared namespaces when parsing triples.
I could paste a piece of code if it would help.
Thanks again.
Svatopluk Šperka
On 10/12/10 7:53 , Dave Beckett wrote:
> On 10/11/10 2:32 AM, Svatopluk Šperka wrote:
>> Hi,
>>
>> I use raptor to parse RDF and transform it to my internal representation
>> and now I decided to use declared namespaces to optimise this
>> representation for space.
>>
>> Problem is that after setting namespace handler using
>> raptor_set_namespace_handler (version 1.4.19 is used) parser complains
>> "namespace prefix in ... was not declared". I guess I should register
>> the namespace somehow for the parser but I couldn't figure out how from
>> the documentation. Could someone give me a clue ?
>>
>> Thanks in advance for any help.
> In RDF syntaxes, namespaces are an abbreviation mechanism for URIs,
> sometimes called QNames or Curies.
>
> In a parser - syntax->RDF triples - the mapping is defined by the syntax
> specifications, there is no API to allow illegal syntax with undefined
> prefixes. Syntaxes are intended to be portable representations of RDF triples.
>
> In a serializer - RDF triples->syntax - you can declare namespaces since the
> user has a choice of how the output format looks.
>
> That's raptor_serialize_set_namespace() as documented in
> http://librdf.org/raptor/api-1.4/raptor-section-serializer.html#raptor-serialize-set-namespace
>
> Dave
More information about the redland-dev
mailing list