- From: McBride, Brian <bwm@hplb.hpl.hp.com>
- Date: Tue, 2 May 2000 13:51:17 +0100
- To: "RDF Interest Group (E-mail)" <www-rdf-interest@w3.org>
The Stanford RDF API uses the concept of an RDF model. I've found this a useful concept for my database implementation, but I'm a bit concerned that I may be interpreting the idea differently from others. I've written here my understanding of the concept and a little bit of schema to support it. My appologies if this all seems obvious, but there are some subtlties which are important. Its not really my place to be documenting this as it is the work of others, but I feel the need for a description which is a bit more formal than currently exists so I offer this as a strawman. I've seen some discussion in the archive get a bit confused because of overloading of the word 'model'. For this note, I'm going to use the term StatementSet which I hope will keep me clear of some of those difficulties. If you don't like the switch in terminology, just read 'RDF Model' where ever you see 'StatementSet'. StatementSets ------------- A StatementSet is a set of RDF statements. An RDF XML serialization is a manifestation of a StatementSet. Alternatively, a representation of a StatementSet may be held in a database. There may be many manifestations of the same statement set. A statement may be in none, one or many statement sets. A StatementSet is an RDF resource. As with other RDF resources, a StatementSet may have a URI or may be anonymous. A StatementSet is an abstract resource. The URI of a StatementSet, if it has one, is not the same as the URI of a representation of that StatementSet. For example, the StatementSet that describes the RDF Model of RDF Schema may be held in a file whose URL is 'http://aldabaran.hpl.hp.com/bwm/rdfschema.rdf'. This URI denotes the file holding the representation of the StatementSet. It is not the URI of the StatementSet itself. Because a StatementSet is an RDF resource, RDF statements can be made about a StatementSet. Mutability, Values and Variables -------------------------------- A URI which denotes a StatementSet may denote a mutable or an immutable StatementSet. The digest URI's which Sergey has proposed denote immutable StatementSets. A URI which denotes an RDF description of today weather on the Brecon Beacons denotes a mutable StatementSet. A mutable StatementSet can be thought of as a variable which at any moment in time, has a value which is a constant StatementSet. Application of StatementSets ---------------------------- StatementSets are basically a mechanism for aggregating a bunch of statements. The aggregation is a useful concept for implementation, enabling an implementation in a database for example to operate on a specific group of statements. I have found it very useful for this. StatementSets are a lighter weight mechanism than reification for being able to make statements about aggregates of statements. Schema ------ It would be presumptive to start sticking things in the RDF namespace and I'm not sure what common etiquette in situation like this is. The following schema is written in terms of a namespace prefix rdfx with a temporary url, just to make it clear that this is an eXperimental proposal. <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:rdfx="http://mesa.hpl.hp.com/bwm/ss-schema#"> <rdfs:Class rdf:about="http://mesa.hpl.hp.com/bwm/ss-schema#StatementSet"> <rdfs:subClassOf>http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource</rdfs:s ubClassOf> <rdfs:label xml:lang="en">Model</rdfs:label> <rdfs:label xml:lang="fr">Modele</rdfs:label> <rdfs:comment>A set of RDF statements</rdfs:comment> </rdfs:Class> <rdf:Property about="http://mesa.hpl.hp.com/bwm/ss-schema#mutable"> <rdfs:label xml:lang="en">mutable</rdfs:label> <rdfs:comment>Indicates whether a StatementSet can change</rdfs:comment> <rdfs:domain rdf:resource="http://mesa.hpl.hp.com/bwm/ss-schema#StatementSet"/> </rdf:Property> <rdf:Property about="http://mesa.hpl.hp.com/bwm/ss-schema#manifestationOf"> <rdfs:label xml:lang="en">manifestation of</rdfs:label> <rdfs:comment>Indicates the subject is a manifestation of the object</rdfs:comment> <rdfs:domain rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Resource"/> <rdfs:range rdf:resource="http://mesa.hpl.hp.com/bwm/ss-schema#StatementSet"/> </rdf:Property> </rdf:RDF> Syntactic Support ----------------- If the concept of StatementSet finds favour, then it would be useful to consider some syntactic support in the XML serialization. It would be useful to specify the URI for the StatementSet the serialization manifests. This would I think solve a problem with the Stanford RDF API. Brian McBride HPLabs
Received on Tuesday, 2 May 2000 08:51:29 UTC