On 24th February, 1999, the Resource Description Framework (RDF) Model and Syntax Specification was released as a W3C Recommendation. Metadata is data about data and W3C's main thrust in this area is the Resource Description Framework (RDF) which is the language to represent metadata.
Given an application domain, such as library cataloguing, it is necessary to define the domain vocabulary (author, title etc) and the relationships that exist between entities. RDF provides a language for expressing those vocabularies and relationships. As metadata may come from more than one vocabulary (for example, a library catalogue and commercial data such as price), RDF must allow metadata to come from different vocabularies.
The RDF Model and Syntax Specification defines the basic data model of RDF and how that data model is expressed in XML.
The RDF Schema Specification is a Proposed Recommendation published on the 3rd March 1999 that provides a language for describing a domain vocabulary (those properties that apply to resources in the domain) and the corresponding semantics. There is a core vocabulary and an ability to express relationships. For example, it would be possible to say that author is a sub-class of human which is a sub-class of animal. Humans are animals that have only 2 legs. We will not go into the RDF Schema Specification here but will concentrate on the RDF Model and how you write it.
An RDF model is a way of defining the value of a property associated with a resource.
The resources can be web pages, books, HTML elements or whatever. The properties can be attributes or relations used to describe the resource. The value is the current value of that property. The diagram above can be thought of as an RDF statement that has a subject, predicate and object.
To make this more concrete we could have the following RDF statement:
which states that the web page: http://www.ral.uk/document.html has as author Bob Hopgood. So you can read an RDF statement as:
Subject HAS AS predicate object.
Now what does that statement look like in RDF syntax:
<RDF xmlns="http://www.w3.org/TR/REC-rdf-syntax#"> <RDF:Description about="http://www.ral.uk/document.html"> <A:author xmlns:A="http://www.schema.org/"> Bob Hopgood </A:author> </RDF:Description> </RDF>
The RDF statement states that the namespace being used in XML is the RDF namespace. The next tag is RDF:Description. The RDF prefix indicates that it is a tag from the RDF namespace and it is defining an RDF Description. Normally there will be a whole stack of these but we just have the one here.
The RDF Description tag has an attribute about which defines the resource that we wish to make a statement about. Next comes the tricky bit as RDF does not define things called authors or their values. So we have to assume that the Library community have set up a schema that defines authors and possible values. Given that and assuming these have been defined in the A namespace which is described at the location http://www.schema.org, the next statement says that the property we wish to associate with the resource is author and the value of that property is Bob Hopgood.
Now that may not be a very precise way of specifying the author. There may be several people with that name. On the other hand we know that emails postal codes, addresses etc allow us to be more precise in the specification of the author. The question is can we generate a more precise specification of author in RDF?
What we would like to say is something more like this:
And RDF allows us to express just that:
<RDF xmlns="http://www.w3.org/TR/REC-rdf-syntax#"> <RDF:Description about="http://www.ral.uk/document.html"> <A:author xmlns:A="http://www.schema.org/"> <RDF:Description> <A:name>Bob Hopgood</A:name> <A:email>frah@ral.uk</A:email> </RDF:Description> </A:author> </RDF:Description> </RDF>
By nesting the RDF Descriptions we say that the value of the property author is both the name Bob Hopgood and his email address.
You may be rather concerned that it is not always obvious which things are attributes and which appear as tags. The answer with RDF is that it doesn't make a great deal of difference as a tag set exists which mirrors the attribute set for compatibility with HTML. So author in the first example could equally as well have been given as an attribute to the Description tag:
<RDF xmlns="http://www.w3.org/TR/REC-rdf-syntax#"> <RDF:Description about="http://www.ral.uk/document.html" A:author="Bob Hopgood" xmlns:A="http://www.schema.org" /> </RDF>
It is also possible to make assertions about assertions so we might have:
Such statements are particularly valuable in areas such as e-commerce where trust is particularly important. This is only a short introduction to the RDF model and its syntax in XML. The Recommendation itself is available at: http://www.w3.org/TR/REC-rdf-syntax/.
The total number of members is 318 with a breakdown:
Full | Affiliate | |
---|---|---|
Americas | 42 | 143 |
Europe | 28 | 65 |
Asia-Oceania | 17 | 23 |
The new Members since January are:
The Esprit Leveraging Action, W3C-LA, that brings you this Newsletter is completing. The official closure was to have been 4th February 1999 but there has been an extension until April to finish off some of the technical work.
The plan is to continue producing this Newsletter monthly as part of the European Offices activities. This is the first issue to be distributed electronically. In the UK, we plan to e-mail existing recipients of the Newsletter a notification when each issue is available on the Web. If you would like to take advantage of this service, we would appreciate you sending an email to: w3c-ral@inf.rl.ac.uk.