- From: Danny Ayers <danny.ayers@gmail.com>
- Date: Mon, 14 Aug 2006 09:55:00 +0200
- To: "Richard Newman" <r.newman@reading.ac.uk>
- Cc: "Max Polk" <maxpolk@gmail.com>, "Semantic web list" <semantic-web@w3.org>
On 8/14/06, Richard Newman <r.newman@reading.ac.uk> wrote: > > Hi Max, What Richard said. Another couple of cents worth. I reckon it's worth bearing in mind that the RDF specs are layered. RDF, the base layer defines 3-part statements: subject, predicate, object where * subject is a resource identified globally (with a URI) or local to the data/document (as a bnode) * object is a resource (URI-identified or bnode) or literal (which can have a datatype) * predicate is a relation between the subject and object that is asserted to be true, the relation being a resource identified by a URI, in other words the subject has the given property with the value in the object Because a resource that appears in a given position in one statement can also appear in a different position in another statement, a set of statements can also be seen as a node & arc graph. RDF itself only provides basic facilities for talking about resources, RDF Schema allows richer description of the relationships between resources, introducing the notion of class membership and hierarchies of classes and properties. Although it isn't a restriction of RDFS, it can be useful not to mix up resources that represent individuals (instances) and those which represent classes or properties. Non-intuitive points are that rdf:type statements and literal datatypes are totally different things. rdf:type only says a resource is a member of a class, the resource can also be a member of other classes. An rdfs:Class is more like a set than a programming language class. RDF(S) generally follows the open world assumption, that anything you don't know is just unknown (rather than false). So e.g. a resource may well be a member of other classes that you don't know about. If you're used to object-oriented languages, then it may help to think of everything in RDF as public static final (with the exception of bnodes which private), with multiple inheritance. Cheers, Danny. -- http://dannyayers.com
Received on Monday, 14 August 2006 07:55:19 UTC