May 23 2003

My RDF Style

Published by Ian Davis at 4:26 pm under Uncategorized and tagged as

I’ve realised that I’m unconciously using a subset of
the RDF/XML serialization syntax. My mind must have read the spec, absorbed shedloads
of RDF over the years and filtered out all the bits
that aren’t immediately useful. Now that we’re all fired up
about the syntax issues it might be prudent to write them down. So
here are my informal style rules for writing RDF/XML:

  • Do use typed nodes (rss:channel, foaf:Person) – makes the RDF so much more readable.
  • Do use anonymous nodes – assigning a URI is making a long term commitment.
  • Do use xml:lang – we’re using XML for a reason
  • Do use rdf:about instead of rdf:ID – keeps the notation simpler.
  • Do use rdfs:seeAlso, but give some other properties too – let people know where to find out more, but give them something now.
  • Don’t write properties as attributes unless you’re hiding RDF in XHTML – it’s inconsistent.
  • Don’t use collections – their semantics have been removed away anyway
  • Don’t use rdf:parseType – it’s for squeezing random stuff into RDF
  • Don’t use rdf:datatype – maybe can you use a resource instead of a literal?

Using these rule would lead me to write the example from the RDF spec as the following. Note I’ve introduced
another vocabulary to remove those rdf:Descriptions.

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:ex="http://www.example.com/terms/"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">

  <foaf:Document rdf:about="http://www.w3.org/TR/rdf-syntax-grammar">
    <dc:title>RDF/XML Syntax Specification (Revised)</dc:title>
    <ex:editor>
      <foaf:Person>
        <ex:fullName>Dave Beckett</ex:fullName>
        <ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
      </foaf:Person>
    </ex:editor>
  </foaf:Document>
</rdf:RDF>

Comments Off

Comments are closed at this time.