RDF: Simpler if you look at it in a different way
01-Mar-10
RDF is not a format, but a model for data! Daniel Lewis demonstrates how you should model your data in a graphical way and then choose which format.

I have figured out why some people are reluctant to use RDF, and its because they are seeing it as a format and not a model. RDF is a modeling framework, it is not a format!
RDF is supposed to be understood in a visual way:

Which is essentially understood as a triple of URIs:
<<a href="http://myopenlink.net/dataspace/person/danieljohnlewis#this>">http://myopenlink.net/dataspace/person/danieljohnlewis#this> <<a href="http://xmlns.com/foaf/0.1/made><<a href="http://uk.youtube.com/watch?v=oWfaoP1Ti2Q">http://uk.youtube.com/watch?v=oWfaoP1Ti2Q>">http://xmlns.com/foaf/0.1/made><<a href="http://uk.youtube.com/watch?v=oWfaoP1Ti2Q">http://uk.youtube.com/watch?v=oWfaoP1Ti2Q>
And this is basically in a format called n3 (Notation3), another option would be to have it in XML format, but that is very complex to understand (but good for machine reading).
There is generally a way to start implementing your data as RDF:
This really highlights the fact that RDF is not a format, but a model for Data. You model your data in a graphical way and then you choose which format:
- Visualise your data as a set of atomic objects and relationships between them, this is your RDF.
- There are ontologies available, such as FOAF and SIOC which are suited for Social Networking applications.
- Linking out is as important as linking in, a link out will provide more meaning to that data that it is linking from. For example I could say that http://myopenlink.net/dataspace/person/danieljohnlewis#this (<- the “Subject”) owl:sameAs (<- the “Predicate”/”Relation”) http://www.facebook.com/people/Daniel_Lewis/277003772 (<- the “Object”). A Semantic Web application would then be able to work out that danieljohnlewis on myopenlink is the same person as 277003772 on Facebook. (This is where the notion of Linked Data comes in)
- Format your RDF data
- There are a few options. Generally RDF/N3 is suggested for developers who are exploring the Semantic Web, as it is simply a list of URIs. RDF/XML is not suggested for the beginner, as it adds in all of the complexities of XML which don’t really fit in with the simplicity of a triple graph…. but RDF/XML is quite good for machine reading. Generally the format doesn’t matter as they are all interchangeable. Another option is RDF/Turtle.
- Expose your data
- I highly recommend using a Data Server. OpenLink Virtuoso is a very good option as it is fast and reliable, and you can use it as a Data Server, a Web Server and/or a Database Server… it supports SQL and RDF too.
More information
More information is available at these Document Websites:
- Getting into the Semantic Web and RDF using N3 by Tim Berners-Lee
- Notation 3 (Introduction) by Tim Berners-Lee
- RDF/Turtle by Dave Beckett
- Frequently Asked Questions about the Semantic Web, by the W3C
- Homepages for: FOAF (Friend of a Friend), SIOC (Semantically Interlinked Online Communities), SKOS (Simple Knowledge Organisation System), SCOT (Social-Semantic Cloud of Tags) and MOAT (Meaning Of A Tag). Which are all ontologies (aka “Meaningful Schemas” or “Vocabularies”) to fit your data into.
- The Linked Data Starting Point and the Linked Data (Introduction) article by Tim Berners-Lee
- OpenLink Virtuoso homepage, the OpenLink Virtuoso Wikipedia page and the Linked Data Deployment Technical Whitepaper (PDF).
- The Linked Open Data Cloud by Richard Cyganiak <– useful for finding out which data sets you might want to link your data to.
- My recent post about “the divide between business and academia“, “Education in the Linked Data Age” and “the Universe of Discourse” may also be useful.
This article originally appeared on Daniel Lewis' blog page, copyright 2008.
Details
- Author:
- Neil Davey
- Publisher:
- KnowledgeBoard
- Date:
- 01-Mar-10
- Sections:
- Home , News
This article has been read 1818 times.

