Re: Facebook Linked Data

On 9/26/11 11:16 AM, Sebastian Schaffert wrote:
> But then I would say the server should at least reply with a 30x redirect ;-)

Not necessarily, they choosen to implement indirection internally, 
rather than via HTTP response headers. Naturally, doing via HTTP is more 
flexible and thereby desirable, but we have to accept that "half bread 
is better than none" re. this matter i.e., any kind of indirection is 
better than no indirection re. disambiguation of Data Object ID and 
Address for accessing its Representation.

Kingsley
> Greetings,
>
> Sebastian
>
> Am 26.09.2011 um 17:05 schrieb Alvaro Graves:
>
>> Hi Sebastian,
>>
>> AFAIK it's not a bug, but a feature :). This is done to comply with the httpRange-14 issue (i.e., you can't retrieve a person through HTTP but you can retrieve a document _about_ a person through HTTP). Since a person and a document about a person are different entities, they should have different URIs.
>>
>> http://www.w3.org/2001/tag/issues.html#httpRange-14
>>
>> ----
>> Alvaro Graves
>>
>> On Mon, Sep 26, 2011 at 7:46 AM, Sebastian Schaffert<sebastian.schaffert@salzburgresearch.at>  wrote:
>> Dear Jesse,
>>
>> Thanks for the effort! I am just experimenting with this. If I request my own Vanity URL
>>
>> http://graph.facebook.com/sebastian.schaffert
>>
>> The data I get back is:
>>
>> @prefix rdf:<http://www.w3.org/1999/02/22-df-syntax-ns#>  .
>> @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>  .
>> @prefix owl:<http://www.w3.org/2002/07/owl#>  .
>> @prefix xsd:<http://www.w3.org/2001/XMLSchema#>  .
>> @prefix api:<tag:graph.facebook.com,2011:/>  .
>> @prefix og:<http://ogp.me/ns#>  .
>> @prefix fb:<http://ogp.me/ns/fb#>  .
>> @prefix :<http://graph.facebook.com/schema/~/>  .
>> @prefix user:<http://graph.facebook.com/schema/user#>  .
>> </561666514#>
>>         user:id "561666514" ;
>>         user:name "Sebastian Schaffert" ;
>>         user:first_name "Sebastian" ;
>>         user:last_name "Schaffert" ;
>>         user:link<http://www.facebook.com/sebastian.schaffert>
>>
>>
>>
>> Now the problem I see here is that the URI I requested is not the same URI as used in the subject of the RDF triples. Same holds btw if I request the data using the ID including "#". Which is bad in our case because we filter out triples that do not fulfill this condition to avoid importing "invalid" data.
>>
>> Also, the data should IMHO contain a @base statement defining the base for the</561666514#>, because when importing the data the original URI is sometimes no longer available.
>>
>> Lastly, the returned data does not contain the trailing "." required by turtle (see http://www.w3.org/TeamSubmission/turtle/#sec-grammar-grammar).
>>
>> Are there plans to fix this? For me, the more readable data would look like this:
>>
>> @prefix rdf:<http://www.w3.org/1999/02/22-df-syntax-ns#>  .
>> @prefix rdfs:<http://www.w3.org/2000/01/rdf-schema#>  .
>> @prefix owl:<http://www.w3.org/2002/07/owl#>  .
>> @prefix xsd:<http://www.w3.org/2001/XMLSchema#>  .
>> @prefix api:<tag:graph.facebook.com,2011:/>  .
>> @prefix og:<http://ogp.me/ns#>  .
>> @prefix fb:<http://ogp.me/ns/fb#>  .
>> @prefix user:<http://graph.facebook.com/schema/user#>  .
>> <http://graph.facebook.com/sebastian.schaffert>
>>         user:id "561666514" ;
>>         user:name "Sebastian Schaffert" ;
>>         user:first_name "Sebastian" ;
>>         user:last_name "Schaffert" ;
>>         user:link<http://www.facebook.com/sebastian.schaffert>
>>
>>
>>
>> Am 23.09.2011 um 14:09 schrieb Jesse Weaver:
>>
>>> APOLOGIES FOR CROSS-POSTING
>>>
>>> I would like to bring to subscribers' attention that Facebook now
>>> supports RDF with Linked Data URIs from its Graph API.  The RDF is in
>>> Turtle syntax, and all of the HTTP(S) URIs in the RDF are dereferenceable
>>> in accordance with httpRange-14.  Please take some time to check it out.
>>>
>>> If you have a vanity URL (mine is jesserweaver), you can get RDF about you:
>>>
>>> curl -H 'Accept: text/turtle' http://graph.facebook.com/<vanity-url>
>>> curl -H 'Accept: text/turtle' http://graph.facebook.com/jesserweaver
>>> If you don't have a vanity URL but know your Facebook ID, you can use
>>> that instead (which is actually the fundamental method).
>>>
>>> curl -H 'Accept: text/turtle' http://graph.facebook.com/<facebook-id>
>>> curl -H 'Accept: text/turtle' http://graph.facebook.com/1340421292
>>>>  From there, try dereferencing URIs in the Turtle.  Have fun!
>>> Jesse Weaver
>>> Ph.D. Student, Patroon Fellow
>>> Tetherless World Constellation
>>> Rensselaer Polytechnic Institute
>>> http://www.cs.rpi.edu/~weavej3/
>>>
>>>
>>>
>>>
>>>
>> Sebastian
>> --
>> | Dr. Sebastian Schaffert          sebastian.schaffert@salzburgresearch.at
>> | Salzburg Research Forschungsgesellschaft  http://www.salzburgresearch.at
>> | Head of Knowledge and Media Technologies Group          +43 662 2288 423
>> | Jakob-Haringer Strasse 5/II
>> | A-5020 Salzburg
>>
>>
>>
> Sebastian


-- 

Regards,

Kingsley Idehen	
President&  CEO
OpenLink Software
Web: http://www.openlinksw.com
Weblog: http://www.openlinksw.com/blog/~kidehen
Twitter/Identi.ca: kidehen

Received on Monday, 26 September 2011 15:34:40 UTC