- From: Jeremy Carroll <jjc@hpl.hp.com>
- Date: Wed, 12 Dec 2007 14:02:05 +0000
- To: Semantic Web <semantic-web@w3.org>
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:02:37 UTC