Twine’s dual personality

Share this article

With Twine, what you see on screen tells only half the story. Pull back the curtain and it reveals a whole new side just itching to play with the other kids on the block.

When I log on and view my profile page, I see this:

Twine screenshot

A Semantic Web client sees this:


<rdf:RDF>
<app:User rdf:about="http://www.twine.com/user/davidseth">
<web:views rdf:datatype="https://www.w3.org/2001/XMLSchema#nonNegativeInteger">17</web:views>
<radar:createdDate rdf:datatype="https://www.w3.org/2001/XMLSchema#dateTime">2008-03-11T19:28:23.722-0500</radar:createdDate>
<radar:lastModifiedDate rdf:datatype="https://www.w3.org/2001/XMLSchema#dateTime">2008-03-14T18:47:51.546-0500</radar:lastModifiedDate>
<basic:url rdf:resource="http://davidseth.net"/>
<basic:url rdf:resource="https://www.sitepoint.com/articlelist/497"/>
<basic:url rdf:resource="http://boab.info"/>
<basic:url rdf:resource="http://davidseth.net/foaf.rdf"/>
<radar:isPerson rdf:resource="http://www.twine.com/item/1tx4lphj-g5"/>
<app:status rdf:datatype="https://www.w3.org/2001/XMLSchema#string" xml:space="preserve">linkinging it all together in the tropics</app:status>
<app:location rdf:datatype="https://www.w3.org/2001/XMLSchema#string" xml:space="preserve">Townsville, QLD Australia</app:location>
</app:User>
</rdf:RDF>

Now the graph view:

twine-graph-davidseth
Graph 1 – Twine (the yellow dot is me)

While the graph above is not going to become the next piece on display in the Louvre, it does include at least one beautiful thing.

The humble URL

That beautiful thing is the URL. This represents the concept of *me* as <http://www.twine.com/user/davidseth>. Technically this is a URI, but the entire point of the web of data is having things connected and discoverable. This means that I should be able to go to <http://www.twine.com/user/davidseth> and actually GET (do you see the HTTP/REST connection) the meaning.

Things are getting interesting

This is where the magic of linked data comes in. I can take my FOAF file (which is just a text file) and get this graph:

twine-graph-foaf-final
Graph 2 – FOAF (the yellow dot is me and the red dot is Townsville)

And lastly I can GET the place where I live <http://dbpedia.org/resource/Townsville> and this is the graph:

twine-graph-townsville
Graph 3 – Dbpedia (the red dot is Townsville)
Connect the dots

You might have noticed the coloured dots on the above graphs.

  • Graph 1 has a yellow dot that represents me on Twine.
  • Graph 2 also has a yellow dot on representing FOAF me and it has a red dot because I live in Townsville.
  • Graph 3 has a red dot representing Townsville.

Because we are dealing with an RDF graph these separate datasets can be easily merged to create a larger and more complete graph. A path is created and can be easily traversed from my Twine profile -> to my FOAF profile -> to the Dbpedia Townsville entry.

twine linked data

This is the really cool part of the Semantic Web, someone really thought about this stuff :) I can query a data service (Twine), a text file (my FOAF file) and a website (Dbpedia) all with one SPARQL query.

Giant Global Graph
Giant Global Graph

It is just one big Giant Global Graph ready to be mined by creative people to create the next great mashup.

GGG photos copyright: http://www.flickr.com/people/hotmeteor/ – prawn, Cognitive Science Research Unit – Universite Libre de Bruxelles – graph

David PetersonDavid Peterson
View Author
Share this article
Read Next
Get the freshest news and resources for developers, designers and digital creators in your inbox each week