Re: Database schema advice

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