I have a web 3.0 name !

Given the time I have been speaking about foaf, and given that I even went to the Foaf Galway conference a couple of years ago, it's long been overdue for me to put together my foaf file.

So today I have. I now have left behind me my old rusty human name, and assigned myself a Web 3.0 name. I am http://bblfish.net/people/henry/card#me :-). Friends can call me bblfish:me .

Notes
  • that file is served by default as rdf/xml. But if you ask for it to be served as N3 then you will get my original hand written version:
    
    curl -L -H "Accept: text/rdf+n3" http://bblfish.net/people/henry/card
    
    
  • I should point out that you don't have to give yourself a URL. That is just something Tim Berner's Lee recommended recently, to make it easier to find information on the semantic web. You can also choose to be identified by one of the inverse functional properties, such as your email address or home page. This is how I identify Simon Phipps in the foaf file. He has the inverse functional relation foaf:mbox_sha1sum to the string "ee513cd82fea84825b803a44228fd9b765baf6d5".
  • A slightly tricky thing is knowing how the directory structure of your ftp server relates to the mapping of your web server. In my case for example I had to place my file at /usr/home/hjs/www/htdocs/people/henry on bblfish.net for it to appear at http://bblfish.net/people/henry/card. Clearly if this is going to get popular it will be important to use a RESTful protocol suchy as WebDav or Atom APP to hide all this complexity from the end user.
  • Oh, and of course to get the nice HTTP magic, I just followed the Best Practice Recipes for Publishing RDF Vocabularies, though perhaps it was not stricly necessary to work so hard at that. (I just did not want to have a name such as ...foaf.rdf#me, which would have tied my name a little to closely to the rdf/xml representation.)

    Again, as mentioned in the previous point, using WebDav or Atom APP would really simplify the task of publishing such files. One just need to specify the mime type of the application during the HTTP PUT or POST operation, instead of having to do the following...

    Below is the .htaccess file I am using inspired by the above best practices guide.

    > cat .htaccess 
    # Turn off MultiViews
    Options -MultiViews
    
    # Directive to ensure \*.rdf files served as appropriate content type,
    # if not present in main apache config
    AddType "application/rdf+xml" .rdf
    AddType "text/rdf+n3; charset=utf-8" .n3
    
    
    # Rewrite engine setup
    RewriteEngine On
    RewriteBase /people/henry
    
    # Rewrite rule to serve HTML content from the vocabulary URI if requested
    #RewriteCond  text/html [OR]
    #RewriteCond  application/xhtml\\+xml [OR]
    #RewriteCond  \^Mozilla/.\*
    #RewriteRule \^card$ card.rdf [R=303]
    
    # Rewrite rule to serve N3 content from the vocabulary URI if requested
    RewriteCond  text/rdf\\+n3
    RewriteRule \^card$ card.n3 [R=303]
    
    
    # Rewrite rule to serve N3 content from the vocabulary URI if requested
    # Rewrite rule to serve RDF/XML content from the vocabulary URI if requested
    RewriteCond  application/rdf\\+xml
    RewriteRule \^card$ card.rdf [R=303]
    
    
    # Rewrite Rule to redirect cards to foaf. timbl has me down as card
    RewriteRule \^foaf$ card [R=303]
    
    # Choose the default response
    # ---------------------------
    
    # Rewrite rule to serve the RDF/XML content from the vocabulary URI by default
    RewriteRule \^card$ card.rdf
    
    # Rewrite rule to serve HTML content from the vocabulary URI by default (disabled)
    # (To enable this option, uncomment the rewrite rule below, and comment
    # out the rewrite rule directly above)
    # RewriteRule \^example3$ example3-content/2005-10-31.html [R=303]
    
    
  • Notice that my name is http://bblfish.net/people/henry/foaf#me, but the document you get when you click on the link is either http://bblfish.net/people/henry/foaf.n3 or http://bblfish.net/people/henry/foaf.rdf. I am not a document.
  • Sorry, I have not placed as many relations to people I know as I should in my foaf file. That's quite a lot of work. I'll be doing that next.
  • Now for the fun. My URL works with Tim Berner's Lee's Tabulator. (After setting the Firefox security preferences, as explained in the "Help" section). By highlighting lattitude and longitude columns, then clicking save current query, one can get locations to appear on the Maps tab! neat! I have placed an image online here for those who just want a quick impression of what it does.
Comments:

If you are bblfish.net:me, won't people get you mixed up with bblfish.com:me? j/k ;-) I think foaf is cool, and I've been meaning to get involved for a while. I can't figure out why there aren't more tools for it.

Posted by Chris Quenelle on August 07, 2006 at 02:46 PM CEST #

If you are bblfish.net:me, won't people get you mixed up with bblfish.com:me? j/k ;-)
Understood :-)
Just to clarify, when I used the shorthand bblfish:me I was supposing that bblfish is a prefix defined in N3 has follows
@prefix bblfish: <http://bblfish.net/people/henry/foaf#>

But you are right: if people made the mistake often enough, I could also give myself a bblfish.com name, and then add in each file a statement such as

bblfish_net:me owl:sameAs bblfish_com:me .

But I don't think it will come to that ;-)
I think foaf is cool, and I've been meaning to get involved for a while. I can't figure out why there aren't more tools for it.
You can use the foaf-a-matic tool to put yours together. But you are right. There are not enough tools. If you look up the last comment in RDF and Metcalf's law you will find a link to a thread on the W3C Semantic Web mailing list with quite a few links to tools in development on OSX. My next version of BlogEd really should be produce a foaf file for each user. Hopefully as more developers start playing with this, we will have more tools to play with.

Posted by Henry Story on August 07, 2006 at 03:04 PM CEST #

The .htaccess file above is much more complex than needed I realised. First, there is no need for 303 redirection here, because I use # urls in my foaf file. So none of the URLs is a name for a non information resource. We may as well just have the /people/henry/card resource return different representations depending on the request. We can maintain the specialised resources card.n3 and card.rdf for names of resources that return a particular representation in preference to others.

So here is one that is much simpler. Create a .htaccess file containing the following:

# Turn on MultiViews
Options MultiViews

# Directive to ensure \*.rdf files served as appropriate content type,
# if not present in main apache config
AddType "application/rdf+xml" .rdf
AddType "text/rdf+n3; charset=utf-8" .n3

AddHandler type-map .var

Then create a card.var file that is not world readable with the following content:

URI: card

URI: card.n3
Content-type: text/rdf+n3

URI: card.rdf
Content-type: application/rdf+xml

It would be nice if one could define a pattern like this for a whole tree of directories.

Posted by Henry Story on December 05, 2007 at 07:03 PM CET #

Henry -- I'm trying to work this out for myself, so this is post is really useful. But what would you do if you also want an HTML representation of your card data?

Posted by Bruce D'Arcus on March 16, 2008 at 10:28 AM CET #

Hi Bruce, the response is a bit late I know.

To get the html in there should be quite easy.

You would add an html representation and have that be returned if the default request is for text/html. You could place all your rdf in your html using rdfa, or you could link you html to one of the rdf representations. In fact you can link any of the representations to the others. I use the iana:alternate relation in my foaf file to do this, which I have taken from atom. Not sure how widespread that is yet in rdf land or if there is a better known relation.

Posted by Henry Story on July 11, 2008 at 03:38 AM CEST #

I really believe that these social networks will have a huge impact on what we can accomplish as groups, it'll help us be very organized and communicate.

Posted by Ed hardy on November 10, 2009 at 09:46 PM CET #

Post a Comment:
Comments are closed for this entry.
About

bblfish

Search

Archives
« July 2014
MonTueWedThuFriSatSun
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   
       
Today