- From: Juan Sequeda <juanfederico@gmail.com>
- Date: Tue, 11 Oct 2011 17:24:33 -0500
- To: Jesse Weaver <weavej3@rpi.edu>
- Cc: "semantic-web@w3.org Web" <semantic-web@w3.org>, public-lod@w3.org
- Message-ID: <CAMVTWDwE+DAcdXBmYQRWegh_v=hC2xcijgKY5KZyHndO35i3eA@mail.gmail.com>
Really cool Jesse! Now imagine linking this data to the ISWC 2011 metadata for the Linked Data-a-thon :) http://iswc2011.semanticweb.org/calls/linked-data-a-thon/ Don't forget, deadline is Oct 15.. and anybody can participate!!! Juan Sequeda +1-575-SEQ-UEDA www.juansequeda.com On Tue, Oct 11, 2011 at 4:35 PM, Jesse Weaver <weavej3@rpi.edu> wrote: > APOLOGIES FOR CROSS-POSTING > > In this email, I would like to reveal a bit more about the Linked Data > provided through Facebook's Graph API. > > > AUTHENTICATION > > Before I get started, I have been asked about how to get an access token. > Information regarding authentication can be found at > https://developers.facebook.**com/docs/authentication/<https://developers.facebook.com/docs/authentication/>. If you just want a quick way to obtain a security token, just go to > https://developers.facebook.**com/docs/reference/api/<https://developers.facebook.com/docs/reference/api/>and click on one of the example "connections" URLs and it will automatically > generate a temporary access token (in the URL) for you (if you're logged in > to your Facebook account). > > > MORE THAN JUST USERS > > The main thing I want to point out is that the Graph API is much more than > just basic information about users. See https://developers.facebook.** > com/docs/reference/api/<https://developers.facebook.com/docs/reference/api/>for details. The Facebook graph includes things like pages, checkins, and > links; it also includes "connections" (edges between things in the graph). > Anything you can get from the Graph API can be obtained in Turtle via HTTP > content negotiation. Simply include text/turtle in the Accept header (with > a higher q preference than more typical mime types if necessary). One of > the most interesting features of the Graph API is the search mechanism: > > https://graph.facebook.com/**search?until=yesterday&q=** > semantic+web&access_token=<https://graph.facebook.com/search?until=yesterday&q=semantic+web&access_token=> > <**ACCESS_TOKEN> > > This will include information about a variety of things such as statuses, > links, photos, and videos. (At this point, I feel like I should point out > the obvious, that is, that the information you see is only whatever is > accessible given the access token provided.) > > Another cool feature is the ability to ask for information about any number > of IDs, where an ID could even be the URL of something included in the Open > Graph. For example: > > http://graph.facebook.com/?**ids=http://www.cs.rpi.edu/~** > weavej3/index.xhtml,**jesserweaver<http://graph.facebook.com/?ids=http://www.cs.rpi.edu/~weavej3/index.xhtml,jesserweaver> > > This includes information about my RPI website (which is in the Open Graph) > and myself (jesserweaver). > > > LINKED DATA URIs > > All of the HTTP(S) URIs in the RDF are dereferenceable. Most of the URIs > are hash-URIs (that is, strip off the fragment and fetch the document, > returning 200 OK), but there are some slash-URIs (for example, > http://graph.facebook.com/**schema/~/data<http://graph.facebook.com/schema/~/data>) which 303 redirect. There are also information resources. It's quite > varied. > > > SCHEMA > > This leads me to discuss the schema (or ontology, or whatever you want to > call it). Even the URIs representing properties and classes are > dereferenceable. For example, http://graph.facebook.com/** > schema/link#type <http://graph.facebook.com/schema/link#type> is the URI > identifying the link class, and http://graph.facebook.com/**schema/link<http://graph.facebook.com/schema/link>will return information (with 200 OK) about the link class. Information > includes relevant properties, possibly specifying whether a relevant > property is a owl:DatatypeProperty, owl:ObjectProperty, and/or > owl:InverseFunctionalProperty. There may also be rdfs:domain and/or > rdfs:range specified where appropriate. > > There are also properties that are not associated with a specific class, > and these (generally) use the http://graph.facebook.com/**schema/~/<http://graph.facebook.com/schema/~/>namespace URI. Properties using this namespace have very vague semantics. > For example, the property identified by URI http://graph.facebook.com/** > schema/~/data <http://graph.facebook.com/schema/~/data> (which 303 > redirects to http://graph.facebook.com/**schema?tag=data<http://graph.facebook.com/schema?tag=data>) has the following description: > > "A tag having no semantics beyond the conventional semantics of the JSON > key \"data\" as used in the Facebook Graph API." > > So if never_used_as_a_key is never used as a key in the Graph API JSON, > then the property http://graph.facebook.com/**schema/~/never_used_as_a_key<http://graph.facebook.com/schema/~/never_used_as_a_key>is essentially meaningless. There are two special cases, however. One is > http://graph.facebook.com/**schema/~/id<http://graph.facebook.com/schema/~/id>which is a owl:InverseFunctionalProperty with rdfs:range xsd:string. The > other exception is any URI beginning with http://graph.facebook.com/** > schema/~/ <http://graph.facebook.com/schema/~/> followed by an optional > underscore and then a non-negative integer. These properties are an attempt > at more practical container membership properties. As an example, check out > > http://graph.facebook.com/**schema/~/_14<http://graph.facebook.com/schema/~/_14> > > http://graph.facebook.com/**schema/~/_14<http://graph.facebook.com/schema/~/_14>is a rdfs:subPropertyOf tag: > graph.facebook.com,2011:/**has (the invented, generic, container > membership property) and has an explicitly defined integer index as the > value of the tag:graph.facebook.com,2011:/**index property (something > missing from the RDF container membership properties). > > @prefix rdf: <http://www.w3.org/1999/02/22-**rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>> > . > @prefix rdfs: <http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>> > . > @prefix owl: <http://www.w3.org/2002/07/**owl#<http://www.w3.org/2002/07/owl#>> > . > @prefix xsd: <http://www.w3.org/2001/**XMLSchema#<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/~/<http://graph.facebook.com/schema/~/>> > . > :_14 a rdf:Property ; > rdfs:label "_14" ; > rdfs:comment "A tag having no semantics beyond the conventional > semantics of the JSON key \"14\" as used in the Facebook Graph API." ; > rdfs:subPropertyOf api:has ; > api:index 14 . > > > OPEN GRAPH > > URIs used as properties in the Open Graph (except for those in the > http://ogp.me/ns# and http://ogp.me/ns/fb# namespaces; those URIs go > elsewhere) also redirect to the Graph API schema feature. For example, > http://ogp.me/ns/book#author is a property, and http://ogp.me/ns/book302-redirects to > http://graph.facebook.com/**schema/og/book<http://graph.facebook.com/schema/og/book>(302 instead of 303 because they are hash URIs). For information about Open > Graph, see http://ogp.me and https://developers.facebook.** > com/docs/beta/opengraph/<https://developers.facebook.com/docs/beta/opengraph/>. Please understand that the Graph API and the Open Graph are NOT the same > thing. > > > STATUS OF FB LINKED DATA > > These are just some of the features of the Facebook Graph API Linked Data. > I have been told that Facebook Linked Data is considered experimental and > that continued support depends on the degree of use by developers. > > > I hope this was helpful, and I am happy to attempt to answer any questions. > Please understand, though, that I am not a Facebook employee; I only > recently finished an internship there. > > > Regards, > > Jesse Weaver > Ph.D. Student, Patroon Fellow > Tetherless World Constellation > Rensselaer Polytechnic Institute > http://www.cs.rpi.edu/~**weavej3/index.xhtml<http://www.cs.rpi.edu/~weavej3/index.xhtml> > > >
Received on Tuesday, 11 October 2011 22:25:23 UTC