W3C Technology and Society Domain The Semantic Web Home Page

I just wanted to get this out there, again.

Easiest Demo would be to put the parser in Ontaria, I guess?

We need test cases here, though.

Semantic XML

Bringing XML Data into the Semantic Web Stack

With a fairly simple technique, we can read and write RDF data in a natural XML format. This is probably much easier to adopt than RDF/XML.

Contents:

1. Example

2. The Rules

2.1. Class, Datatype, and Property Elements

In general, each element corresponds to either a node or an arc. When a class or dataname name is used as the element tag, we have a node. When the tag is a property name, it's an arc. In general, we need to alternate between nodes and arcs. Property arcs can also be expressed using XML attributes.

The machine needs to dereference the namespace/tag URIs to tell which tags are which kind of name, unless it has been given local information or some kind of over-ride. For human readers, the capitalization of the first letter can be used.

<Book>
   <dc:title>Weaving The Web</dc:title>
   <dc:author>
      <foaf:Person>
         <foaf:name>Tim Berners-Lee</foaf:name>
      </foaf:Person>
   </dc:author>
</Book>
  

2.2. Special Tags

2.2.1. sx:uri

This tag works syntactically like a property name, but allows the URI for a resource to be communicated.

2.2.2. sx:qname

Can be used to get shorter URIs, and also bNodes by using the psuedo-prefix "_".

2.2.3. sx:List

Appears like a class name, but causes the content to be parsed as element in a list; an abreviation for rdf:first/rdf:rest/rdf:nil.

2.3. Stripe Skipping

2.3.1. Omit Class Name

You can skip the class name if it's rdf:Resource.

<foaf:Person qname="w3c:sandro">
   <foaf:friend>
      <foaf:name>Eric Prud'hommeaux</foaf:name>
   </foaf:friend>
</foaf:Person>

Note that a little RDFS inference would tell us the skipped node is actually an instance of foaf:Person.

2.3.2. Omit sx:content/sx:List

You can omit the nested pair of elements (sx:content, sx:List), putting one Class or Datatype element inside a Class element.

There's one problem here: if the list is empty, this abreviation technique will produce the wrong results unless the parser has access to the XML schema, and the schema gives suitable content for the Class element

3. Parsing

4. Results


Sandro Hawke, W3C
$Id: Overview.html,v 1.6 2005/06/24 22:33:40 sandro Exp $