Social Graph API – Einführung und Erklärung

Social Graph API – Einführung und Erklärung Google hat am 1.2.08 eine neue Programmierschnittstelle (API) veröffentlicht. Social Graph API ist in der Lage anzuzeigen in welcher Beziehung Webseiten und Personen zueinander stehen. Dabei nutzt Google die bereits bekannten Formate XFN (XHTML Friends Network) und/oder FoaF (Friend of a Friend).

Über XFN wird die Art der persönlichen Verbindung zur verlinkten Website bzw. Nutzerprofil in einem sozialem Netzwerk beschrieben. XFN macht sich dabei das rel -Attribut eines Hyperlinks zunutze.

Beispiel:

<a href="http://lina.beispiel.de/" rel="friend">Lina</a>

Der das rel-Atributt beschreibt hier jemand mit dem man befreundet ist. Ein Kumpel oder guter Freund / eine gute Freundin, den / die man kennt.

Es lassen sich auch mehrere Werte miteinander kombinieren:

<a href="http://lina.beispiel.de/" rel="friend met">Lina</a>

Hier werden zwei Werte durch ein Leerzeichen getrennt. Der Wert met beschreibt hier zusätzlich jemand, mit dem man sich persönlich getroffen hat.

Die vollständige Liste der Werte kann bei Wikipedia nachgelesen werden:
XHTML Friends Network

FoaF ist ein Standard zur Speicherung von persönlichen Daten (u.a. Name, Alter, Geschlecht, E-Mail-Adresse, Beruf usw.). Außerdem werden der Person bekannten Menschen gelistet. Die Daten werden im RDF-Schema beschrieben.

Beispiel eines RDF-Dokuments mit FoaF-Angaben aus Wikipedia:

<rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"&gt;</rdf:rdf>
 
<!-- Informationen zu einer Person: -->
<foaf:person xml:lang="en"></foaf:person>
 
<!-- Name: -->
<foaf:name>Jimmy Wales</foaf:name>
 
<!-- E-Mail-Adresse: -->
<foaf:mbox rdf:resource="mailto:jwales@bomis.com"></foaf:mbox>
 
<!-- private Webseite: -->
<foaf:homepage rdf:resource="http://www.jimmywales.com/"></foaf:homepage>
 
<!-- Nickname: -->
<foaf:nick>Jimbo</foaf:nick>
 
<!-- Foto: -->
<foaf:depiction>
rdf:resource="http://upload.wikimedia.org/wikipedia/commons/1/19/Jimbo_Wales_in_France_cropped.jpg" /&gt;</foaf:depiction>
 
<!-- Die Person ist interessiert an folgenden Themen: -->
<foaf:interest></foaf:interest>
 
<!-- Wikipedia-Website -->
<rdf:description rdf:about="http://www.wikimedia.org/">
<dc:title>Wikipedia, The Free Encyclopedia</dc:title>
</rdf:description>
 
<!-- Die Person kennt folgende andere Personen: -->
<foaf:knows></foaf:knows>
 
<!-- Informationen zu einer anderen Person: -->
<foaf:person>
<foaf:name>Angela Beesley</foaf:name>
</foaf:person>

Weitere Informationen bei Wikipedia oder auf der Website des FoaF-Projekts.
Leigh Dodd bietet auf seiner Website übrigens einen “FOAF-a-Matic” an mit dem man sich ein solches Dokument online erstellen lassen kann.

Der Vorteil bei der Nutzung von Social Graph ist folgender: Wenn man sich beispielsweise im Netzwerk B anmeldet so holt mir die API von Netzwerk A die bereits gespeicherten Daten (persönliche Informationen wie Adresse, E-Mail Adresse etc. als auch die persönlichen Verbindungen (”Friends”) und man erspart sich das lästige neu eingeben seiner Daten. Das persönliche Netzwerk kann so außerdem sehr leicht auf neuen Plattformen eingeladen werden. Wie die Einladungen von den Nutzern angenommen werden wird sich zeigen, ich selbst befürchte das man über Social Graph dann ständig von seinen Freunden aus irgendwelchen Netzwerken Einladungen erhält was ganz schön nerven kann. ;-)

Um Kontrolle darüber zu haben wo und welche Daten von einem gespeichert sind und wer auf einen verlinkt bietet Google hierzu den “Social Debugger” an.

Die Verwendung von Social Graph:
Social Graph ist pro Benutzer auf maximal 50.000 Abfragen pro Tag begrenzt. Überschreitet man das Volumen wird der Account gesperrt. Bei Anwendungen die mehr als 50.000 Abfragen pro Tag benötigen kann das Volumen erhöht werden, hierfür muss man sich mit Google in Verbindung setzen.

Die API ist recht simpel, man spricht sie folgendermaßen an:

http://socialgraph.apis.google.com/lookup?
<parameter>&amp;
<parameter>&amp;
<parameter></parameter></parameter></parameter>

und bekommt die Ergebnisse in JSON zurück.

Die verwendeten Parameter können hier nachgelesen werden:
Google Social Graph API - Request Parameters

Fertige Beispielanwendungen in PHP findest du hier:
http://diso.googlecode.com/svn/php/sgapi/

und das ganze gibt es auch schon für Perl bei CPAN:
http://search.cpan.org/~simonw/Net-SocialGraph-1.1/lib/Net/SocialGraph.pm

Projektseite von Social Graph:
http://code.google.com/apis/socialgraph/

Und zum Schluss eine kleine Einführung vom Social Graph Entwickler Brad Fitzpatrick der sich bereits vor seiner Einstellung bei Google mit dem Thema beschäftigte:

Kommentare

Schreibe einen Kommentar




XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

:-D 8-) >-( :-| ;-) ;-( :!! :?? :ups :-o :-S :-p >-D more »