Friend of a Friend (FOAF)

Introduction

Friend-Of-A-Friend (FOAF) est un langage machine qui permet de décrire les personnes et leurs réseaux de relations .Il est une ontologie de base qui est utilisé par de nombreux autres projets, y compris l’API Google Social Graph et FOAF + SSL .

-Il fournit un vocabulaire pour décrire qui l’on est, ce qui nous intéresse et quels sont nos amis.

-Certains l’ont utilisé pour mettre en ligne leurs profils personnels , pointant à leurs tours vers les profils de leurs connaissances.

-Ce réseau de fichiers FOAF publiés sur le Web constitue un véritable « réseau social », directement compréhensible par les machines.

-Cependant, ces informations restent peu nombreuses, sans commune mesure avec les millions de données recueillies par certaines applications sociales (« social softwares ») propriétaires, telles Friendster ou Orkut.

Il intègre trois types de réseau : les réseaux sociaux de la collaboration humaine , l’amitié et d’association, réseaux de représentation qui décrivent une vue simplifiée d’un univers de bande dessinée sur le plan factuel , et réseaux d’information qui utilisent reliant Web pour partager descriptions publiées indépendamment de ce monde inter- connecté.

FOAF dépend lourdement sur les normes du W3C travail , en particulier sur le langage XML , les espaces de noms XML , RDF , OWL etc . Tous les documents FOAF doivent être bien formés documents RDF .Le vocabulaire FOAF est identifié par l’URI : http://xmlns.com/foaf/0.1/ .

 

Diagramme de classe

Grâce à l’outil Protégé, on a pu étudié  l’ontologie FOAF. Il y a 2 types d’éléments pour présenter l’ontologie FOAF, à savoir, les classes et les propriétés. La diagramme de classe de l’ontologie FOAF est représenté sur la figure ci-dessous dont les propriétés sont présenté par des flèches.

foafspec

Classes principaux

  • Agent / Person / Organisation

La classe de l’agent est la classe des agents . Une sous- classe bien connue est Person, représentant les gens . D’autres types d’ agents comprennent Organisation et Groupe .

  • Group

La classe Group représente une collection d’ agents individuels.

  • Document

La classe de document représente les choses qui sont , au sens large , «documents» . La classe d’image est une sous-classe de document.

  • OnlineAccount

La classe OnlineAccount représente la fourniture d’un agent . La propriété compte de la classe agent est utilisé pour indiquer les comptes qui sont associés à l’agent.

  • Project

La classe de projet représente des «projets» .

 

Exemple de syntaxe

PersonalProfileDocument décrire les propriétés de la personne qui est l’auteur du document . Il y a juste une personne qui est décrite dans le document , la personne qui l’a faite et qui sera son primaryTopic .

<foaf:PersonalProfileDocument rdf:about= » »>

<foaf:maker rdf:resource= »#me »/>

<foaf:primaryTopic rdf:resource= »#me »/>

<admin:generatorAgent rdf:resource= »http://www.ldodds.com/foaf/foaf-a-matic »/>

<admin:errorReportsTo rdf:resource= »mailto:leigh@ldodds.com »/>

</foaf:PersonalProfileDocument>

La classe Person représente personnes. Quelque chose est une personne si elle est une personne . Nous ne nitpic pas de savoir si elles sont en vie , mort, réelle ou imaginaire. La classe Person est une sous- classe de la classe d’agent, puisque tous les gens sont considérés comme des «agents» dans FOAF (D’autres types d’ agents comprennent Organisation et Groupe).

<foaf:Person rdf:ID= »me »>

<foaf:name>Daniel Schneider</foaf:name>

<foaf:title>Dr.</foaf:title>

<foaf:givenname>Daniel</foaf:givenname>

<foaf:family_name>Schneider</foaf:family_name>

<foaf:nick>Kaspar</foaf:nick>

<foaf:mbox_sha1sum>e4f9d7616f0226445e30e2379608153f3d9272a8</foaf:mbox_sha1sum>

<foaf:homepage rdf:resource= »http://tecfa.unige.ch/tecfa-people/schneider.html »/>

<foaf:workplaceHomepage rdf:resource= »http://Tecfa.unige.ch/ »/>

<foaf:workInfoHomepage rdf:resource= »http://tecfa.unige.ch/tecfa-people/schneider.html »/>

<foaf:schoolHomepage rdf:resource= »http://www.unige.ch »/>

Le property knows se rapporte qu’une personne à une autre personne qu’il ou elle connaît .Si quelqu’un connaît une personne , il serait habituel pour la relation à être réciproque . Mais cela ne signifie pas qu’il n’y a aucune obligation pour les deux parties de publier FOAF décrivant cette relation .

<foaf:knows>

<foaf:Person>

<foaf:name>Melie Genet</foaf:name>

<foaf:mbox_sha1sum>1be705b927eb0b6c944acfa09ee819d4c5c81a80</foaf:mbox_sha1sum>

 <rdfs:seeAlso rdf:resource= »http://tecfa.unige.ch/perso/staf/genet/foaf.rdf »/>

 </foaf:Person>

</foaf:knows>

 

<foaf:knows>

<foaf:Person>

<foaf:name>Rolf Wipfli</foaf:name>

<rdfs:seeAlso rdf:resource= »http://tecfa.unige.ch/etu-maltt/maya/wipfli/stic1/ex1/foaf.rdf »/></foaf:Person>

</foaf:knows>

</foaf:Person>

</rdf:RDF>
image_2.0.0

Les buts de FOAF

L’idée de base de FOAF est simple: le web est pour connecter les affaires, et FOAF nous propose une façon pour trouver les connections importants pour nous sur le Web. Les buts origines de RDFWeb et FOAF sont comme suivantes:

  1. On veut une meilleure façon de traçage de données fragmentées actuellement présentées sur le Web.
  2. On veut d’être capable de trouver les documents sur Web en fonction de leurs propriétés et interrelations.
  3. On veut d’être capable de trouver des informations des gens en fonction de leurs publications, de leurs détails d’emploi, et les leurs intérêts.
  4. On veut être capable de partager des annotations, des notes, des données utiles en utilisant une infrastructure commune.
  5. On veut que le Web soit un système de recherche qui ressemble à une base de données.
  6. On a besoin qu’il soit distribué, décentralisé, et que les contenus soit  neutres.

RDF Web / FOAF, devrait aider le Web offrir ces services de manière décentralisée.

Usage et outillage

FOAF est beaucoup utilisé dans les technologie de web. Les suivants sont des exemples d’utilisations :

  • Web ID , utilise FOAF pour identifier de manière unique une personne , entreprise, organisation , ou un autre agent en utilisant une URI .
  • LiveJournal, une communauté virtuelle où ses utilisateurs peuvent tenir un blog ou un journal, fournit également les profils et les relations sociales de FOAF.
  • Google Social Graph API décrit des  profiles en utilisant FOAF et XFN.

Il existe aussi des outils pour générer des fichiers FOAF, entre outre :

  • FOAF-a-matic
  • FOAF Generator Sample App

Sources utilisés :

  1. FOAF Vocabulary Specification 0.99 (http://xmlns.com/foaf/spec/#term_Agent)
  2. FOAF Semantic Web(http://semanticweb.org/wiki/FOAF)
  3. FOAF Project Homepage(http://www.foaf-project.org/)
  4. FOAF-a-matic (http://www.ldodds.com/foaf/foaf-a-matic)

Zhichuan JIN
Haoyue CHEN
Yuancheng PENG

Ce contenu a été publié dans Web Sémantique. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *