Re: RDF/XML and named graphs

A consequence of this will be that rdf clients that are unaware of  
this convention will load all the named graphs in to one. Is this an  
acceptable consequence?

-Alan

On Dec 12, 2007, at 9:02 AM, Jeremy Carroll wrote:

>
>
> Suggestion: create a new attribuite rdf:graph="URIRef" to provide  
> for named graph support in RDF/XML.
>
>
> ===
>
> I have noticed that both POWDER and OWL 1.1 want to use reification  
> in order to give metadata about triples (or more generally, parts  
> of graphs).
>
> It is known and documented (in RDF Semantics) that reification  
> reifies statements rather than triples, and so, at least according  
> to the formal semantics, the attempts to use reification in this  
> way, do not work.
>
> One of the motivations for the named graphs view of the world, was  
> to address such use cases.
>
> Unfortunately, the only serialization of named graphs suggested  
> uisng RDF/XML, is to have multiple files with one graph per file,  
> which is, at least, awkward.
>
> I think maybe we should change that, by updating RDF/XML to have an  
> additional attribute rdf:graph that can appear on typed nodes,  
> rdf:Description, and property elements.
>
> The value of the attribute is a (relative) URI that is resolved in  
> the normal way against the current inscope base URI.
>
> The semantics is that the triple(s) generated by this part of the  
> XML (and all its descendents) are added *both* to the RDF graph  
> corresponding to the file, and to the RDF graph named by the  
> attribute.
>
> If an RDF/XML file uses a URI as the value of an rdf:graph  
> attribute, then the RDF/XML file claims to give a complete  
> definition of the graph with that name.
>
> To give an example:
>
>
> <rdf:RDF xml:base="http://example.org/powder">
>  <owl:Class rdf:ID="RC" rdf:graph="#p">
>   <rdfs:comment>The class of resources on on example.org</ 
> rdfs:comment>
>  </owl:Class>
>
>  <owl:Class rdf:ID="Blue">
>   <rdfs:comment>The set of all things that are blue</rdfs:comment>
>  </owl:Class>
>
> <rdf:Description rdf:about="#RC >
>   <rdfs:subClassOf rdf:resource="#Blue" rdf:graph="#p" />
> </rdf:Description>
>
>  <rdf:Description rdf:about="#p"  rdf:graph="#p">
>   <foaf:maker rdf:resource="http://example.com/foaf.rdf#david" />
>   <dcterms:issued>2007-12-04</dcterms:issued>
>  <wdr:validUntil>2008-12-03</wdr:validUntil>
>  </rdf:Description>
>
> </rdf:RDF>
>
> This then corresponds to teh following graphs:
>
> with
> @prefix eg: http://example.org/powder#
>
> http://example.org/powder:
> eg:RC rdf:type owl:Class .
> eg:RC rdfs:comment "The class of resources on on example.org" .
> eg:Blue rdf:type owl:Class .
> eg:Blue rdfs:comment "The set of all things that are blue" .
> eg:RC rdfs:subGraphOf eg:Blue .
> eg:p foaf:maker <http://example.com/foaf.rdf#david> .
> eg:p dcterms:issued "2007-12-04" .
> eg:p validUntil "2008-12-03" .
>
>
> http://example.org/powder#p:
> eg:RC rdf:type owl:Class .
> eg:RC rdfs:comment "The class of resources on on example.org" .
> eg:RC rdfs:subGraphOf eg:Blue .
> eg:p foaf:maker <http://example.com/foaf.rdf#david> .
> eg:p dcterms:issued "2007-12-04" .
> eg:p validUntil "2008-12-03" .
>
> The semantics says that eg:p is interpreted as the graph given  
> above (the syntactic object) and that that group has foaf:maker  
> being whatever #david refers to, etc etc.
>
> thoughts?
>
> Jeremy
>
>
>
>

Received on Wednesday, 12 December 2007 14:33:42 UTC