<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="ePBLpaper11.css" type="text/css"?>
<?xml-stylesheet href="ePBLpaper11.xsl" type="text/xsl"?>
<!DOCTYPE paper SYSTEM "ePBLpaper11.dtd">
<paper>
  <info>
    <title></title>
    <authors>
      <author>
        <firstname>Mélie</firstname>
        <familyname>GENET</familyname>
        <homepageurl>http://tecfa.unige.ch/perso/staf/genet/</homepageurl>
        <email>genet1@etu.unige.ch</email>
      </author>
    </authors>
    <date>26.06.04</date>
    <updated>26.06.04</updated>
    <keywords>
      <keyword>FOAF</keyword>
      <keyword>RDF</keyword>
      <keyword>web sémantique</keyword>
      <keyword>Dan Brickley</keyword>
      <keyword>Libby Miller</keyword>
    </keywords>
  </info>
  <abstract>Nous présentons ici le projet FOAF, le fonctionnement du langage FOAF, les différentes applications FOAF, et prenons position en faveur de ce projet.</abstract>
  <introduction><p></p><br/>FOAF est une tentative de construire un réseau de fichiers RDF qui décrirait des personnes réelles sur le web réel. Il est issu d&#x2019;un effort communautaire pour exprimer des métadonnées sur les personnes, leurs intérêts, leurs relations et leurs activités. Il fait partie d&#x2019;une initiative plus vaste dans le domaine du web sémantique, qui vise à créer un web dont les données pourraient être traitées par des machines. FOAF facilite la création d&#x2019;un équivalent websémantique d&#x2019;une page personnelle archétypique. Les documents FOAF peuvent être reliés pour former un réseau de données dont le contenu est bien défini sémantiquement. <br/>FOAF permet de récolter et de réunir de très grandes quantités de données extrêmement rapidement. Le vocabulaire FOAF consiste en une collection de définitions RDF (Ressource Description Framework), mise à jour par les développeurs de l&#x2019;organisation rdfweb. Comme FOAF est un vocabulaire RDF, il ne nécessite pas un modèle d&#x2019;extension centralisé. Les vocabulaires RDF conçus indépendamment se mélangent très bien avec le cadre RDF adopté pour FOAF.</introduction>
  <main><h1><a>Qu'est-ce que le projet FOAF ?</a></h1><h2>Un projet faisant partie intégrante de la recherche dans le domaine du Web sémantique</h2> <p></p>FOAF est un projet faisant partie intégrante de la recherche dans le domaine du Web sémantique. On peut définir le Web sémantique comme un <em><em>« <em>web destiné aux machines. Il s'agit d'une infrastructure plus que d'une application ou d'un langage. </em>»</em> </em>(Jérôme Euzenat, 2002).<p></p> <em>« Le web sémantique, proposé initialement par le W3C, est d'abord une nouvelle infrastructure devant permettre à des agents logiciels d'aider plus efficacement différents types d'utilisateurs dans leur accès aux ressources sur le web (sources d'information et services). Différents langages de niveau de complexité croissante sont proposés afin de mieux exploiter, combiner et raisonner sur les contenus de ces ressources. Les connaissances utilisées, par exemple sous forme de marqueurs sémantiques, doivent s'appuyer sur des ontologies afin de pouvoir être partagées et munies d'interprétations opérationnelles. La notion de méta-données est au c&#x153;ur de la démarche avec une grande diversité dans l'interprétation et l'utilisation de cette notion. L'intégration automatique d'informations provenant de sources hétérogènes est cruciale particulièrement pour des applications d'entreprise. Enfin la problématique des services web enrichit d'une nouvelle dimension la perspective du web sémantique. Mais cette perspective peut se heurter à un certain nombre d'obstacles qui devront être surmontés, la recherche de solutions pouvant amener à différents points de vue sur l'avenir du web sémantique, mettant plus au moins l'accent sur l'automatisation ou au contraire sur l'utilisateur. » </em>(Philippe Laublet, Chantal Reynaud, Jean Charlet). <br/><h2>Un projet reposant sur des standards</h2><p></p>Le projet FOAF repose sur un certain nombre de standards établis par W3C, dont le XML, le RDF et le langage d&#x2019;ontologie Web, OWL. Rappelons que W3C est une organisation exerçant à l&#x2019;intersection de la technologie Web et de la politique publique, dont le but est d&#x2019;organiser l&#x2019;infrastructure Web existante en concevant des standards qui aident à trouver des solutions aux problèmes de politique publique affectant le Web. Ces standards techniques sont nécessaires afin de répondre à des challenges fondamentaux dans le domaine de la politique publique comme la sphère privée, la sécurité et la propriété intellectuelle. <br/><p></p>OWL (Ontology Web Langage) est conçu pour les applications qui doivent traiter le contenu de l&#x2019;information et non se contenter de la présenter à des humains. Il facilite une meilleure interprétation par les machines des contenus Web faisant appel à XML, RDF et les schémas RDF en fournissant un vocabulaire supplémentaire avec une sémantique formelle. Le RDF (Ressource Description Framework) est l&#x2019;activité principale de W3C dans le domaine des métadonnées. Le but de RDF est de prodiguer un cadre cohérent pour l&#x2019;utilisation de multiples applications des métadonnées, comme les signatures numériques, le management des préférences quant à la protection de la sphère privée, et le « PICS » (Plateform for Internet Content Selection, dont le but est de concevoir une technologie neutre pour filtrer la pornographie sur le net). <p></p>Le RDF a explosé en 1997, après que l&#x2019;industrie a exigé de la part de W3C des standards relatifs aux métadonnées. Il était nécessaire qu&#x2019;un vocabulaire sémantique soit défini dans un esprit communautaire et non par des comités sur-politisés issus de l&#x2019;industrie. Il est devenu clair que le monde n&#x2019;était pas divisé en des communautés de méta-données distinctes et qu&#x2019;il fallait que toute solution puisse se mélanger aux autres structures de données définies dans des domaines d&#x2019;applications variés. L&#x2019;élaboration d&#x2019;un langage extensible était incontournable. Un groupe s&#x2019;est donc formé et est devenu par la suite le modèle RDF et le groupe de travail syntaxique. Un travail appelé URI (Uniforme Ressource Identifier) a aussi conduit au RDF. Ce standard fournissait un espace de noms extensible et distribué qui unifiait tout le web à l&#x2019;aide du structure syntaxique commune. Le RDF vise à établir une convention pour l&#x2019;échange des métadonnées sur le web. Il fait appel à la technologie XML. <p></p>Les applications possibles du RDF sont nombreuses et diverses. On peut chercher des choses, créer des descriptions qui peuvent être utilisées pour caractériser des documents comme des objets et les ressources qui leur sont associées. Il y a tout le domaine des métadonnées orientées personnes qui permettent de décrire les gens et leurs préférences. On peut citer les sitemaps, les collections web, les chaînes. RDF peut servir dans le domaine de l&#x2019;estimation de contenu et des applications de filtrage, et dans le domaine de la propriété intellectuelle. Si XML est un format de fichier universel, RDF permet de savoir comment interpréter le contenu d&#x2019;un fichier XML. Le principe du schéma du système RDF peut s&#x2019;énoncer comme suit : <br/><br/>-Les schémas RDF sont des ressources web qui ont des noms universels (URI) et qui peuvent être décrits en RDF. <br/>-Les propriétés RDF décrivent des ressources et leurs relations. <br/>-Les ressources sont regroupées dans des classes, qui peuvent être organisées hiérarchiquement. <br/>-Les propriétés ont du sens dans le contexte de certaines classes de ressources web. <br/><br/>Par exemple, « SizeInBytes » peut être appliqué à une page web mais pas à une personne. Actuellement, le modèle et la syntaxe du RDF sont des recommandations de W3C. Le schéma RDF est une proposition recommandée. De plus en plus d&#x2019;outils sont disponibles. <br/><h2>Le produit du travail de deux chercheurs : Dan Brickley et Libby Miller</h2><p></p>FOAF est le produit du travail de deux chercheurs : Dan Brickley et Libby Miller. FOAF est né d&#x2019;une page web créée par Dan Brickley en 1998, et qui le décrivait en langage RDF. RDF était alors encore méconnu et on ne disposait que de peu d&#x2019;outils. Le code de la page se présentait comme suit : <br/><br/><code></code><em></em><code>&lt;RDF:RDF xmlns="vocabdemo.rdf"&gt; xmlns:rdf="http://www.w3.org/TR/WD-rdf-syntax#"&gt; &lt;Person ID="dan"&gt; &lt;name&gt; Dan Brickley &lt;/name&gt; &lt;Email&gt; daniel.brickley@bristol.ac.uk &lt;/Email&gt; &lt;telephone rdf:resource = "phone:+44-1-+44(0)117-9287493" /&gt; &lt;pager rdf:resource = "phone:+44-1-+44(0)2523-1781115" /&gt; &lt;homePage rdf:resource= "http://purl.org/net/danbri/" /&gt; &lt;homePage rdf:resource= "http://www.ilrt.bris.ac.uk/about/staff/dan.html"/&gt; &lt;worksAt&gt; &lt;Organisation&gt; &lt;name&gt;Institute for Learning and Research Technology (ILRT)&lt;/name&gt; &lt;address&gt;8 Woodland Road, University of Bristol, Bristol UK&lt;/address&gt; &lt;homePage rdf:resource="http://www.ilrt.bris.ac.uk/"/"&gt; &lt;telephone rdf:resource="phone:+44-1-+44(0)117-9289478"/&gt; &lt;/Organisation&gt; &lt;/worksAt&gt; &lt;/Person&gt; &lt;/RDF:RDF&gt; </code><br/><br/>Dan Brickley travaille pour l&#x2019;organisation W3C et est un chercheur de l&#x2019;université de Bristol (ILRT). Il a énormément travaillé sur XML/RDF et les métadonnées. Libby Miller et lui sont les instigateurs du projet FOAF, dont ils s&#x2019;occupent encore aujourd&#x2019;hui. Libby Miller est une chercheuse de l&#x2019;université de Bristol (ILRT). Ses recherches touchent surtout à RDF. Elle s&#x2019;est plus particulièrement concentrée sur un outil javascript d&#x2019;annotation des images en utilisant RDF et sur l&#x2019;implémentation Java de Squish, un langage de requête RDF. Dan Brickley et Libby Miller travaillaient sur plusieurs projets dans les domaines de la web sémantique et du RDF. Au fur et à mesure que des outils pour créer des descriptions en RDF étaient développés, le projet FOAF s&#x2019;est distingué des autres. Les pages FOAF avaient la particularité d&#x2019;être reliées entre elles. Chaque fichier pouvait mentionné un nombre infini d&#x2019;autre choses et des pointeurs vers une URL qui décrivait ces choses plus précisément. La page FOAF de Dan était reliée à celle de Libby, elle-même liée à celle de Edd Dumbill, et ainsi de suite. Dan Brickley construisit le premier agrégateur de données FOAF, puis Libby développas des outils JAVA et des outils de requête RDF. Edd Dumbill développa FOAFbot, un outil de récolte des données avec une interface utilisateur IRC (Internet Relay Chat), un système de chat permettant la réunion de plus de deux utilisateurs. Une chose en entraînant une autre, les fichiers FOAF sont apparus partout sur le net. Le public a beaucoup apprécié des outils comme FoafNaut, FoafCorp, Foaf Web View, Foaf Explorer, CoDepiction. FOAF demeure un projet collaboratif basé sur la mailing list de FOAF et les outils collaboratifs hébergés par l&#x2019;organisation rdfweb. <h2>Un projet issu d&#x2019;une longue tradition</h2><p></p>FOAF est un projet issu d&#x2019;une longue tradition. Il doit beaucoup au «<em> geek code </em>». Le Geek code est un langage élaboré par Robert Hayden en 1993. Le mot Geek définit un individu dont l&#x2019;informatique est la seule passion. L&#x2019;idée de Hayden est de permettre aux passionnés de l&#x2019;informatique de se faire connaître des autres passionnés en se décrivant à l&#x2019;aide d&#x2019;un code simple. Le geek code consiste en plusieurs catégories, chaque catégorie étant définie par une lettre et des qualificatifs. En reliant ces codes ensemble, il est possible de se construire une identité. On peut annoncer quel type de geek on est, par exemple GL pour Geek of Literature, GMC pour Geek of Mass Communication ou GPA pour Geek of Performing Arts. On peut décrire son apparence, la manière dont on s&#x2019;habille, sa silhouette, son âge, le type d&#x2019;ordinateur qu&#x2019;on utilise et son degré d&#x2019;expertise. Par exemple en code geek, C+++ correspond à «<em> You mean there is life outside of Internet? You're shittin' me! I haven't dragged myself to class in weeks </em>» (citation) et C++ à « <em>Computers are a large part of my existence. When I get up in the morning, the first thing I do is log myself in. I play games or mud on weekends, but still manage to stay off of academic probation </em>», w+++++ correspond à « <em>I am Bill Gates </em>». On peut aussi décrire son orientation politique, ses loisirs ou son mode de vie. Après avoir choisi les qualificatifs nous décrivant et réuni le tout, on crée un « geek block » que l&#x2019;on peut insérer dans ses pages web. Le résultat ressemble à ce qui suit : <br/><br/><code><em></em>-----BEGIN GEEK CODE BLOCK----- Version: 3.1 GED/J d-- s:++&gt;: a-- C++(++++) ULU++ P+ L++ E---- W+(-) N+++ o+ K+++ w--- O- M+ V-- PS++&gt;$ PE++&gt;$ Y++ PGP++ t- 5+++ X++ R+++&gt;$ tv+ b+ DI+++ D+++ G+++++ e++ h r-- y++** ------END GEEK CODE BLOCK------ </code><br/><br/>FOAF doit aussi beaucoup au programme Finger. Finger était l&#x2019;une des premières applications réseau créée par Les Earnest (Stanford Artificial Intelligence Lab) au début des années soixante-dix. Elle permettait de voir qui d&#x2019;autre utilisait un ordinateur et de trouver des informations de base sur cet utilisateur. Il suffisait d&#x2019;être en possession de l&#x2019;adresse email de l&#x2019;utilisateur et le programme donnait des informations comme le login, le vrai nom, le bureau, le numéro de téléphone de la personne et l&#x2019;heure de sa dernière connexion.<br/><br/><h1>Comment fonctionne le langage FOAF ?</h1><h2>XML : Qu&#x2019;est-ce que c&#x2019;est ?</h2><br/>XML (Extensible Markup Language) est un langage simple et flexible qu dérive du SGML (et dont il est en quelque sorte une forme restreinte). Il a été créé à l&#x2019;origine pour la publication électronique de grande envergure et joue un rôle important dans les échanges de données variées sur le Web.<br/><br/>XML est un langage pour les documents contenant de l&#x2019;information structurée. Cette information structurée contient à la fois les contenus (mots, photos&#x2026;) et des indications sur leur rôle. C&#x2019;est un langage à marqueurs (markup), qui servent de mécanismes pour identifier la structure dans un document. <br/><br/>La spécification XML définit un moyen standardisé d&#x2019;ajouter des marqueurs à des documents. Dans le HTML les balises sémantiques et le panel de balises sont fixés ; W3C, les vendeurs de navigateurs et la communauté du web travaillent constamment pour que de nouvelles balises soient utilisables, mais la compatibilité avec les anciens produits pose problème.<br/><br/>Contrairement au HTML, le XML ne spécifie pas de sémantique ni de panel prédéfini de balises. XML est réellement un méta-langage qui permet de décrire les langages à marqueurs. En d&#x2019;autres termes il est efficace dans la définition de balises et de leurs inter-relations. Comme il n&#x2019;y a pas de balise prédéfinie il ne peut pas y avoir de sémantique préconçue. Toutes les sémantiques d&#x2019;un document XML seront définies soit pas l&#x2019;application qui traite les données, soit par des feuilles de style (XSL). <br/><h2>RDF : Qu&#x2019;est-ce que c&#x2019;est ? </h2><br/>RDF est un standard développé par W3C pour les métadonnées, qui utilise XML en tant que syntaxe d&#x2019;échange. Rappelons que son but est de simplifier le travail des agents autonomes, afin d&#x2019;améliorer les moteurs de recherche et les services d&#x2019;annuaire. Le W3C tente de surmonter un certain nombre de problèmes sur Internet : prédominance de documents HTML avec des contenus mélangés à la présentation, difficulté à mettre à jour des sites Web au fur et à mesure que le monde change, difficulté à présenter des contenus dynamiques, difficulté à trouver précisément ce que l&#x2019;on recherche quand on utilise un moteur de recherche. Un Web orienté XML améliorerait la maintenance et la flexibilité des données Web. Le RDF permettrait d&#x2019;automatiser le management et la navigation de données en prodiguant des métadonnées structurées en contrepartie des données Web. <br/><br/><p></p>Si XML n&#x2019;est qu&#x2019;un moyen de standardiser les formats de données, RDF n&#x2019;est rien d&#x2019;autre qu&#x2019;un moyen d&#x2019;exprimer et de traiter des séries d&#x2019;assertions simples. On les appelle « déclarations » en RDF (statements). Une déclaration a trois parties structurelles : un sujet (subject : « ce travail de recherche »), un prédicat (predicate : « est crée par ») et un objet (object : Mélie Genêt). Cette formalisation est un classique dans la grammaire, à condition de ne pas être trop pointu sur les verbes intransitifs. <br/><br/><p></p>RDF vise à décrire les ressources sur le web. Ces ressources sont représentées, en RDF, par des URIs (Uniform Resource Identifiers), dont les URLs sont une sous-classe. Le sujet d&#x2019;une déclaration RDF doit être une ressource, l&#x2019;objet peut être une chaîne littérale (« Mélie GENET) ou une ressource (http://tecfa.unige.ch/staf/staf-j/genet/). <br/><br/>Voici un exemple : <br/><br/><a><img alt="exemple1" src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foaf2.jpg"/></a><br/><br/><strong><br/>Un petit modèle RDF</strong> <p></p>Cette figure montre plusieurs déclarations RDF combinées dans un seul diagramme. RDF est une expansion de ce principe. Une collection de déclarations RDF est appelée modèle en RDF. C&#x2019;est la simplicité de RDF qui en fait la force, on connaît l&#x2019;efficacité des graphiques pour représenter l&#x2019;information. <p></p>Le RDF permet à de nombreuses déclarations simples d&#x2019;être agrégées pour que des agents puissent appliquer des techniques graphiques transversales pour recueillir l&#x2019;information. Ces déclarations sont appelées « triples » parce qu&#x2019;elles sont composées de trois parties. Les bases de données de triples de ce type peuvent être étendues à des millions de triples, grâce à la simplicité de cette information. <p></p><p></p>Cette représentation abstraite est la base de RDF, mais cela n&#x2019;est pas pratique pour échanger des descriptions RDF ni pour les placer dans des contenus HTML et XML. Dans cette optique, on dispose d&#x2019;un format de sérialisation en XML pour le RDF. Selon ce format, la figure ci-dessus ressemble à ceci :<br/><br/> <p></p><code>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://schemas.tecfa.unige.ch/rdfexample/"&gt; &lt;rdf:Description about="http://tecfa.unige.ch/staf/staf-j/genet/recherche.doc"&gt; &lt;authored-by&gt; &lt;rdf:Description ID="tecfa.unige.ch/staf/staf-j/genet"&gt; &lt;name&gt;Mélie Genêt&lt;/name&gt; &lt;nationality&gt;suisse&lt;/nationality&gt; &lt;/rdf:Description&gt; &lt;/authored-by&gt; &lt;/rdf:Description&gt; &lt;/rdf:RDF&gt; </code><strong><br/><br/>Sérialisation XML du modèle RDF précédent</strong><p></p> <p></p><br/>L&#x2019;élément rdf :RDF est toujours utilisé pour entourer une déclaration RDF. Tous les prédicats doivent utiliser des espaces de noms dont le sens est clair. L&#x2019;élément description indique le sujet de la déclaration. L&#x2019;attribut about pointe sur une ressource externe comme étant le sujet. Il y a une déclaration avec cette ressource en tant que sujet, marquée par l&#x2019;élément &lt;authored-by&gt;, qui forme le prédicat. L&#x2019;élément possède l&#x2019;espace de nom http://schemas.tecfa.unige.ch/rdfexample/, qui est traduit en un modèle abstrait dans lequel le prédicat est formé en joignant l&#x2019;espace de nom URI et le nom local de l&#x2019;élément prédicat. Le prédicat entier est donc http://schemas.tecfa.unige.ch/rdfexample/authored-by.<p></p> <p></p>Les espaces de noms sont supposés fournir des schémas qui ont le une type et une contrainte d&#x2019;information pour le RDF. La partie qui reste de la déclaration est l&#x2019;objet, mais l&#x2019;objet n&#x2019;est pas très clair dans la liste. RDF prend en charge le cas où l&#x2019;objet est une ressource mais n&#x2019;a pas réellement d&#x2019;URI externe. Dans cet exemple la ressource représentant la personne appelée Mélie Genêt est un de ces cas, et est actuellement représentée par l&#x2019;élément Description avec un attribut ID. L&#x2019;URI de cette ressource devient la réunion de l&#x2019;URI du fichier RDF dans sa totalité, et la valeur de l&#x2019;attribut ID. Il est même possible de trouver des ressources complètement anonymes dans RDF, sans une ID. La ressource dont l&#x2019;ID est « tecfa.unige.ch/staf/staf-j/genet » est elle-même le sujet de deux déclarations, dont les prédicats sont représentés par les éléments enfants name et nationality. Ces prédicats sont aussi présents dans l&#x2019;espace de nom http://schemas.tecfa.unige.ch/rdfexample. Les objets de ces déclarations sont des chaînes littérales : « Mélie Genêt » et « suisse ». <p></p>W3C suggère que les webmasters commencent à annoter les données web existantes avec le RDF en incluant des descriptions simples dans l&#x2019;entête de leurs documents. Plutôt que d&#x2019;utiliser des espaces de noms inventés, les webmasters sont encouragés à utiliser des librairies de métadonnées comme celle du Dublin Core. L&#x2019;initiative de cette organisation est de donner une spécification autoritaire et à jour des termes des métadonnées comme les éléments, les précisions d&#x2019;éléments, les schémas d&#x2019;encodage et les termes de vocabulaire. <p></p>L&#x2019;avantage de RDF est qu&#x2019;il est lisible de manière extensible avec des schémas lisibles par des machines permettant un niveau élevé d&#x2019;automatisation. <br/><h2>FOAF : Qu&#x2019;est-ce que c&#x2019;est ?</h2> <p></p>L&#x2019;idée de FOAF est la même que celle du RDF. Si les gens publient de l&#x2019;information dans un format FOAF, les machines pourront utiliser cette information. Si ces fichiers contiennent des références de type « voir aussi », vers d&#x2019;autres documents sur le web, on sera en présence d&#x2019;une version machine-friendly des hypertextes web actuels. Les programmes informatiques pourront conserver l&#x2019;information qu&#x2019;elles trouvent, garder trace d&#x2019;une liste de pointeurs, vérifier des signatures numériques et construire des pages web et des services de question-réponse basé sur les documents collectés. Les fichiers FOAF sont des documents textes écrits avec uns syntaxe XML et qui adoptent la convention RDF. <p></p>De plus, le vocabulaire FOAF définit des constructions utiles qui peuvent apparaître dans les fichiers FOAF, à côté de vocabulaires définis autre part. Par exemple FOAF définit des catégories (classes) comme foaf : Person, foaf :Document, foaf :Image, des propriétés typiques de ces choses comme foaf :name, foaf :mbox (mailbox), foaf :homepage et enfin des relations qui lient les membres de ces catégories. Par exemple, une relation intéressante de ce type est foaf :depiction. Elle relie quelque chose (par exemple une foaf :Person) à une foaf :Image. <p></p>Il existe des programmes qui se servent de ces informations RDF pour lister des photos et les noms de personnes qui sont dessus. Une des autres particularités de FOAF est que les fichiers FOAF peuvent contenir des pointeurs de type « voir aussi » vers d&#x2019;autres fichiers FOAF. Cela fournit une base pour les outils de collecte automatique de données qui peuvent traverser un réseau de fichiers interconnectés et apprendre sur les gens, les documents, les services&#x2026; <br/><br/>FOAF n'est pas un standard dans les sens de la standardisation ISO ou du travail de W3C. Il dépend des travaux de W3C sur le XML, les espaces de noms XML, RDF et OWL. Tous les documents FOAF doivent être des documents RDF bien formés. Le vocabulaire FOAF est, au contraire géré plus comme un projet open source ou logiciel gratuit que comme un effort de standardisation. Dan Brickley et Libby Miller ont établi des spécifications du langage FOAF basé sur le RDF de W3C. FOAF adopte par référence une syntaxe (utilisant XML) et un modèle de données (graphiques RDF), ainsi qu'une définition fondée mathématiquement pour les règles qui sont sous-jacentes au design de FOAF. Les spécifications de FOAF servent d'espaces de noms et permettent aux applications utilisant le Web sémantique d'utiliser ces termes dans de multiples applications et formats de documents compatibles avec RDF. <p></p>Le vocabulaire FOAF est identifié par un espace de nom URI : <p></p><br/><a href="http://xmlns.com/foaf/0.1/">http://xmlns.com/foaf/0.1/</a> <br/><br/>Les révisions et les extensions de FOAF sont conduites en modifiant ce document, qui est publié conventionnellement sur le Web à cette adresse. Au fur et à mesure qu'un terme se stabilise dans les usages et dans la documentation, il progresse au sein des catégories "instable", "en test" et "stable". <p></p>D'autres vocabulaires peuvent être mélangés avec les termes FOAF, comme les éléments métadonnées du Dublin Core pour descriptions bibliographiques simples, RSS 1.0, et les extensions locales du langage. FOAF a été conçu pour être étendu. FOAF est une application du RDF parce qu'aucun format seul ne pourrait suffire à décrire un sujet aussi complexe que les personnes. En utilisant RDF, FOAF gagne un mécanisme d'extensibilité puissant, permettant aux descriptions basées sur FOAF d'être mélangées avec n'importe quel autre vocabulaire RDF.<p></p> FOAF ne peut pas incorporer tout ce qu'on pourrait vouloir dire en rapport avec les gens, ou alors ce vocabulaire ressemblerait à un dictionnaire. Au lieu de couvrir tous les sujets avec FOAF lui-même, FOAF est inscrit dans un cadre plus large : le RDF, qui permet de tirer profit de tous les travaux effectués ailleurs sur des vocabulaires de description plus spécifiques. Des vocabulaires peuvent être créés dans des communautés différentes, s'approprier et se mélanger sans un agrément centralisé sur la manière dont les termes des différents vocabulaires doivent être écrits en XML. <p></p>Ce mélange se produit de deux manières : premièrement, RDF fournit un modèle sous-jacent d'objets, de leurs attributs ou relations. Cela s'appelle les propriétés en RDF. Tout vocabulaire décrit en RDF partage ce modèle de base, qui est discernable dans la syntaxe du RDF, et qui évite un niveau de confusion dans la compréhension d'un vocabulaire donné, rendant la compréhension et l'utilisation d'un vocabulaire écrit par quelqu'un d'autre plus aisée. Deuxièmement, il y a des mécanismes pour dire quelles propriétés RDF sont connectées à quelles classes, et comment ces différentes classes sont en relation les unes avec les autres, en utilisant la syntaxe RDF et OWL. <p></p>RDF s'écrit généralement en utilisant la syntaxe XML, mais peut s'écrire de différentes manières en XML. <p></p><h2>Classes et propriétés FOAF</h2><h3>Class : foaf:Agent (instable)</h3> Agent : un agent, personne, groupe, logiciel ou artéfact physique. <p></p>La classe foaf:Agent est une classe d'agents; les choses qui font des trucs. Une sous-classe bien connue est foaf:Person, représentant les gens. D'autres types d'agents sont foaf:Organization et foaf:Group. La classe foaf:Agent est utile dans certains cas où foaf:Person aurait été trop spécifique. <p></p><h3><a></a>Class : foaf:Agent (testing)</h3> Document : un document. <p></p>La classe foaf:Document représente les choses que l'on conçoit au sens large comme des documents. La classe foaf:Image est une sous-classe de foaf:Document, comme toutes les images sont des documents. <h3>Class:foaf:Group (instable)</h3> Group : une classe d'agents. <p></p>La classe foaf:Group représente une collection d'agents individuels, et peut en soi jouer le rôle d'un agent FOAF. Le concept est intentionnellement large, couvrant les groupes informels et ad-hoc, les communautés de longue date, les groupes organisationnels avec un lieu de travail. FOAF fournit un mécanisme, la propriété foaf:membershipclass qui met en relation un foaf:Group à une sous-classe de la classe foaf:Agent, qui sont des membres du groupe. Si les mécanismes formels de description des critères d'appartenance à un groupe sont complexes, le mécanisme pour dire que quelqu'un est dans un foaf:Group est très simple. On utilise simplement la propriété foaf:member du foaf:Group pour indiquer les agents qui sont membres du groupe. <h3>Class:foaf:Image (testing)</h3> Image : une image. <p></p>La classe foaf:Image est une sous-classe de foaf:Document. Les images jpeg, png, gif, bitmaps, diagrammes SVG, sont des exemples de foaf:Image. <h3>Class:foaf:OnlineAccount (instable)</h3> OnlineAccount : Un compte en ligne. <p></p>Un foaf:OnlineAccount représente la distribution de certaines formes de services en ligne, par une tierce partie (indiquée indirectement par une foaf:accountServiceHomepage) à certains foaf:Agent. La propriété foaf:holdsAccount de l'agent est utilisée pour indiquer les comptes associés à l'agent. <h3>Class: foaf:OnlineChatAccount (instable)</h3> Online Chat Account : Un compte de chat en ligne. <p></p>Un foaf:OnlineChatAccount et un foaf:OnlineAccount pour le chat, l'instant messaging. <h3>Class: foaf:OnlineEcommerceAccount (instable)</h3> Online E-commerce Account : Un compte de e-commerce. <p></p>Un foaf:OnlineEcommerceAccount est un OnlineAccount qui sert à l'achat et/ou la vente de marchandises, services. Par exemple Amazon, eBay, PayPal, thinkgeek. <h3>Class: foaf:OnlineGamingAccount (instable)</h3> Online Gaming Account : Un compte de jeu en ligne. <p></p>Un foaf:OnlineGamingAccount est un foaf:OnlineAccount pour les jeux en ligne. Par exemple EverQuest, Xbox live, Neverwinter Nights, ainsi que les univers textuels plus anciens (MOOs, MUDs). <h3>Class: foaf:Organization (instable)</h3> Organization : Une organisation. <p></p>La classe foaf:Organization représente un type de foaf:Agent correspondant à des institutions sociales comme les compagnies, les sociétés, etc. <h3>Class: foaf:Person (testing)</h3> Person : Une personne. <p></p>La classe foaf:Person représente les gens. Quelque chose est une foaf:Person si c'est une personne, sans distinction si elle est vivante, morte, réelle ou imaginaire. La classe foaf:Person est une sous classe de la classe foaf:Agent, comme tous les gens sont des agents dans FOAF. <h3>Class: foaf:PersonalProfileDocument (testing)</h3> PersonalProfileDocument : Un document RDF de profil personnel. <p></p>La classe foaf:PersonalProfileDocument représente les choses qui sont des foaf:Document, et qui utilisent RDF pour décrire les propriétés de la personne qui est le foaf:maker (créateur) du document. Il y a juste une foaf:Person décrite dans le document, par exemple la personne qui a foaf:made (conçu) le document et qui va être son foaf:primaryTopic (sujet principal). Cette classe fournit une expression lisible par les machines permettant de faire connaître les concepteurs de documents et leur sujet. <h3>Class: foaf:Project (instable)</h3> Project : Un projet. <p></p>La classe foaf:Project représente la classe des choses qui sont des projets. Ils peuvent être formels ou informels, collectifs ou individuels. Il est utile d'indiquer la foaf:homepage (page Web) d'un foaf:Project. <h3>Property: foaf:accountName (instable)</h3> Account name : Indique le nom (identifiant) associé avec ce compte en ligne. <p></p>La propriété foaf:accountName d'un foaf:OnlineAccount est une représentation textuelle de compte (unique ID) associée à ce compte. <h3>Property: foaf:accountServiceHomepage (instable)</h3> Account service homepage : Indique une page Web pour le fournisseur de services de ce compte en ligne. <h3>Property: foaf:aimChatID</h3> AIM chat ID : Un AIM chat ID. <p></p><p></p>La propriété foaf:aimChatID relie un foaf:Agent à un identifiant textuel ("screenname") qui lui est assigné par le système AOL Instant Messenger (AIM). <h3>Property: foaf:based_near (instable)</h3> Based near : Un endroit qui est situé près de quelque chose (estimation humaine de la distance). <p></p>La relation foaf:based_near relie deux objets spatiaux (tout ce qui peut être quelque part), la position typiquement décrite en utilisant le vocabulaire de géo-positionnement Web sémantique W3C. Cela permet de décrire la latitude et la longitude typique d'une personne, d'un lieu, sans inférer qu'une location précise a été donnée. <h3>Property: foaf:currentProject (testing)</h3> Current project : Un projet en cours sur laquelle la personne travaille. <p></p>Un foaf:currentProject lie une foaf:Person à un foaf:Document indiquant une entreprise collaborative ou individuelle. Cette relation indique que la foaf:Person a un rôle actif dans le projet, comme le développement, la coordination, ou le support. Quand la foaf:Person n'est plus investie dans un projet, ou est inactive pendant un moment, la relation devient un foaf:pastProject. <h3>Property: foaf:depiction (testing)</h3> Depiction : Un portrait de quelque chose. <p></p>La propriété foaf:depiction est une relation entre une chose et une foaf:Image qui l'illustre. C'est l'inverse de la relation foaf:depicts. Une utilisation courante de foaf:depiction (et foaf:depicts) est d'indiquer le contenu d'une image numérique, par exemple des gens ou objets représentés dans une galerie de photo en ligne. Des extensions à cette idée de base incluent la "co-dépiction" (des réseaux sociaux illustrés par des photos), et des métadonnées photos plus riches grâce à l'utilisation de chemins SVG pour indiquer les régions d'une image qui illustrent quelque chose en particulier. La propriété foaf:depiction est une super propriété d'une propriété plus spécifique : foaf:img, qui est plus largement utilisée. Vous êtes lié par une relation de foaf:depiction avec n'importe quelle foaf:Image qui vous représente, alors que la foaf:img est typiquement utilisée pour indiquer quelques images qui sont particulièrement représentatives. <h3>Property: foaf:depicts (testing)</h3> Depicts : Une chose illustrée dans cette représentation. <p></p>La propriété foaf:depicts est une relation entre une foaf:Image et quelque chose que cette image représente. <h3>Property: foaf:dnaChecksum (instable)</h3> DNA checksum &#x2013; Une empreinte ADN de quelque chose. <p></p>La propriété foaf:dnaChecksum est un gag, mais aussi un rappel qu'il existe de nombreuses propriétés pour identifier les gens, y compris certaines que l'on pourrai trouver dérangeantes. <h3>Property: foaf:family_name (testing)</h3> family_name : Le nom de famille de quelqu'un. <p></p><h3>Property: foaf:firstName (testing)</h3> firstName : Le prénom d'une personne. <h3>Property: foaf:fundedBy (instable)</h3> funded by : Une organisation fondées par un projet ou une personne. <p></p>La propriété foaf:fundedBy relie quelque chose à quelque chose d'autre qui l'a fondée. <h3>Property: foaf:geekcode (testing)</h3> geekcode : Un geekcode textuel pour cette personne. <p></p>La propriété foaf:geekCode est utilisée pour représenter le geek code d'une foaf:Person. <h3>Property: foaf:gender (testing)</h3> Gender : Le sexe de cet agent (typiquement, mais pas nécessairement mâle ou femelle). <p></p>La propriété foaf:gender relie un foaf:Agent (typiquement une foaf:Person) à une chaîne représentant son sexe. Dans la plupart des cas la valeur sera male ou female. Comme toutes les propriétés FOAF, il existe une nécessité générale d'utiliser foaf:gender dans tout document particulier ou description. foaf:gender n'a pas pour objectif de capturer la variété biologique, sociale et sexuelle dans son entier. Tout ce qui un foaf:gender sera une sorte de foaf:Agent. Tout ce qui a une propriété foaf:gender sera une sorte de foaf:Agent. Cependant il existe des foaf:Agent auxquels le concept de sexe n'est pas applicable, par exemple un foaf:Group. FOAF n'inclut pas une classe correspondent directement au "type de chose qui a un sexe". A n'importe quel moment, un foaf:Agent a au moins une valeur pour foaf:gender. FOAF ne traite pas le foaf:gender comme une propriété statique; le même individu peut avoir différentes valeurs pour cette propriété à des temps différents. La notion est un compromis quelque fois maladroit entre le clinique et le socio-psychologique. La personne elle-même est la meilleure autorité sur son foaf:gender. Foaf, comme tous les moyens de communication, permet le mensonge. Les auteurs d'applications utilisant les données FOAF devraient porter une attention particulière à leur présentation de l'information qui n'a pas été vérifiée, et se montrer particulièrement sensibles aux problèmes et aux risques entourant le sexualité et le sexe (incluant les préoccupation quant à la sphère privée et la protection de personnes). On leur demande de permettre l'omission du sexe quand ils se décrivent et de donner quatre autres options de réponses possibles hormis mâle et femelle. <h3>Property: foaf:givenname (testing)</h3> Given name : Le nom donné à une personne. <h3>Property: foaf:holdsAccount (instable)</h3> Holds account : Indique un compte que cet agent à en sa possession. <p></p>La propriété foaf:holdsAccount met en relation un foaf:Agent à un foaf:OnlineAccount dont il est le seul détenteur. <h3>Property: foaf:homepage (stable)</h3> Homepage : Une homepage pour quelque chose. <p></p>La propriété foaf:homepage lie une chose à une homepage qui la décrit. <h3>Property: foaf:icqChatID (testing)</h3> ICQ chat ID : An ICQ chat ID. <p></p>La propriété foaf:icqChatID lie un foaf:Agent à un identifiant textuel assigné par le biais du chat ICQ. <h3>Property: foaf:img (testing)</h3> Image : Une image qui peut être utilisée pour représenter quelque chose. <p></p>La propriété foaf:img relie une foaf:Person à une foaf:Image qui la représente. Contrairement à sa super-propriété foaf:depiction, nous n'utilisons foaf:img que quand une image est particulièrement représentative de quelqu'un. Cette propriété n'est utilisée qu'avec les représentations de personnes. <h3>Property: foaf:interest (testing)</h3> Interest : Une page à propos d'un domaine d'intérêt d'une personne. <p></p>La propriété foaf:interest représente un intérêt d'un foaf:Agent, à travers l'indication d'un foaf:Document dont le foaf:topic caractérise largement cet intérêt. <h3>Property: foaf:jabberID (testing)</h3> jabber ID : Une ID jabber pour quelque chose. <p></p>La propriété foaf:jabberID relie un foaf:Agent à un identifiant textuel assigné par le biais du système de messagerie Jabber. <h3>Property: foaf:knows (testing)</h3> Knows : Une personne connue par cette personne (indiquant un certain niveau d'interaction entre les parties). <p></p>La propriété foaf:knows relie une foaf:Person à une autre foaf:Person qu'il ou elle connaît. Si quelqu'un foaf:knows une personne, la relation serait réciproque, selon l'usage. Cependant, cela ne veut pas dire qu'il y ait une obligation pour l'une ou l'autre des parties de publier une description FOAF de cette relation. Une relation foaf:knows n'implique pas l'amitié, ni qu'un face à face ait lieu : le téléphone, le fax, l'email et les signaux de fumée sont des moyens de communication parfaitement acceptables avec les gens que l'on connaît. <h3>Property: foaf:logo (testing)</h3> Logo &#x2013; Un logo représentant quelque chose. <p></p>La propriété foaf:logo est utilisée pour indiquer un logo graphique. <h3>Property: foaf:made (testing)</h3> Made : Quelque chose qui a été fait par cet agent. <p></p>La propriété foaf:made relie un foaf:Agent à quelque chose qu'il a foaf:made. <h3>Property: foaf:maker (testing)</h3> Maker : Un agent qui a fait cette chose. <p></p>La propriété foaf:maker relie une chose à un foaf:Agent qui l'a foaf:made. Le foaf:name (ou autre rdfs:label) du foaf:maker de quelque chose peut être décrit comme le dc:creator de cette chose. <h3>Property: foaf:mbox (testing)</h3> Personal mailbox : Une mailbox personnelle. <p></p>La propriété foaf:mbox est une relation entre le propriétaire d'une mailbox et une mailbox. Les deux sont typiquement identifiés par le schàma URI mailto: Il y a beaucoup de mailboxes (partagées) qui ne sont pas la foaf:mbox de quelqu'un. Une personne peut aussi avoir de multiples propriétés foaf:mbox. <h3>Property: foaf:mbox_sha1sum (testing)</h3> sha1sum of a personal mailbox URI name : Le sha1sum de l'URI d'une mailbox associée exactement à un utilisateur, le premier propriétaire de la mailbox. <p></p>Le foaf:mbox_sha1sum d'une foaf:Person est une représentation textuelle du résultat de l'application d'une fonction mathématique SHA1 à un identifiant URI mailto: d'une foaf:mbox avec laquelle il est en relation. En d'autres termes si vous avez une (foaf:mbox) mais que vous ne voulez pas communiquer son adresse, vous pouvez prendre cette adresse et générer une représentation foaf:mbox_sha1sum de cette mailbox. <h3>Property: foaf:member (instable)</h3> Member : Indique un membre d'un groupe. <p></p>La propriété foaf:member relie un foaf:Group à un foaf:Agent autrement dit un membre de ce groupe. <h3>Property: foaf:membershipClass (testing)</h3> MembershipClass : Indique une classe d'individus qui sont membres d'un groupe. <p></p>La propriété foaf:membershipClass relie un foaf:Group à une classe rdf représentant une sous-classe de foaf:Agent dont les instances sont les agents qui sont les foaf:member d'un foaf:Group. <h3>Property: foaf:msnChatID (testing)</h3> MSN chat ID : Une ID chat MSN. <p></p>La propriété foaf:msnChatID relie un foaf:Agent à un identifiant textuel assigné par le système de chat msn. <h3>Property: foaf:myersBriggs (testing)</h3> MyersBriggs : Une classification de la personnalité Myers Briggs (MBTI). <p></p>La propriété foaf:myersBriggs représente l'approche de la taxonomie de la personnalité de Myers Briggs (MBTI). La propriété est intéressante car elle illustre comment FOAF peut être porteur d'informations variées, sans nécessairement être impliqué dans une vision du monde particulière. <h3>Property: foaf:name (testing)</h3> Name : Un nom pour quelque chose. <p></p>Le foaf:name est de quelque chose est une simple chaîne de caractères textuels. Une balise XML peut être utilisée pour indiquer le langage du nom. Property: foaf:nick (testing) Nickname : Un court surnom informel caractérisant un agent (inclut les logins, les identifiants, les IRC et autres surnoms de chat. La propriété foaf:nick relie une foaf:Person à un court surnom, comme ceux utilisés dans les chats IRC, les comptes en ligne et les logins. <h3>Property: foaf:page (testing)</h3> Page : Une page ou un document à propos de cette chose. <p></p>La propriété foaf:page relie une chose à un document qui la concerne. <h3>Property: foaf:pastProject (testing)</h3> Past project : Un projet sur lequel cette personne a travaillé. <p></p>Après qu'une foaf:Person ne participe plus à un foaf:currentProject, la relation foaf:pastProject peut être utilisée. <h3>Property: foaf:phone (testing)</h3> Phone : Un Téléphone. <p></p>Le foaf:phone de quelque chose est un téléphone, typiquement identifié en utilisant le schème URI pour les téléphones. <h3>Property: foaf:plan (testing)</h3> Plan : Un commentaire .plan comment, dans la tradition du finger et des fichiers .plan. <p></p>La propriété foaf:plan fournit un espace pour une foaf:Person pour conserver un contenu arbitraire qui apparaîtrait dans un fichier .plan traditionnel. Le fichier plan était stocké dans le répertoire personnel d'un utilisateur sur une machine UNIX et affiché aux gens quand un utilisateur faisait une requête avec l'utilitaire finger. Un fichier plan pourrait contenir n'importe quoi, les utilisations typiques incluent de brefs commentaires, des pensées ou des remarques sur ce qu'une personne a fait dernièrement. <h3>Property: foaf:primaryTopic (testing)</h3> Topic : The primary topic of some page or document. <p></p><p></p>La propriété foaf:primaryTopic relie un document au sujet principal d'un document. La propriété foaf:primaryTopic est fonctionnelle : pour n'importe quel document auquel elle se rapporte, elle peut avoir au maximum une valeur. Cela permet l'extraction de données. Dans de nombreux cas, il peut être difficile pour des tierces parties de déterminer le sujet principal d'un document, mais dans un certain nombre de cas, il est raisonnablement évident. Les documents sont très souvent les sources d'informations qui font autorité sur leur propre sujet principal, bien que cela ne puisse pas être garanti comme on ne peut être sûr que les documents sont exacts ou honnêtes. <h3>Property: foaf:publications (instable)</h3> Publications : Un lien vers les publications de cette personne. <p></p>La propriété foaf:publications indique une liste de foaf:Document (dans une forme lisible pour les humains). Ce sont les publications associées à la foaf:Person. De tels documents sont typiquement publiés sur une foaf:homepage. <h3>Property: foaf:schoolHomepage (testing)</h3> SchoolHomepage : La homepage d'une école où quelqu'un a étudié. <p></p>La propriété schoolHomepage relie une foaf:Person à un foaf:Document qui est la foaf:homepage d'une école dans laquelle une personne a étudié. Le terme peut servir à décrire des écoles, des universités et des collèges. <h3>Property: foaf:sha1 (instable)</h3> Sha1sum (hex) - : Un algorithme de hachage sha1sum, en hexadécimal. <p></p>La propriété foaf:sha1 relie un foaf:Document à la forme textuelle d'un algorithme de hachage SHA1 (d'une représentation) de son contenu. Property: foaf:surname (testing) Surname : Le surnom d'une personne. <h3>Property: foaf:theme (instable)</h3> Theme : Un thème. <p></p>La propriété foaf:theme est rarement utilisée et sous-spécifiée. Son intention est de caractériser les intérêts et les thèmes associés avec des projets et groupes. <h3>Property: foaf:thumbnail (testing)</h3> Thumbnail - Une image miniature dérivée. <p></p>La propriété foaf:thumbnail est une relation entre une foaf:Image dans sa taille originale et une foaf:Image plus petite et similaire, qui en a été dérivée. <h3>Property: foaf:tipjar (testing)</h3> Tipjar : Un document tipjar pour cet agent, décrivant les moyens de payement ou de récompense. <p></p>La propriété foaf:tipjar relie un foaf:Agent à un foaf:Document qui décrit des mécanismes de pour payer ou récompenser cet agent. La propriété foaf:tipjar a été créée dans la continuité de mécanismes simples et légers qui pourraient être utilisés pour encourager les récompenses et le payement de contenus échangés en ligne. La (les) page(s) foaf:tipjar d'un agent pourrait décrire des informations informelles ("Envoyez-moi une carte postale!", "Voici ma liste des livres, musiques et films que j'aimerais recevoir.") ou formelles (informations de micro-payement lisibles informatiquement) sur cet agent qui peut être payé ou récompensé. Cette récompense n'est pas associée avec une action particulière ou un contenu de l'agent concerné. Un lien vers un service comme PayPal est le type de chose que l'on s'attend à trouver dans un document tipjar. La valeur de la propriété foaf:tipjar est un simple document (qui peut inclure des ancres dans des pages HTML). <h3>Property: foaf:title (testing)</h3> Title : Titre (M, Mme, Mademoiselle, Dr, etc.) <p></p>Les valeurs appropriées pour la propriété foaf:title n'ont pas de contrainte formelle et varient en fonction des communautés et des contextes. Des valeurs comme M., Mme, Mademoiselle, sont attendues. <h3>Property: foaf:topic (testing)</h3> Topic : Le sujet d'une page ou d'un document.<p></p> La propriété foaf:topic relie un document à une chose dont il traite. Property: foaf:topic_interest (testing) Interest_topic : Un domaine d'intérêt de cette personne. <h3>Property: foaf:weblog (testing)</h3> Weblog &#x2013; Le weblog de quelque chose (une personne, une groupe, une compagnie&#x2026;). <p></p>La propriété foaf:weblog lie un foaf:Agent à son weblog. <h3>Property: foaf:workInfoHomepage</h3> Work info homepage : Une homepage d'informations sur le travail de quelqu'un, une page à propos de son travail pour une organisation. <p></p>La foaf:workInfoHomepage d'une foaf:Person est un foaf:Document qui décrit son travail. Il s'agit généralement, mais pas nécessairement, d'un document différent de sa foaf:homepage, et de sa (ses) foaf:workplaceHomepage(s). <h3>Property: foaf:workplaceHomepage (testing)</h3> Workplace homepage : Une homepage sur le lieu de travail de quelqu'un, la homepage de l'organisation pour laquelle il travaille. <p></p>La propriété foaf:worklaceHomepage d'une foaf:Person est un foaf:Document qui est la foaf:homepage d'une foaf:Organization pour laquelle elle travaille. <h3>Property: foaf:yahooChatID (testing)</h3> Yahoo chat ID : Une ID chat Yahoo chat. <p></p>La propriété foaf:yahooChatID relie un foaf:Agent à un identifiant textuel assigné par le système de chat en ligne Yahoo. <br/><h2>Présentation d'un document FOAF</h2> Le signe <code>"&lt;!-- --&gt;"</code> indique un commentaire en XML. Ces commentaires sont utilisés pour expliquer comment le marqueur RDF/XML est plaqué sur le graphe RDF, il s'agit de l'encodage d'un panel de déclarations simples à propos des propriétés et des relations. <p></p><code>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:dc="http://purl.org/dc/elements/1.1/"&gt; &lt;/rdf:RDF&gt;</code> <br/><br/>foaf est l'espace de nom FOAF, dont l'URI est : <a href="http://xmlns.com/foaf/0.1/">http://xmlns.com/foaf/0.1/</a> rdf est l'espace de nom Core, dont l'URI est <a href="http://www.w3.org/1999/02/22/rdf-syntax-ns#">http://www.w3.org/1999/02/22/rdf-syntax-ns#</a> <p></p>Les propriétés commencent avec des minuscules et encodent de relations. <p></p><code>&lt;foaf:name&gt;nom entier&lt;/foaf:name&gt;<br/> &lt;foaf:title&gt;titre&lt;/foaf:title&gt;<br/> &lt;foaf:firstName&gt;Prénom&lt;/foaf:firstName&gt;<br/> &lt;foaf:surname&gt;Surnom ou nom de famille&lt;/foaf:surname&gt;</code> <p></p>Les termes commençant avec des majuscules décrivent une instance d'une classe particulière, par exemple une catégorie ou un type de chose. Tous les éléments commençant par rdf:about en tant qu'attribut XML, sont des éléments décrivant une instance, par exemple une chose. Leur valeur est un nom URI, par exemple un identifiant universel Web (qui peut être abrégé en une référence locale comme « ../index.html » mais dont la valeur est unique sur le web.) Tous les éléments de la syntaxe RDF peuvent avoir des attributs XML. <p></p>Chaque élément XML encode une instance (node) ou une relation/propriété (edge) dans réseau node-edge-node de relations. On appelle ce réseau de choses reliées un graphique RDF. Ses "nodes" remplacent des choses, qui sont des instances de catégories générales de choses, par exemple des classes. Ses "edges" remplacent des propriétés de choses, par exemple des relations, attributs, etc. <p></p>Chaque "node" peut ou non être nommé avec un nom URI. Chaque "edge" sera nommé avec un nom URI, qui sera le nom d'une propriété RDF. <p></p>rdf:about est un attribut de l'élément XML encodant l'instance. rdf:resource est un attribut de la relation encodant l'élément XML. rdf:ID="..." est un raccourci pour "rdf:about="#..." quand il est utilisé sur un élément XML encodant une instance. rdf:parseType est un attribut de l'élément XML encodant une relation. Quand sa valeur est sur Ressource, il indique que l'élément XML immédiatement inclus est aussi un élément XML encodant la relation (donc une déviation du schéma morcelé qui représente la syntaxe XML/RDF). Quand sa valeur est sur Collection, cela indique que les éléments XML immédiatement inclus représentent une rdf:List organisée par une structure. Quand sa valeur est Literal. Cela indique que la valeur de la relation encodée est le contenu littéral de l'élément, considéré comme du XML. rdf:datatype est un attribut d'un éléments XML encodant la relation avec une valeur littérale, il porte une URI qui nomme un type de n&#x153;ud littéral. rdf:nodeID est un attribut des deux éléments XML encodant une instance et un relation, dont la valeur est une chaîne identifiant un noeud utilisée localement à l&#x2019;intérieur de ce document pour référencer quelque chose sans mentionner son nom URI. <p></p>Tous les éléments où apparaît "rdf:resource=" sont des éléments XML décrivant une relation qui lie une chose décrite par l&#x2019;élément à une chose nommée (par URI) dans le ressource=attribute. <h2>Un modèle pour faire un fichier FOAF</h2> <code>&lt;rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"<br/> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"<br/> xmlns:foaf="http://xmlns.com/foaf/0.1/"<br/> xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"<br/> xmlns:dc="http://purl.org/dc/elements/1.1/"&gt;<br/> &lt;foaf:Person&gt; <br/>&lt;foaf:name&gt;Nom complet&lt;/foaf:name&gt;<br/> &lt;foaf:title&gt;Titre&lt;/foaf:title&gt;<br/> &lt;foaf:firstName&gt;Prénom&lt;/foaf:firstName&gt;<br/> &lt;foaf:surname&gt;Surnom ou nom de famille&lt;/foaf:surname&gt;<br/> &lt;foaf:mbox rdf:resource="mailto:email"/&gt;<br/> &lt;foaf:mbox_sha1sum&gt; sum URI SHA1 de votre email&lt;/foaf:mbox_sha1sum here&gt; <br/>&lt;foaf:homepage rdf:resource="URL de votre homepage"/&gt;<br/> &lt;foaf:depiction&gt;&lt;foaf:Image rdf:about="URL de votre photo"/&gt;&lt;/foaf:depiction&gt;<br/> &lt;foaf:gender&gt;Sexe&lt;/foaf:gender&gt;<br/> &lt;foaf:icqChatID&gt;ID ICQ&lt;/foaf:icqChatID&gt;<br/> &lt;foaf:aimChatID&gt;ID pour les chats AIM&lt;/foaf:aimChatID&gt;<br/> &lt;foaf:workplaceHomepage rdf:resource="URL de votre lieu de travail"/&gt; <br/>&lt;foaf:based_near&gt; &lt;geo:Point geo:lat="Latitude géographique de l&#x2019;endroit où vous vivez" geo:long="Longitude géographique de l&#x2019;endroit où vous vivez"/&gt; &lt;/foaf:based_near&gt; <br/>&lt;foaf:made rdf:resource="URI/URL d&#x2019;un document que vous avez fait" /&gt; <br/>&lt;foaf:interest rdf:resource="URL de votre domaine d&#x2019;intérêt" dc:title="Domaine d&#x2019;intérêt" /&gt;<br/> &lt;/foaf:Person&gt; <br/>&lt;/rdf:RDF&gt;</code> <br/><p></p>Il faut retirer les balises si l&#x2019;on ne sait pas quoi mettre dedans. Les noms des balises sont sensibles à la casse. Les caractères &amp;, &lt;, &gt;, &#x201c;, deviennent respectivement &amp;amp; &amp;lt; &amp;gt; &amp;quot; <p></p>Les balises suivantes doivent n&#x2019;être présente qu&#x2019;une seule fois :<p></p> <code>&lt;foaf:name&gt;Nom complet&lt;/foaf:name&gt;<br/> &lt;foaf:title&gt;Titre&lt;/foaf:title&gt;<br/> &lt;foaf:firstName&gt;Prénom&lt;/foaf:firstName&gt;<br/> &lt;foaf:surname&gt;Surnom ou nom de famille&lt;/foaf:surname&gt;</code> <p></p>Une de ces balises doit être présente et on peut les utiliser plusieurs fois. <p></p><code>&lt;foaf:mbox rdf:resource="mailto:email"/&gt;<br/> &lt;foaf:mbox_sha1sum&gt;Sum URI SHA1 de votre email&lt;/foaf:mbox_sha1sum&gt;</code> Ces balises peuvent être présentes une ou plusieurs fois, ou même être omises. <p></p><code>&lt;foaf:homepage rdf:resource="URL de votre homepage "/&gt;<br/> &lt;foaf:depiction&gt; &lt;foaf:Image rdf:about="URL de votre photo"/&gt; &lt;/foaf:depiction&gt; <br/>&lt;foaf:gender&gt;Sexe&lt;/foaf:gender&gt; <br/>&lt;foaf:icqChatID&gt;ID ICQ&lt;/foaf:icqChatID&gt;<br/> &lt;foaf:aimChatID&gt;ID pour les chats AIM&lt;/foaf:aimChatID&gt;<br/>&lt;foaf:workplaceHomepage rdf:resource="URL de votre lieu de travail"/&gt; <br/>&lt;foaf:based_near&gt; &lt;geo:Point geo:lat=" Latitude géographique de l&#x2019;endroit où vous vivez" geo:long=" Longitude géographique de l&#x2019;endroit où vous vivez"/&gt; &lt;/foaf:based_near&gt;<br/> &lt;foaf:made rdf:resource="URI/URL d&#x2019;un document que vous avez fait" /&gt; <br/>&lt;foaf:interest rdf:resource="URL de votre domaine d&#x2019;intérêt" dc:title="Domaine d&#x2019;intérêt" /&gt;</code> <p></p>Pour rendre un fichier FOAF accessible, il suffit de le placer sur le web. Pour le rendre accessible aux moteurs FOAF, il suffit d&#x2019;indiquer la ligne suivante dans l&#x2019;entête des fichiers concernés : <p></p><p></p><code>&lt;link rel="meta" type="application/rdf+xml" title="FOAF" href="URL du fichier FOAF " /&gt;</code> <p></p>Il est possible d&#x2019;insérer des liens vers le fichier de données FOAF dans une homepage ou dans n&#x2019;importe quelle source HTML. Voici comment créer un lien vers le fichier : <p></p><code>&lt;a href="Emplacement du fichier FOAF"&gt;Texte du lien&lt;img src="URL où réside l&#x2019;image du lien vers le fichier de données FOAF" border="0" /&gt;&lt;/a&gt;</code> <p></p>On peut faire connaître son fichier FOAF en inscrivant son nom sur les listes wiki de fichiers FOAF aux adresses suivantes : <p></p><a href="http://rdfweb.org/topic/FOAFBulletinBoard">http://rdfweb.org/topic/FOAFBulletinBoard</a><p></p><a href="http://esw.w3.org/topic/AnRdfHarvesterStartingPoint">http://esw.w3.org/topic/AnRdfHarvesterStartingPoint</a> <p></p>ou dans les listes suivantes :<p></p> <p></p><a href="http://eikeon.com/foaf/"><a href="http://swordfish.rdfweb.org/rweb/addurl"></a>http://eikeon.com/foaf/</a><p></p> <a href="http://beta.plink.org/ping.php">http://beta.plink.org/ping.php</a><p></p><p><a></a></p> <a href="http://trust.mindswap.org/trustSubmit.shtml">http://trust.mindswap.org/trustSubmit.shtml</a><a href="http://swordfish.rdfweb.org/rweb/addurl"></a><p></p><a href="http://swordfish.rdfweb.org/rweb/addurl">http://swordfish.rdfweb.org/rweb/addurl</a><p></p> On peut relier son fichier FOAF à des agents FOAF. Pour le lier à FOAF explorer : <p></p><a></a><code>&lt;a href="http://xml.mfd-consult.dk/foaf/explorer/?foaf=URL du fichier FOAF"&gt;</code><p></p>Texte liant le fichier à FOAF explorer :<p></p><code>&lt;img src="URL de l&#x2019;image du lien vers FOAF explorer" border="0" /&gt;&lt;/a&gt;</code> <h2></h2><strong>Images de lien vers un fichier FOAF :<br/><br/><br/></strong><img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foafButton.gif"/><p><img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foaf.gif"/></p><strong><img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/rdf-metadata.png"/><br/><br/>Images de lien vers FOAF Explorer :</strong><br/><br/> <img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foaf-explorer.12.png"/><img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foaf-explorer.16.png"/><img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foaf-explorer.24.png"/><img src="http://tecfa.unige.ch/staf/staf-j/genet/staf18/foaf-explorer.32.png"/><br/><h1>Applications FOAF</h1><h2>Scutters, parseurs et scutterplans</h2>Un <strong>scutter</strong> est un programme informatique qui charge, parse, interprète et agit en fonction du contenu d'un réseau de documents RDF/XML. On les appelle aussi araignées ou robots. les liens entre les documents RDF sont souvent mais pas nécessairement exprimés en utilisant la propriété RDF 'rdfs:seeAlso'. Les scutters dépendent d'autres programmes comme les parseurs RDF et de systèmes de stockage. Les scutters utilisent l'approche flexible des données du web caractéristique à RDF, donc n'ont pas besoin d'avoir une connaissance spécifique d'une balise XMl particulière ou du vocabulaire RDF. La seule chose vitale pour eux est de savoir comment un fichier RDF mentionne un autre fichier rdf quelque part sur le web. Le mécanisme RDF pour cela est la popriété'rdfs:seeAlso' qui fournit une base pour l'aptitude des scutters à traiter des documents RDF comme un réseau interconnecté. Les scutters doivent aussi savoir quels sont les identifiants uniques. Ils gardent ensuite une liste de ces propriétés pour permettre de réunir des fragments de RDF qui mentionnent la même entité.<h2>Parseur RDF</h2><h3>Redland Raptor</h3>Redland propose un programme et une librairie C open source, <a href="http://www.redland.opensource.ac.uk/raptor/">Raptor</a>, qui parse les syntaxes RDF comme RDF/XML et les N-Triples en triples RDF.<h2>Scutters RDF</h2><h3>ayf: a disposable foaf harvester</h3><p></p><a href="http://rdfweb.org/2002/09/ayf/intro.html">ayf</a> <a></a>est un scutter rdf Perl qui parcourt les réseaux de fichiers FOAF RDF en utilisant les expressions régulières de Perl. Il commence à une URL donnée et continue jusqu'à être à court de documents liés par des références 'rdfs:seeAlso'. Il ne traverse pas tout le web de FOAF est ne fait pas grand chose des documents mais il démontre la simplicité de l'hypertexte du web sémantique. Le script génère un document html mis à jour en continu au fur et à mesure du scuttering.<h3>RDFWeb Scutter</h3><a href="http://rdfweb.org/2002/foaf/scutter/doc/scutter.html">RDFWeb Scutter</a> est un scutter rdf Ruby. C'est une collection de librairies et d'utilitaires qui permettent la traversée, le stockage et le questionnement d'un réseau distribué de documents RDF/XML. Le Scutter est écrit en Ruby et utilise le <a href="http://www.w3.org/2001/12/rubyrdf/intro.html">RubyRDF</a> pour ses fonctionnalités. Un parseur RDF (Redland's Raptor par exemple) est requis ainsi qu'une base de donnée RDBMS/SQL pour stocker les données à la sortie. Le Scutter peut se servir de signatures cryptographiques PGP/GPG si GPG est installé. Les interfaces web des données agrégées peuvent être crées en utilisant HTTP ou SOAP. <h2>Scutterplans</h2>Les Scutterplans sont des points d'entrée reconnus pour les Scutters. Ils constituent le départ du réseau de fichiers FOAF. Ils permettent de commencer à n'importe quel fichier FOAF relié au réseau principal et de trouver les autres fichiers.<p></p>Les plus connus sont :<br/>-le <a href="http://rdfweb.org/topic/FOAFBulletinBoard">foaf bulletin board</a> et sa <a href="http://jibbering.com/2002/10/rdf-wiki.1">version RDF</a><br/>-le <a href="http://esw.w3.org/topic/AnRdfHarvesterStartingPoint">RDF harvesting point</a> <br/>-le <a href="http://www.perceive.net/xml/googlescutterNoChatlogs.rdf">google scutter no chat logs</a> (généré par recherche des espaces de noms foaf dans Google)<br/>Il existe d'autres scutterplans comme celui de Libby Miller pour la co-dépiction (pas à jour), celui de Morten basé sur l'utilisation de FOAF Explorer et celui de Simon. Il existe bien évidemment des scutterplans privés.<h2><br/>Quels sont les outils les plus populaires fonctionnant avec FOAF ?</h2><p> </p><strong>FOAF-a-matic</strong> est un générateur automatique de fichier FOAF. Leigh Dodds a conçu une deuxième version toujours en beta testing. On remplit les champs et il fait le reste du travail. On obtient un fichier FOAF utilisable, qu'il ne reste qu'à mettre en ligne. <p></p><strong>FOAFnaut</strong> est un outil svg qui permet de visualiser l'univers FOAF. Il est composé d'un parseur javascript et d'une base de données foaf. En entrant l'adresse email d'une personne qui possède une page FOAF, on peut voir qui elle connaît (propriété foaf:knows) et avec qui elle est co-dépictée, c'est-à-dire avec qui elle apparaît sur une photo (propriété foaf:codepiction).<p></p><p></p>Actuellement la base de donnée fonctionne avec des données dépassées, le parseur foafnaut étant incapable de gérer la quantité de fichiers foaf.<p></p><strong>Foaf People Map</strong> permet de visualiser les personnes possédant un fichier FOAF sur le globe. <strong>FoafCorp</strong> est un outil de visalisation svg qui permet de voir les liens entre les grandes entreprises américaines. De nombreux leaders se partag ent entre plusieurs grandes entreprises. FoafCorp utilise les données de TheyRule, une base créée par Josh On qui vise à réunir des données sur les leaders des grandes entreprises américaines. A chaque fois que l'on clique sur un noeud (une entreprise représentée par un dollar), le viewer svg envoie une requête au serveur TheyRule qui répond par un fichier RDF, qui est ensuite codé en SVG DOM.<p></p>Les données de la base sont parsées en XML.<strong>FoafWebview</strong> est composé d'un parseur rdf (Redfoot et RDFlib) et d'une interface web de visualisation. Il permet de chercher les pages foaf de quelqu'un en utilisant la propriété foaf:mailbox. On peut chercher quelqu'un par son adresse email.<p></p><strong>FoaF Explorer</strong> représente l'infomation FOAF dans un format lisible pour les humains, par le biais de tranformations directes du RDF/XML en XHTML avec XSLT Il utilise le parseur RDF Raptor de Redland.<p></p><strong>FOAFBot</strong> est is an IRC qui donne accès à des bases de données créées en rassemblant des fichiers FOAF. On choisit un canal IRC et on peut donner des informations de base sur les membres d'une communauté. Le bot peut être interrogé avec des questions simples sur les membres de la communauté. Les personnes peuvent être identifiées soit par leur surnom IRC, leur nom complet ou leur adresse email.<h2>Sites générant du FOAF</h2>Il existe un certain nombre de sites qui créent des fichiers foaf :<br/>-Blog <a href="http://blogs.thebhg.org/">typepad</a>.<br/>-<a href="http://www.ecademy.com/">Ecademy</a> (voir plus bas.<br/>-blog Calypso (<a href="http://blogs.thebhg.org/">BHG</a>).<br/>-<a href="http://www.meinbild.ch/">Meinbild</a> (social software suisse pour adolescents tourmentés)<br/>-blog <a href="http://www.livejournal.com/">livejournal</a><br/>-blog <a href="http://www.deadjournal.com/">deadjournal</a> (pour psychotiques uniquement)<br/>-blog <a href="http://www.plogs.net/">plogs</a> <br/><h2>Applications communautaires de FOAF</h2>De nombreuses communautés ont proliféré sur Internet, allant des organisations professionnelles aux groupes sociaux. FOAF permet de créer un annuaire communautaire où les membres peuvent mettre à jour leurs données personnelles. Cela devient très intéressant quand les données peuvent être rassemblées et inter-reliées. FOAF est un outil puissant pour la gestion de communautés. En plus de fournir un service d'annuaire simple, il est possible d'utiliser l'information FOAF de nombreuses manières. Par exemple : augmenter le filtrage des emails en attribuant une priorité aux emails des collègues de confiance, localiser des gens avec les mêmes intérets que soi...<p></p>Plink ou people link est un agent de recherche de personnes et une application de réseau social développé par Dom Ramsey. Il permet de rechercher des amis et de voir qui ils connaissent et qui les connaît, de trouver des personnes avec des intérêts communs, ou des anciens élèves de son école. Plink se sert des données FOAF. Il n'est pas nécessaire de s'inscrire à Plink, il suffit d'avoir un fichier FOAF sur le web et de visiter le site plink à l'adresse <a href="http://beta.plink.org/">http://beta.plink.org/</a>. Une fois sur la page on doit cliquer sur ajouter son FOAF et entrer l'URL de son fichier FOAF.<p></p> La classe foaf:group permet de spécifier des alliances entre des groupes d'intérêts. <a href="http://peopleaggregator.com/">Peopleaggregator</a> est un outil communautaire basé sur la dépiction, il génère un profile foaf ou réutilise et modifie un fichier qu'on lui indique.<h2>Applications professionnelles de FOAF </h2><a href="http://www.ecademy.com/">Ecademy</a> est un social software basé sur l'idée du partage de la connaissance. Il génère automatiquement un profil FOAF. On peut y inscrire un certain nombre d'information d'utilité professionnelle. On peut mettre son CV, blogguer, poster des articles en ligne et faire partie de communautés d'intérêt et de pratique. Ecademy a une visée commerciale et n'est pas basé sur l'utilisation du seul langage FOAF. Si l'on veut profiter de toutes ses possibilités il faut payer. On devient alors un PowerNetworker: on est introduit à des entreprises de confiance, on a accès à un réseau illimité de professionnels, à des événements, des outils et des Regus Business centers. En résumé tout est basé sur la construction de relations commerciales payantes. Au bout de 10 minutes d'inscription j'ai un reçu un message privé du directeur de Naasei International Limited, désirant m'introduire à la communauté. Business quand tu nous tiens !<p></p><p></p><a href="http://www.zopto.com/">Zopto</a> est un site web qui permet de créer et de maintenir un profile de soi, de des amis, de ses intérets, de son lieu de vie. On peut explorer son réseau d'amis et se présenter à de nouvelles personnes et trouver des gens et des sujets d'intérêt. <a>Zopto</a> est basé sur FOAF et génère autmatiquement un profil FOAF accessible à tous les sites communautaires. Normalement on doit pouvoir le faire accéder à un fichier FOAF externe. Je n'ai pas réussi.<h2>Authentification par FOAF</h2><h3>FoaFCheck</h3>FOAF permet de vérifier l'identité. Ken Mac Leod propose un projet d'authentification basé sur une application, <a><a></a><a href="http://rdfweb.org/topic/FoafCheck">FoafCheck</a></a>, écrite en Python, qui prend l'URI d'une instance FOAF, qui vérifie sa signature et retourne la foaf:person que l'instance décrit.Cette authentification peut servir pour les commentaires dans les weblogs. L'implémentation de l'authentification par FoafCheck est toujours en projet mais l'idée est la suivante: l'hôte génère un "challenge" (utilisant FoafCheck) et sensible au temps, par exemple entre 6 et 10 caractères alphanumériques, et le place à côté de l'icône foaf dans le formulaire. L'utilisateur colle le challenge sur un client local qui le signe avec une clé privée, et le colle ensuite à nouveau dans un champ du formulaire (le champ nom). L'utilisateur colle l'URI de sa homepage ou d'un fichier foaf qui contient une description de sa foaf:person dans le champ homepage. L'hôte appelle FoafCheck avec l'URI et la réponse au challenge. FoafCheck localise et lit le FoaF file, localise et vérifie sa signature, chisit la foaf:Person appropriée et utilise la clé publique à l'intérieur du FoaF file pour décrypter la réponse et la comparer au challenge. Il existe aussi une version PHP et une version Perl de FoafCheck.<p></p><p></p><h3>SharedID</h3><br/><a href="http://www.sharedid.com/sharedid/">SharedID</a> est une alternative à FoafCheck. C'est une application beta qui permet les utilisateurs web de partager leurs informations personnelles de manière controlée avec leurs sites web favoris. SharedID est conçue sur les standards RSS, RDF and FOAF. Les utilisateurs n'ont plus besoin de mot de passe et ont un journal d'activité de ce qu'ils postent dans les sites web équipés. La perpective la plus intéressante de ces projets est de permettre l'dentification des utilisateurs qui postent des commentaires dans les weblogs et les forums.<h3>Signatures de fichiers FOAF grâce à PGP</h3>Pour authentifier un fichier FOAF, on peut bien sûr utiliser la propriété dc:creator mais il n'y a aucun moyen pour une machine de savoir si c'est vrai. Une signature PGP dans un fichier établit que le fichier n'a pas été changé et une qu'il est lié à une adresse. Bien sûr il est possible de concocter une fausse clé PGP avec l'adresse email de quelqu'un comme dans la propriété dc:creator d'un fichier. Ce qui est intéressant c'est que la clé publique fait entrer dans un web de confiance : on peut décider à quel point on fait confiance en ce que déclare une personne certifiée par une clé donnée. On peut donc implémenter un lien vers une signature PGP dans un fichier FOAF.<h2>Trust and reputation et Foaf</h2>Jennifer Golbeck a mis en place un projet de réseau de confiance (<a href="http://trust.mindswap.org/trustProject.shtml">Web of trust</a>) sur le web sémantique. Grâce à une application : le <a href="http://trust.mindswap.org/trust-o-matic.shtml">Trust-O-Matic</a>, on peut donner des estimations de la confiance que l&#x2019;on porte à des amis en entrant leurs adresses emails. On peut aussi entrer un pointeur vers son fichier foaf dans la base de données Trust. Les ratings sont stockés sur le serveur du Web of Trust mais on peut recopier le contenu généré par le Trust-O-Matic, l&#x2019;héberger chez soi et le relier au Web of Trust. <p></p>Morten Frederiksen a développé une application, le <a href="http://www.wasab.dk/morten/2004/02/trust/">Rate your FoAF</a>, qui permet de charger son fichier FOAF, de donner une estimation à ce fichier et aux personnes qui y figurent, et de recevoir un output que l&#x2019;on peut héberger chez soi et lier au Web of Trust. On peut, à l&#x2019;aide d&#x2019;une application Perl, générer des ratings automatiquement sur la base de son carnet d&#x2019;adresses. Sur le site du web of Trust, on peut calculer le taux de confiance entre deux individus à l&#x2019;aide d&#x2019;un algorithme. On peut voir ses statistiques personnelles et sa moyenne de ratin. On peur voir la taille du Trust Network. On peut voir les personnes qui ont fait le plus de ratings et visualiser le graphique du Web of Trust. Le code généré par le Trust-O-Matic ressemble à ce qui suit : <code><br/><br/>&lt;rdf:RDF xmlns="http://trust.mindswap.org/trustFiles/445.owl#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:trust="http://trust.mindswap.org/ont/trust.owl#"&gt; &lt;foaf:Person rdf:ID="me"&gt; &lt;foaf:mbox_sha1sum&gt;372798b851e9bd6b07c39b918540be0a4288ac18&lt;/foaf:mbox_sha1sum&gt; &lt;rdfs:seeAlso rdf:resource="http://tecfa.unige.ch/perso/staf/genet/foaf.rdf"/&gt; &lt;foaf:name&gt;Genet&lt;/foaf:name&gt; &lt;trust:trust10 rdf:resource="#P1"/&gt; &lt;trust:trust10 rdf:resource="#P2"/&gt; &lt;/foaf:Person&gt; &lt;foaf:Person rdf:ID="P1"&gt; &lt;foaf:mbox_sha1sum&gt;8eb84d817246345bae747934e2205e8be7d1d35f&lt;/foaf:mbox_sha1sum&gt; &lt;/foaf:Person&gt; &lt;foaf:Person rdf:ID="P2"&gt; &lt;foaf:mbox_sha1sum&gt;dbb0b7cc66ae8f5dc00777c38e24bf3b7a930bf6&lt;/foaf:mbox_sha1sum&gt; &lt;/foaf:Person&gt; &lt;/rdf:RDF&gt;</code> <p></p>Une des applications directes de ce projet est le filtrage anti-spam. <h2>Applications réseau de FOAF</h2><a href="http://rdfweb.org/people/damian/foaffinger/">FoafFinger</a> est une application Java qui permet de publier des informations FOAF sur un LAN et de consulter les informations des autres. On peut voir les informations au format rdf/xm, ajouter des informations sur les gens, voir qui est en ligne et envoyer des messages.<h2>Applications marrantes de FOAF</h2>Il existe deux scripts Python qui traduisent la liste de contact MSN en FOAF : <a><a></a></a><a href="http://frank.rollebol.com/articles/msnfoaf/ctt2foaf.py ">MSN contact list to FOAF conversion</a> et <a href="http://chimpen.com/msn2foaf/ ">MSN buddy list to FOAF</a>.<p></p><br/>Il existe un certain nombre d'extensions au vocabulaire FOAF : relations détaillées, f4 fan/foe/friend/freak, Trust Metrics, trust module, signature de documents RDF, Aéroport le plus prochen, infos de position spatiale, Test de personnalité MBTI Myers-Briggs, Langues parlées, liste de choses possédées, infos biographiques, Astrologie, réputation sociale, types de végétariens, infos sur le soleil (astrologie)...<h1></h1><h1>Applications possibles de FOAF</h1><h2>En vrac</h2>&#x2022; Un aggrégateur définitif qui collecte toutes les données, les parse, les mélange et produit toutes sortes de métadonnée, analyse, recherche&#x2026; <p></p>&#x2022; Un service web qui prend deux URLs FOAf et qui renvoie leur degré de séparation assez rapidement pour être utilisé pendant qu&#x2019;un navigateur recherche une page, et suffisamment fiable. <p></p> <p></p>&#x2022; Une liste de recommandation de foaf:persons qui sont des amis d&#x2019;amis mais ne sont pas des amis directs, qui montre combien de fois ils sont amis d&#x2019;amis. <p></p>&#x2022; Systèmes de recommandation de type Amazon qui basés sur une logique de type &#x201c;une personne qui connaît telle personne connaît aussi&#x2026; » <p></p>&#x2022; Un validateur spécialisé qui vérifie les vrais problèmes comme les pointeurs vers des images et des liens seeAlso qui sont brisés ainsi que les erreurs de base RDF et XML. <p></p>&#x2022; Un système qui prend votre fichier FOAF et qui construit un blogroll, une liste RSS à partir des sites web de gens que vous connaissez. <p></p>&#x2022; Une intégration de la propriété &lt;foaf :tipjar&gt; (mode de récompense) dans les tags de mp3 pour permettre à des applications comme iTunes d&#x2019;être dotée d&#x2019;un bouton « donner à tel artiste »<p></p> &#x2022; Un générateur Foaf knows IRC Bot qui permettrait de générer des graphiques de personnes qui se connaissent, et qui pourrait être étendu aux mailing lists et systèmes de messagerie. <h2>FoafInGnutella</h2> FOAF pourrait être utilisé dans les réseaux point à point (p2p). Il suffirait de désigner les personnes qu'on connaît avec foaf:knows. Les gens comme les centres d'intérets allant de pair, cela éviterait de perdre un temps fou à chasser des fantômes à l'aveuglette avec des taux de distributions effectifs très bas. En mappant le pouvoir des réseaux sociaux à la navigation p2p, on pourrait en accroître siginificativement les performances. La proximité géographique est un autre atout.<br/><h2>FOAF mobile</h2><a href="http://jibbering.com/discussion/Bluetooth-presence.1">FOAF mobile</a> est un projet basé sur la technologie bluetooth. L'idée de base est de localiser des gens en se basant sur l'adresse bluetooth de leur téléphone mobile. Les périphériques capables de détecter des périphériques bluetooth en d'envoyer l'information à un serveur central par le protocole http peuvent servir de points de détection bluetooth, à condition de connaître leur position spatiale. C'est le cas de tous les PC bluetooth, des pda et des téléphones mobiles. Un serveur collecte l'information sur les différents péripériques et pointe les lieux sur une carte. Les périphériques bluetooth ont une adresse unique comme une mac address. Si les utilisateurs incluent leur adresse bluetooth dans leur fichier foaf, ils peuvent relier l'information au périphérique. FOAF mobile peut permettre de reconnaître quelqu'un que l'on connait par son téléphone mobile.<p></p>Edd Dumbill à conçu une application appelée <a href="http://svn.usefulinc.com/svn/repos/trunk/foaf-face/">BlueFOAF</a>. Elle scanne la liste de foaf:friends et permet de les associer à des périphériques Bluetooth à portée de réception. Si un périphérique est accessible on peut voir le nom et la photo de la personne dans une liste.<h2>The codepiction project</h2>Il existe un projet appelé "codepiction project", basé sur la propriété co-dépiction du langage foaf. L'idée de la co-dépiction est née du fait que si l'on sait qui est représenté sur une photo, on peut explorer un réseau de relations entre les gens qui figurent sur une même image numérique. Le browser Amaya permet de générer des images-contours SVG pour mettre en évidences les différents régions d'une image et de les annoter avec RDF pour dire ce qu'elles représentent. On peut dire que telle partie de l'image représente une personne donnée. <h1>FOAF : Utopie ou avenir du web sémantique ?</h1> L&#x2019;analyse de réseaux sociaux (SNA) est la cartographie et la mesure des relations et du flux d&#x2019;information entre les gens, les groupes, les organisations, les ordinateurs et d&#x2019;autres entités de traitement de l&#x2019;information et de la connaissance. Les n&#x153;uds dans le réseau sont les gens et les groupes alors que les liens montrent les relations et les flux entre les n&#x153;uds. La SNA fournit une analyse visuelle et mathématique des relations humaines. Pour comprendre les réseaux et leurs participants, on évalue la position des acteurs dans leur réseau. L&#x2019;importance d&#x2019;un n&#x153;ud dans un réseau peut être sans rapport avec sa position dans la hiérarchie. Les mesures les plus souvent effectuées pour évaluer les centres les plus populaires d&#x2019;un réseau sont les degrés, l&#x2019;entourage et la proximité. Les degrés correspondent au nombre de connexions directes qu&#x2019;un n&#x153;ud possède. Plus un acteur en a, plus il est important. Un n&#x153;ud sans connexion directe mais qui est positionné entre deux entités importantes possède une grande force dans le sens où il sert de point crucial de passage de l&#x2019;information. Les n&#x153;uds qui possèdent le chemin le plus court d&#x2019;accès à l&#x2019;information ont une meilleure visibilité de ce qui se passe sur le réseau. En analysant les positions de tous les n&#x153;uds ont en apprend énormément sur la structure organisationnelle. <p></p>Le visualisateur FOAFcorp permet de prendre conscience des degrés et de l&#x2019;entourage des directeurs de grandes entreprises américaines. FOAFnaut permet de visualiser les degrés de foaf :persons grâce à la propriété foaf :knows. Cependant, de par les restrictions intrinsèques au vocabulaire FOAF et des moyens de visualisation disponibles restreints, FOAF seul ne peut servir de support à une véritable analyse de réseau social. Il ne donne pas d&#x2019;information précise sur la nature des relations des relations entre les foaf :persons, sur leur entourage ni sur leur proximité aux sources d&#x2019;information. On peut bien sûr déduire qu&#x2019;une foaf :person dont la foaf :workplace est le W3C a un accès direct aux informations sur les activités de W3C, mais, à moins que le W3C ait été foaf :funded par lui, on ne connaît son rôle dans l&#x2019;organisation. Il peut s&#x2019;agir d&#x2019;un stagiaire qui fait des photocopies. Le foaf module additionnel d&#x2019;Eric Vitiello pour décrire les relations de manière plus précise pèche aussi sur ce point puisqu&#x2019;il ne permet pas de décrire une fonction au sein d&#x2019;une organisation ou d&#x2019;un projet. En voici le contenu : <code>friendOf, acquaintanceOf, parentOf, siblingOf, childOf, grandchildOf, spouseOf, enemyOf, antagonistOf, ambivalentOf, lostContactWith, knowsOf, wouldLikeToKnow, knowsInPassing, knowsByReputation, closeFriendOf, hasMet, worksWith, colleagueOf, collaboratesWith, employerOf, employedBy, mentorOf, apprenticeTo, livesWith, neighborOf, grandparentOf, lifePartnerOf, engagedTo, ancestorOf, descendantOf, participantIn, participant</code>. <p></p>Le Web of Trust donne un estimation de la confiance portée à un foaf :friend, sans permettre d&#x2019;en savoir plus sur la relation. Un certain nombre de sites permettent une analyse plus fine mais qui n&#x2019;est pas basée sur FOAF uniquement, comme Ecademy, où elle est basée sur un contenu propriétaire généré quand l&#x2019;on s&#x2019;inscrit. FOAF est donc très limité dans ses apports à la SNA pour l&#x2019;instant. Il possède pourtant un potentiel pour le team building, la localisation de l&#x2019;expertise, le design organisationnel, la diffusion de l&#x2019;innovation, le knowledge management, l&#x2019;identification de communautés de pratiques, et la cartographie des flux d&#x2019;information. <p></p>Devant le nombre grandissant de communautés de réseaux sociaux, une abréviation a été créée : "YASN", yet another social network, qui veut dire que l&#x2019;on fait partie d&#x2019;une autre communauté. Toutes ces communautés manquent de possibilités d&#x2019;expansion (interopérabilité) et de segmentation (filtres). L&#x2019;information qui constitue ces réseaux est propriétaire et chaque communauté tire profit des bénéfices de marché générés par la combinaison d&#x2019;un réseau propriétaire et de la possession de l&#x2019;information avant les autres. Bien sûr, il y a un inconvénient pour les utilisateurs qui ont des amis sur des réseaux différents. Conséquemment si l&#x2019;information était transparente et interopérable, on n&#x2019;aurait un réseau sans limite et expansible- d&#x2019;où des problèmes de surcharge. Un mécanisme est nécessaire pour distinguer un bon ami d&#x2019;un associé ou d&#x2019;une connaissance. FOAF est une alternative décentralisée et très extensible. Les implications de son ouverture pour la sphère privée sont conséquentes. Si mon profile et mes amis sont cantonnés à une communauté donnée dans les communautés de réseaux sociaux, avec FOAF ils sont visibles par le monde entier. Différents projets visent actuellement à introduire les clés PGP et les clés d&#x2019;encryptions Novel dans le vocabulaire FOAF, dont celui de <a href="http://reagle.org/joseph/2003/09/foaf-spheres.html">Joseph Reagle</a>. Avec PGP, on pourrait signer les clés de ses amis. Une fois que j&#x2019;ai signé la clé de mon ami, si je reçois un email d&#x2019;un ami de mon ami, il suffit de vérifier que mon ami à signé la clé de son ami pour communiquer en toute sécurité. Certains de mes amis peuvent être des introducteurs et je peux établir une valeur de confiance pour déterminer lesquels de mes amis sont de bons introducteurs et des seuils déterminant combien de chaînes d&#x2019;introduction je veux bien accepter. Une clé cryptographique novel peut servir à établir des seuils qu&#x2019;il est possible d&#x2019;attribuer à des groupes en fonction du degré de proximité dans la relation. On pourrait segmenter l&#x2019;information FOAF personnelle et la rendre disponible à des sphères de pairs. Les éléments que l&#x2019;on veut cacher au grand public serait sécurisés par un élément EncryptedData ou un seuil. Le projet de Reagle n&#x2019;est pas opérationnel pour l&#x2019;instant. La structure du réseau social serait fortement dépendante de la facilité/difficulté avec laquelle on peut accéder à un profile. Cela pourrait être très utile pour modeler les différents niveaux de confiance dans un réseau social, donc pour l&#x2019;analyse des réseaux sociaux. <p></p>FOAF n&#x2019;est actuellement qu&#x2019;à l&#x2019;état embryonnaire. Il reste encore méconnu du grand public. Pour cette raison la plupart des applications de réseaux sociaux préfèrent s&#x2019;en passer et se cantonner à un contenu propriétaire, ou même s&#x2019;approprier le contenu des fichiers FOAF devenant propriétés de leurs serveurs, sur lesquels l&#x2019;utilisateur perd la main. Les outils permettant de générer du FOAF automatiquement sont à l&#x2019;état de beta testing, ou sont incomplets, comme FOAF-a-matic 1 et 2. Et le XML ne s&#x2019;édite pas facilement avec un bloc-note ! D&#x2019;où une démocratisation difficile. De nombreuses extensions au vocabulaire doivent être développées avant de pouvoir tirer réellement profit des possibilités de FOAF. Les problèmes relatifs à la sphère privée découlant de la publication de fichiers FOAF ouverts doivent actuellement être résolus par l&#x2019;implémentation effective de solutions de sécurité. Le manque d&#x2019;une Killer application se fait cruellement sentir, certainement parce que FOAF va à l&#x2019;encontre de profits commerciaux et parce que les personnes qui s&#x2019;investissent dans le projet ont le souci de sa complète interopérabilité. </main>
  <conclusion><br/>FOAF possède un potentiel quasi-infini. Il s&#x2019;agit du seul vocabulaire de description de personnes lisible par les machines qui soit standardisé. Comme dans tout projet n&#x2019;étant pas directement synonyme d&#x2019;aspects lucratifs, le facteur temps compte pour beaucoup. Le projet est venu au monde 1998, ce qui justifie une période d&#x2019;incubation. Le nombre de documents publiques contenant une déclaration impliquant le vocabulaire FOAF approche 3 millions (avec LiveJournal), donc un total de 6000 millions de triples (1er mars 2004). Même sans compter les résultats des transformations de formats de syndication variés, un simple scutter n'est plus capable de chercher, retrouver et stocker l'ensemble des contenus FOAF.</conclusion>
  <references>
    <reference><a href="http://www.ilrt.bris.ac.uk/discovery/2001/01/understanding-rdf/">http://www.ilrt.bris.ac.uk/discovery/2001/01/understanding-rdf/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafHistory">http://rdfweb.org/topic/FoafHistory</a></reference>
    <reference><a href="http://rdfweb.org/people/danbri/index4-nov98.html">http://rdfweb.org/people/danbri/index4-nov98.html</a> </reference>
    <reference><a href="http://rdfweb.org/people/danbri/">http://rdfweb.org/people/danbri/</a> </reference>
    <reference><a href="http://www.ilrt.bris.ac.uk/people/cmlm/">http://www.ilrt.bris.ac.uk/people/cm<a href="http://www.ilrt.bris.ac.uk/people/cmlm/"></a>lm/</a></reference>
    <reference><a href="http://xmlns.com/foaf/0.1/">http://xmlns.com/foaf/0.1/</a> </reference>
    <reference><a href="http://www.rajivshah.com/Case_Studies/Finger/Finger.htm">http://www.rajivshah.com/Case_Studies/Finger/Finger.htm</a></reference>
    <reference><a href="http://www.geekcode.com/">http://www.geekcode.com/</a></reference>
    <reference><a href="http://www.xml.com/pub/a/2004/02/04/foaf.html">http://www.xml.com/pub/a/2004/02/04/foaf.html</a></reference>
    <reference><a href="http://www.inrialpes.fr/exmo/cooperation/asws/exmo-sw.html">http://www.inrialpes.fr/exmo/cooperation/asws/exmo-sw.html</a></reference>
    <reference><a href="http://sis.univ-tln.fr/gdri3/fichiers/assises2002/papers/03-WebSemantique.pdf">http://sis.univ-tln.fr/gdri3/fichiers/assises2002/papers/03-WebSemantique.pdf</a></reference>
    <reference><a href="http://www.w3.org/XML/">http://www.w3.org/XML/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafProject">http://rdfweb.org/topic/FoafProject</a></reference>
    <reference><a href="http://www.ilrt.bris.ac.uk/discovery/2001/01/understanding-rdf/">http://www.ilrt.bris.ac.uk/discovery/2001/01/understanding-rdf/</a></reference>
    <reference><a href="http://swordfish.rdfweb.org/rdfquery/">http://swordfish.rdfweb.org/rdfquery/</a></reference>
    <reference><a href="http://usefulinc.com/foaf/foafbot">http://usefulinc.com/foaf/foafbot</a></reference>
    <reference><a href="http://www.foafnaut.org/">http://www.foafnaut.org/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafCorp">http://rdfweb.org/topic/FoafCorp</a></reference>
    <reference><a href="http://rdfweb.org/topic/CoDepiction">http://rdfweb.org/topic/CoDepiction</a></reference>
    <reference><a href="http://rdfweb.org/">http://rdfweb.org/</a></reference>
    <reference><a href="http://xmlns.com/foaf/0.1/">http://xmlns.com/foaf/0.1/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FAQ">http://rdfweb.org/topic/FAQ</a></reference>
    <reference><a href="http://www.ldodds.com/foaf/foaf-a-matic"><a></a>http://www.ldodds.com/foaf/foaf-a-matic</a></reference>
    <reference><a href="http://rdfweb.org/topic/FOAFBulletinBoard">http://rdfweb.org/topic/FOAFBulletinBoard</a></reference>
    <reference><a href="http://eikeon.com/foaf/">http://eikeon.com/foaf/</a></reference>
    <reference><a href="http://xml.mfd-consult.dk/foaf/explorer/">http://xml.mfd-consult.dk/foaf/explorer/</a></reference>
    <reference><a href="http://peopleaggregator.com/">http://peopleaggregator.com/</a></reference>
    <reference><a href="http://rdfweb.org/2002/01/photo/">http://rdfweb.org/2002/01/photo/</a></reference>
    <reference><a href="http://rdfweb.org/foafcorp/intro.html">http://rdfweb.org/foafcorp/intro.html</a></reference>
    <reference><a href="http://rdfweb.org/irc/">http://rdfweb.org/irc/</a></reference>
    <reference><a href="http://rdfweb.org/topic/IssueTracker">http://rdfweb.org/topic/IssueTracker</a></reference>
    <reference><a href="http://rdfweb.org/mailman/listinfo/rdfweb-dev">http://rdfweb.org/mailman/listinfo/rdfweb-dev</a></reference>
    <reference><a href="http://rdfweb.org/mailman/listinfo/foafcorp-dev">http://rdfweb.org/mailman/listinfo/foafcorp-dev</a></reference>
    <reference><a href="http://rdfweb.org/mailman/listinfo/foafnaut-dev">http://rdfweb.org/mailman/listinfo/foafnaut-dev</a></reference>
    <reference><a href="http://rdfig.xmlhack.com/">http://rdfig.xmlhack.com/</a></reference>
    <reference><a href="http://planb.nicecupoftea.org/">http://planb.nicecupoftea.org/<a href=""></a></a></reference>
    <reference><a href="http://rdfweb.org/topic/CoolStuff">http://rdfweb.org/topic/CoolStuff</a></reference>
    <reference><a href="http://rdfweb.org/topic/Tools">http://rdfweb.org/topic/Tools</a></reference>
    <reference><a href="http://rdfweb.org/topic/DataSources">http://rdfweb.org/topic/DataSources</a></reference>
    <reference><a href="http://rdfweb.org/topic/Vocabulary">http://rdfweb.org/topic/Vocabulary</a></reference>
    <reference><a href="http://rdfweb.org/topic/Tutorials">http://rdfweb.org/topic/Tutorials</a></reference>
    <reference><a href="http://rdfweb.org/topic/ApplicationIdeas">http://rdfweb.org/topic/ApplicationIdeas</a></reference>
    <reference><a href="http://rdfweb.org/topic/Criticism">http://rdfweb.org/topic/Criticism</a></reference>
    <reference><a href="http://rdfweb.org/topic/TowardFOAFster">http://rdfweb.org/topic/TowardFOAFster</a></reference>
    <reference><a href="http://rdfweb.org/mt/foaflog/archives/000025.html">http://rdfweb.org/mt/foaflog/archives/000025.html</a></reference>
    <reference><a href="http://www-106.ibm.com/developerworks/library/w-rdf/?dwzone=xml">http://www-106.ibm.com/developerworks/library/w-rdf/?dwzone=xml</a></reference>
    <reference><a href="http://www-106.ibm.com/developerworks/xml/library/x-think4/index.html">http://www-106.ibm.com/developerworks/xml/library/x-think4/index.html</a></reference>
    <reference> <a href="http://www-106.ibm.com/developerworks/xml/library/x-think5/index.html">http://www-106.ibm.com/developerworks/xml/library/x-think5/index.html</a></reference>
    <reference><a href="http://www-106.ibm.com/developerworks/xml/library/x-think6.html">http://www-106.ibm.com/developerworks/xml/library/x-think6.html</a></reference>
    <reference><a href="http://www-106.ibm.com/developerworks/xml/library/x-think8.html">http://www-106.ibm.com/developerworks/xml/library/x-think8.html</a></reference>
    <reference><a href="http://www-106.ibm.com/developerworks/xml/library/x-think9.html">http://www-106.ibm.com/developerworks/xml/library/x-think9.html</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafMobile">http://rdfweb.org/topic/FoafMobile</a></reference>
    <reference><a href="http://jibbering.com/discussion/Bluetooth-presence.1">http://jibbering.com/discussion/Bluetooth-presence.1</a></reference>
    <reference><a href="http://www.w3.org/TR/owl-guide/">http://www.w3.org/TR/owl-guide/</a></reference>
    <reference><a href="http://www.xml.com/pub/a/98/10/guide1.html#AEN58">http://www.xml.com/pub/a/98/10/guide1.html#AEN58</a></reference>
    <reference> <a href="http://www710.univ-lyon1.fr/~champin/rdf-tutorial/">http://www710.univ-lyon1.fr/~champin/rdf-tutorial/</a></reference>
    <reference><a href="http://dublincore.org/">http://dublincore.org/</a></reference>
    <reference><a href="http://www.bulat.f0.ru/tutorials/FOAFtut/eng/">http://www.bulat.f0.ru/tutorials/FOAFtut/eng/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FOAFSyntaxTips">http://rdfweb.org/topic/FOAFSyntaxTips</a></reference>
    <reference><a href="http://jibbering.com/foaf/">http://jibbering.com/foaf/</a></reference>
    <reference><a href="http://jibbering.com/2002/8/foaf-people-map.svg">http://jibbering.com/2002/8/foaf-people-map.svg</a></reference>
    <reference><a href="http://grorg.org/demos/foafcorp/">http://grorg.org/demos/foafcorp/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafNaut">http://rdfweb.org/topic/FoafNaut</a></reference>
    <reference><a href="http://www.svgopen.org/2003/papers/AnatomySVGWebServices/">http://www.svgopen.org/2003/papers/AnatomySVGWebServices/</a></reference>
    <reference><a href="http://www.w3.org/2001/08/rdfweb/svg-foaf.html">http://www.w3.org/2001/08/rdfweb/svg-foaf.html</a></reference>
    <reference><a href="http://www-106.ibm.com/developerworks/xml/library/x-foaf.html">http://www-106.ibm.com/developerworks/xml/library/x-foaf.html</a></reference>
    <reference><a href="http://www.zopto.com/">http://www.zopto.com/</a></reference>
    <reference><a href="http://www.ecademy.com/">http://www.ecademy.com/</a></reference>
    <reference><a href="http://jibbering.com/discussion/Bluetooth-presence.1">http://jibbering.com/discussion/Bluetooth-presence.1</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafAuthentication">http://rdfweb.org/topic/FoafAuthentication</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafCheck">http://rdfweb.org/topic/FoafCheck</a></reference>
    <reference><a href="http://www.sixapart.com/log/2003/01/fun_with_foaf.shtml">http://www.sixapart.com/log/2003/01/fun_with_foaf.shtml</a><a></a></reference>
    <reference><a href="http://www.sharedid.com/sharedid/">http://www.sharedid.com/sharedid/</a></reference>
    <reference><a href="http://frank.rollebol.com/articles/msnfoaf/ctt2foaf.py"><a>http://frank.rollebol.com/articles/msnfoaf/ctt2foaf.py</a><a href="http://frank.rollebol.com/articles/msnfoaf/ctt2foaf.py "></a></a></reference>
    <reference><a href="http://chimpen.com/msn2foaf/">http://chimpen.com/msn2foaf/</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafExtensions?action=show&amp;redirect=FoafExtension">http://rdfweb.org/topic/FoafExtensions?action=show&amp;redirect=FoafExtension</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafGroups">http://rdfweb.org/topic/FoafGroups</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafInGnutella">http://rdfweb.org/topic/FoafInGnutella</a></reference>
    <reference><a href="http://rdfweb.org/topic/FoafMailman">http://rdfweb.org/topic/FoafMailman</a></reference>
    <reference><a href="http://rdfweb.org/people/damian/foaffinger/">http://rdfweb.org/people/damian/foaffinger/</a></reference>
    <reference><a href="http://usefulinc.com/edd/blog/2004/2/1">http://usefulinc.com/edd/blog/2004/2/1</a></reference>
    <reference><a href="http://rdfweb.org/topic/DataSources">http://rdfweb.org/topic/DataSources</a></reference>
    <reference><a href="http://blogs.thebhg.org/">http://blogs.thebhg.org/</a></reference>
    <reference><a href="http://www.meinbild.ch/">http://www.meinbild.ch/</a></reference>
    <reference><a href="http://www.livejournal.com/">http://www.livejournal.com/</a></reference>
    <reference><a href="http://www.deadjournal.com/">http://www.deadjournal.com/</a></reference>
    <reference><a href="http://www.plogs.net/">plog http://www.plogs.net/</a></reference>
    <reference><a href="http://rdfweb.org/topic/ScutterStrategies">http://rdfweb.org/topic/ScutterStrategies</a></reference>
    <reference><a href="http://rdfweb.org/2002/09/ayf/intro.html">http://rdfweb.org/2002/09/ayf/intro.html</a></reference>
    <reference><a href="http://rdfweb.org/2002/foaf/scutter/doc/scutter.html">http://rdfweb.org/2002/foaf/scutter/doc/scutter.html</a></reference>
    <reference><a href="http://www.w3.org/2001/12/rubyrdf/intro.html">http://www.w3.org/2001/12/rubyrdf/intro.html</a></reference>
    <reference><a href="http://jibbering.com/foaf/foaf-people-map.svg">http://jibbering.com/foaf/foaf-people-map.svg</a></reference>
    <reference><a href="http://jibbering.com/rdf-parser/">http://jibbering.com/rdf-parser/</a></reference>
    <reference><a href="http://www.redland.opensource.ac.uk/raptor/">http://www.redland.opensource.ac.uk/raptor/</a></reference>
    <reference><a href="http://trust.mindswap.org/trustProject.shtml">http://trust.mindswap.org/trustProject.shtml</a></reference>
    <reference><a href="http://www.mindswap.org/papers/GolbeckEKAW04.pdf">http://www.mindswap.org/papers/GolbeckEKAW04.pdf</a></reference>
    <reference><a href="http://www.wasab.dk/morten/2004/02/trust/">http://www.wasab.dk/morten/2004/02/trust/</a></reference>
    <reference><a href="http://reagle.org/joseph/2003/09/foaf-spheres.html">http://reagle.org/joseph/2003/09/foaf-spheres.html</a></reference>
  </references>
</paper>

