1 / 33

Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010

Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010. Présentation de la formation. Objectif : découvrir les technologies du Web sémantique tant du point de vue théorique que pratique. Jour 3. Jour 1. Jour 2. Aspect théorique et Web de données. PHP et

micheal
Download Presentation

Formation aux technologies du Web sémantique CCSD, Lyon, 8-10 septembre 2010

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formation aux technologies du Web sémantiqueCCSD, Lyon, 8-10 septembre 2010

  2. Présentation de la formation Objectif : découvrir les technologies du Web sémantique tant du point de vue théorique que pratique Jour 3 Jour 1 Jour 2 Aspect théorique et Web de données PHP et Web sémantique Aspect pratique et Ontologie

  3. Plan de la journée Ecrirele RDF Interrogerle RDF Modéliserle RDF

  4. RDF : quelques infos complémentaires La notion de nœud blanc <http://www.w3.org/People/Berners-Lee/card#i> <http://xmlns.com/foaf/0.1/knows> ????? <http://xmlns.com/foaf/0.1/name> « John Doe » Il est possible de déclarer une ressource en RDF qui n’a pas d’URI, on parle alors de nœud blanc (blank node). La ressource en question est contextuelle à une autre ressource et un outil lui attribuera une URI interne. Espaces de noms, préfixes, Qnames, Curies <http://xmlns.com/foaf/0.1/knows></http://xmlns.com/foaf/0.1/knows> Principe des Qnames : « Prefix:name », « foaf:knows » Déclaration des préfixes et de la partie redondante d’une URI

  5. RDF/XML : quelques infos complémentaires <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <foaf:Person rdf:about="http://www.lespetitescases.net/foaf_got.rdf#GP"> <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Gautier Poupeau</foaf:name> <foaf:gender xml:lang="en">male</foaf:gender> <foaf:interest rdf:resource="http://dbpedia.org/resource/XML"/> <foaf:knows rdf:resource="http://www.figoblog.org/foaf.rdf#EB"/> <foaf:based_near> <geo:Pointgeo:lat="48.837" geo:long="2.404"/> </foaf:based_near> </foaf:Person> </rdf:RDF> Remarque générale : pas de schéma, donc pas de validation en RDF/XML, il faut simplement respecter la structure du triplet Elément racine Déclaration des préfixes Element XML de déclaration correspond au type de la ressource = <rdf:Descriptionrdf:about="http://www.lespetitescases.net/foaf_got.rdf#GP"> <rdf:typerdf:resource="http://xmlns.com/foaf/0.1/Person"/> </rdf:Description>

  6. RDF/XML : quelques infos complémentaires <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <foaf:Person rdf:about="http://www.lespetitescases.net/foaf_got.rdf#GP"> <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Gautier Poupeau</foaf:name> <foaf:gender xml:lang="en">male</foaf:gender> <foaf:interest rdf:resource="http://dbpedia.org/resource/XML"/> <foaf:knows rdf:resource="http://www.figoblog.org/foaf.rdf#EB"/> <foaf:based_near> <geo:Pointgeo:lat="48.837" geo:long="2.404"/> </foaf:based_near> </foaf:Person> </rdf:RDF> L’URI du sujet Attribut pour déclarer l’URI du sujet Si l’objet est un littéral, sa valeurest le contenu de l’élément Qname pour le prédicat Attribut rdf:datatype pour forcer le type de données d’un littéral Indiquer la langue du littéral avecl’attribut xml:lang

  7. RDF/XML : quelques infos complémentaires <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"> <foaf:Person rdf:about="http://www.lespetitescases.net/foaf_got.rdf#GP"> <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Gautier Poupeau</foaf:name> <foaf:gender xml:lang="en">male</foaf:gender> <foaf:interest rdf:resource="http://dbpedia.org/resource/XML"/> <foaf:knows rdf:resource="http://www.figoblog.org/foaf.rdf#EB"/> <foaf:based_near> <geo:Pointgeo:lat="48.837" geo:long="2.404"/> </foaf:based_near> </foaf:Person> </rdf:RDF> Pour valider un flux RDF/XML, vous pouvez utiliser l’outil RDF validator mis à disposition par le W3Chttp://www.w3.org/RDF/Validator/ Indiquer l’URI de l’objet dansl’attribut rdf:resource URI de l’objet Déclaration du prédicat en attribut =<geo:Point> <geo:lat>48.837</geo:lat></geo:Point> Syntaxe du nœud blanc

  8. FOAF : Friend Of A Friend Ontologie créée et maintenue par Dan Brickley et Libby Miller http://xmlns.com/foaf/spec/

  9. Exercice : créer un profil FOAF en RDF/XML Deux ressources reliées • une ressource de type foaf:PersonalProfileDocument • une ressource de type foaf:Person Pour les URIs, prenez ce que vous souhaitez si vous ne possédez pas un nom de domaine, même http://exemple.org/ Propriétés minimales à utiliser • foaf:name • foaf:interest lié à une ressource de Dbpedia • foaf:based_near lié à une ressource de Geonames • foaf:knows lié à une ressource existante • exprimer sa date de naissance avec l’ontologie BIO (facultatif) Vous pouvez utiliser le générateur FOAF-a-MATIC pour initialiser votre fichier FOAF. Copiez le résultat dans un éditeur de texte et complétez le fichier.

  10. RDFa : quelques infos complémentaires <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xml:lang="fr"> <head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title> <meta property="dc:title" content="Mon profil FOAF"/> <link rel="foaf:maker" href="#GP"/> <link rel="foaf:primaryTopic" href="#GP"/> </head> <body> <div typeof="foaf:Person" about="#GP"> <p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p> Déclaration de la DTD spécifiqueXHTML + RDFa Déclaration des espaces de nomset des préfixes Déclaration de la langue doncrécupéré pour tous les littéraux Pas de déclaration URI du sujetdonc l’URL de la page par défaut

  11. RDFa : quelques infos complémentaires <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xml:lang="fr"> <head typeof="foaf:PersonalProfileDocument"> <title>Profil RDFa à titre d'exemple</title> <meta property="dc:title" content="Mon profil FOAF"/> <link rel="foaf:maker" href="#GP"/> <link rel="foaf:primaryTopic" href="#GP"/> </head> <body> <div typeof="foaf:Person" about="#GP"> <p>Je m'appelle <span property="foaf:name" datatype="xsd:string">Gautier Poupeau</span>. </p> Attribut @propertysi objet = Littéral (ici dans attribut @content car dans l’en-tête HTML) Attribut @typeof pour indiquer le type de la ressource = rdf:type Attribut @about pourdéclarer l’URI d’un sujet différent de l’URL de la page Attribut @relsi objet = Ressource Utilisation de la hiérarchie de XHTML pour indiquer les différents triplets dont l’URI est sujet Attribut @datatype pourindiquer le type de données

  12. RDFa : quelques infos complémentaires Mon anniversaire est le <span property="foaf:birthday" content="05-19" xml:lang="en">19 mai</span> </p> <p> Je suis passionné par les technologies du <span rel="foaf:interest" href="http://dbpedia.org/resource/Semantic_Web">Web sémantique</span>. </p> <p>Je tiens d'ailleurs un blog sur ces questions : <span rel="foaf:weblog"><a href="http://www.lespetitescases.net" property="dc:title">Les petites cases</a></span></p> <p>J'appartiens à la communauté des professionnels de l'information composée de :</p> <ul rel="foaf:knows"> <li typeof="foaf:person" about="http://www.figoblog.org/foaf.rdf#EB"> <a property="foaf:name" rel="foaf:homepage" href="http://www.figoblog.org">Emmanuelle Bermès</a> </li> <li typeof="foaf:person"> <a property="foaf:name" rel="foaf:homepage" href="http://stephanepouyllau.org/">Stéphane Pouyllau</a> </li> </ul> </div> </body> </html> Attribut @content pourindiquer contenu différent de l’élément Attribut @rel et @href pourindiquer triplet avec ressource en objet Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même objet avec le prédicat foaf:weblog Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même objet avec le prédicat foaf:knows Même chose mais ici on a un nœud blanc

  13. RDFa : quelques infos complémentaires / le résultat <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:dc="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#"> <foaf:PersonalProfileDocument rdf:about="http://www.lespetitescases.net/semweblabs/Formation-CCSD/RDFa.htm"> <foaf:maker> <foaf:Person rdf:about="http://www.lespetitescases.net/semweblabs/Formation-CCSD/RDFa.htm#GP"> <foaf:name rdf:datatype="http://www.w3.org/2001/XMLSchema#string">Gautier Poupeau</foaf:name> <foaf:knows> <foaf:person> <foaf:homepage rdf:resource="http://stephanepouyllau.org/"/> <foaf:name xml:lang="fr">Stéphane Pouyllau</foaf:name> </foaf:person> </foaf:knows> <foaf:knows> <foaf:person rdf:about="http://www.figoblog.org/foaf.rdf#EB"> <foaf:homepage rdf:resource="http://www.figoblog.org"/> <foaf:name xml:lang="fr">Emmanuelle Bermès</foaf:name> </foaf:person> </foaf:knows> <foaf:weblog> <rdf:Description rdf:about="http://www.lespetitescases.net"> <dc:title xml:lang="fr">Les petites cases</dc:title> </rdf:Description> </foaf:weblog> <foaf:birthday xml:lang="en">05-19</foaf:birthday> <foaf:interest rdf:resource="http://dbpedia.org/resource/Semantic_Web"/> </foaf:Person> </foaf:maker> <foaf:primaryTopic rdf:resource="http://www.lespetitescases.net/semweblabs/Formation-CCSD/RDFa.htm#GP"/> <dc:title xml:lang="fr">Mon profil FOAF</dc:title> </foaf:PersonalProfileDocument> </rdf:RDF> Après avoir passé la page Web dans l’outil RDFa Distiller, on obtient les triplets suivants.

  14. Object Reuse and Exchange (OAI-ORE) Ontologie créée et maintenue par l’Open Archives Initiative pour décrire l’agrégation de ressources Web ; conçue pour remplacer OAI-PMH en utilisant de manière plus conforme l’architecture du Web et en se basant sur les technologies du Web sémantique.

  15. Exercice : Ajouter du RDFa dans la page de notice de HAL Ontologies à utiliser • OAI-ORE • FOAF • Dublin Core Outils en ligne à utiliser pour vous aider • RDFa Distiller • Check RDFa • RDF Validator

  16. Plan de la journée Ecrirele RDF Interrogerle RDF Modéliserle RDF

  17. SPARQL : retour sur la syntaxe Les différents types de requêtes • SELECT qui permet de sélectionner des informations dans la base de données, c’est-à-dire de faire une recherche • CONSTRUCT qui permet de construire un nouveau graphe à partir des données disponibles (c'est-à-dire de combiner les données d’une nouvelle manière) • ASK qui permet de tester s’il existe au moins une réponse à une question posée • DESCRIBE permet de récupérer un graphe RDF (un ensemble de triplets) décrivant une ressource, à partir de son URI. La syntaxe d’une requête SPARQL Déclaration des préfixes et des espaces de nom PREFIX dbpedia: <http://dbpedia.org/resource/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?oeuvre WHERE { ?oeuvre <http://dbpedia.org/ontology/author> dbpedia:Victor_Hugo. ?oeuvre foaf:name "Les Misérables". } Déclaration du typede requête Déclaration descontraintes Déclaration de la ou les variables recherchées Déclaration d’un tripleton note l’utilisation des chevrons si l’URI est exprimé complètement Déclaration du littéralentre guillemets

  18. SPARQL : DISTINCT/OPTIONAL Le mot-clé DISTINCT SELECT ?predicat WHERE { <http://dbpedia.org/resource/Victor_Hugo> ?predicat ?objet. } Autant de résultats que de triplets dont Victor Hugo est sujet, plusieurs résultats identiques SELECT DISTINCT ?predicat WHERE { <http://dbpedia.org/resource/Victor_Hugo> ?predicat ?objet. } Dédoublonnage automatique des résultats Le mot-clé OPTIONAL PREFIX dbpedia: <http://dbpedia.org/ontology/> PREFIX foaf: <http://xmlns.com/foaf/0.1/ >SELECT ?auteur ?depiction WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>. ?auteur foaf:depiction ?depiction. ?auteur dbpedia:birthPlace <http://dbpedia.org/resource/Paris>. } Résultats que si toutes les contraintes sont vérifiées SELECT ?auteur ?depiction WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>. OPTIONAL {?auteur foaf:depiction ?depiction.} ?auteur dbpedia:birthPlace <http://dbpedia.org/resource/Paris>. } Résultats même si la contrainte optionnelle n’est pas vérifiée (mais affichage du résultat si elle existe)

  19. SPARQL : UNION/ORDER/LIMIT Le mot-clé UNION UNION permet d’exprimer l’opérateur booléen « OU » (inclusif) SELECT ?auteur WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>. { {?auteur <http://dbpedia.org/ontology/birthPlace> <http://dbpedia.org/resource/Paris>.} UNION {?auteur <http://dbpedia.org/ontology/birthPlace> <http://dbpedia.org/resource/Besan%C3%A7on>.} } } Le mot-clé ORDER ORDER BY permet de classer les résultats suivants une variable déclarée SELECT ?auteur ?name WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>; foaf:name ?name } ORDER BY ?name Le mot-clé LIMIT LIMIT permet de limiter le nombre de résultats SELECT ?auteur ?name WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>; foaf:name ?name } ORDER BY ?nameLIMIT 20

  20. SPARQL : les filtres Il est possible d’appliquer des filtres à une requête SPARQL pour limiter les résultats. Filtre lang() SELECT ?abstract WHERE { <http://dbpedia.org/resource/Victor_Hugo> <http://dbpedia.org/ontology/abstract> ?abstract. FILTER (lang(?abstract)=“fr”) } Filtrer selon la langue du littéral Filtre de comparaison Filtrer les données avec les signes de comparaison mathématique SELECT distinct ?auteur ?date WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>. ?auteur <http://dbpedia.org/ontology/birthDate> ?date. FILTER ( xsd:dateTime(?date) > xsd:dateTime("1950-01-01")). } Filtre de regexp Filtrer un littéral en y appliquant une regexp SELECT ?auteur ?name WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>. ?auteur foaf:name ?name FILTER regex(?name, '^Jean'). } Consulter la recommandation SPARQL pour découvrir les autres filtres

  21. Exercice : effectuer des requêtes SPARQL sur dbpedia Deux interfaces Web sont disponibles pour effectuer des requêtes • Interface classique : http://dbpedia.org/sparql • Interface améliorée : http://dbpedia.org/snorql N’oubliez pas d’indiquer la syntaxe de sortie HTML pour visualiser directement les résultats. Effectuez les requêtes suivantes : • formuler une requête qui affiche toutes les informations associées à l’URI de Victor Hugo. • rechercher une ressource ayant pour auteur Victor Hugo et pour type « Livre ». • rechercher des romanciers français nés à Paris. • rechercher des livres dont les auteurs ont les mêmes influences que l’auteur de « Madame Bovary ». Afficher également les auteurs.

  22. Plan de la journée Ecrirele RDF Interrogerle RDF Modéliserle RDF

  23. Méthodologie pour la définition d’ontologies Rappelen philosophie, l’ontologie est l’étude de l’être en tant qu’être, c’est-à-dire l’étude des propriétés générales de ce qui existe. En informatique et en sciences de l’information, l’ontologie est un système de modélisation de l’information permettant de représenter un domaine ou champ d’informations sous la forme d’un ensemble structuré et relié des termes et concepts. • Les éléments d’une ontologie informatique : • Classe : ensembles, collections, types d'objets, types de ressources manipulées (ex : documents, article, personne, événement, lieu, concept…) ; • Attribut : propriétés, fonctionnalités, caractéristiques ou paramètres que les objets peuvent posséder et partager (ex : titre, date, étiquette, nom) ; • Relation : lien que les objets peuvent avoir entre eux (ex : créateur, sujet, éditeur…) • Individu ou instance : les objets appartenant à une ontologie (ex : l’article « Semantic Web » écrit en 2001 par Tim Berners-Lee). Etapes pour définir une ontologie, soit un vocabulaire RDF • Définir les classes de l’ontologie, soit les types de ressources manipulés ; • Arranger les classes en une hiérarchie taxinomique (super-classe ; sous-classe) ; • Définir les relations et les attributs ; • Définir la logique des relations ; • Peupler l’ontologie, c’est-à-dire créer les instances.

  24. OWL : les ensembles, racine et en-tête OWL est une recommandation du W3C pour décrire des ontologies en se basant sur le modèle RDF. Il est issu des travaux de la DARPA sur DAML. Son but est de définir les types de ressources, les prédicats et la logique utilisés dans des triplets RDF. • La recommandation OWL définit trois ensembles d’expressions croissantes : • OWL Lite : hiérarchie de classes et mécanisme de contraintes simples ; • OWL DL : expressivité maximum et respect des possibilités de calcul d’inférence ; • OWL Full : expressivité maximum sans garantie de calcul d’inférence. <?xml version="1.0" encoding="UTF-8"?> <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:owl="http://www.w3.org/2002/07/owl#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xml:base="http://www.w3.org/2004/02/skos/core#"> <owl:Ontology rdf:about=""> <rdfs:label xml:lang="en">Ontology example</rdfs:label> <rdfs:label xml:lang="fr">Exemple d'ontologie</rdfs:label> <rdfs:comment xml:lang="fr">Ontologie exemple...</rdfs:comment> <owl:imports rdf:resource="http://uneautreontologie.org/onto.owl"/> </owl:Ontology> </rdf:RDF> • L’élément racine et l’en-tête d’une ontologie pour définir les métadonnées sur l’ontologie : • Titre d’une ontologie ; • Description d’une ontologie ; • Import d’une ontologie ; • Version précédente…

  25. Chose Être vivant Document Page Web Personne Livre Chien Définir des classes Dans notre monde, chaque chose a une nature, un type. • Exemples : • Tim Berners-Lee est une personne ; • Une personne est un être vivant ; • http://www.bnf.fr est une page Web • Une page Web est un document • … Dans le monde RDF, la nature d’une chose/ressource est une « classe » En RDF, une ressource appartient toujours à une classe.

  26. Pour aller plus loin dans la définition des classes Les classes correspondent aux types de ressources manipulés dans l’ontologie. Elles sont organisés hiérarchiquement. Il est possible de définir des classes complexes. Théorie Pratique Classe http://xmlns.com/foaf/0.1/Agent http://xmlns.com/foaf/0.1/Person Sous-classe Si <http://www.w3.org/People/Berners-Lee/card#i> est de type <http://xmlns.com/foaf/0.1/Person>, alors <http://www.w3.org/People/Berners-Lee/card#i> est aussi de type <http://xmlns.com/foaf/0.1/Agent> Si A est une classe, B une sous-classe et C une instance de B, alors B est aussi une instance de A Différence entre une classe et une instance : une classe représente les concepts et les types abstraits et les instances représentent les individus attribués à une classe dans le monde réel. • Intersection : Classe à l’intersection de deux classes ; • Union : Classe unissant deux classes ; • Les classes disjointes : précise qu’une classe est strictement disjointe d’une autre classe ; • Complémentaire : Classe étant défini comme complémentaire d’une autre classe ; • Classe énuméré : Classe défini par une liste d’instances ; Classe complexe(pour info) Equivalence entre lesclasses Soit A une classe équivalente à B, C appartient à A, alors C appartient à B.

  27. Définir des propriétés Dans notre monde, chaque type de choses possède des caractéristiques. • Exemples : • une personne a un nom ; • une personne connaît d’autres personnes ; • une page Web a un titre ; • une page Web a un créateur ; • … Dans le monde RDF, ces caractéristiques sont des propriétés. connaît Personne « une chaîne de caractères » créateur nom titre Page Web « une chaîne de caractères » En RDF, un prédicat est une propriété définie dans un vocabulaire.

  28. Pour aller plus loin dans la définition des propriétés Les propriétés définissent les relations possibles entre les classes ou entre une classe et un type de données. Un propriété définit dans une ontologie est utilisé comme prédicat dans les triplets RDF. Deux types de propriétés Classe A Classe B Propriété d’objet (ObjectProperty) Propriété de type de données (DataTypeProperty) Classe A rdfs:Literal Définir une propriété <owl:ObjectProperty rdf:ID="related"> <rdfs:label xml:lang="fr">Terme associé</rdfs:label> <rdfs:label xml:lang="en">related</rdfs:label> <rdfs:comment xml:lang="fr">Ma jolie description</rdfs:comment> <rdfs:domain rdf:resource="#Concept"/> <rdfs:range rdf:resource="#Concept"/> <rdfs:subPropertyOf rdf:resource="#semanticRelation"> </owl:ObjectProperty> Propriété B Domaine,c’est-à-dire la classe en sujet Nom humainement lisible de la propriété Propriété A Co-domaine ou range,c’est-à-dire la classe ou le type de donnée en objet Commentaire ou définitionde la propriété

  29. Définir une logique pour déduire Dans notre monde, chaque caractéristique et chaque type possèdent une logique interne. • Exemple : • Si un homme A est le frère d’un homme B, alors l’homme B est le frère de la personne A ; • … Dans le monde RDF, cette logique est exprimée clairement dans le vocabulaire. Est frère de Homme B Homme A « Est frère de » est une propriété symétrique Est frère de Homme A Homme B En RDF, la logique permet de faire des inférences, c’est-à-dire de créer des nouvelles informations. »

  30. Pour aller plus dans la définition de la logique Différents types de propriétés d’objet Soit A relié à B par une propriété transitive, B relié à C par la même propriété transitive, alors A relié à C par la même propriété transitive. Propriété transitive Soit A relié à B par une propriété symétrique, alors B relié à A par la même propriété symétrique. Propriété symétrique Soit A une propriété transitive, B ne peut être relié par A que par un seul objet. Propriété fonctionnelle Les propriétés sur les propriétés Soit une propriété A équivalent à une propriété B et C relié à D par la propriété A, alors C relié à D par la propriété B. Equivalence entre les propriétés Soit une propriété A inverse à une propriété B et C relié à D par la propriété A, alors D relié à C par la propriété B. Inverse

  31. OWL : les instances/individus Les instances d’une ontologie sont toutes les ressources dont le type appartient au moins une des classes de l’ontologie. <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/terms/" xmlns:skos="http://www.w3.org/2004/02/skos/core#"> <rdf:Description rdf:about="ark:/12148/cb150598844"> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/> </rdf:Description> <!-- OU --> <skos:Concept rdf:about="ark:/12148/cb150598844"> </skos:Concept> </rdf:RDF> Equivalence entre les individus Soit A appartient à une classe B, A est la même chose que B, alors C est la même chose que A et C appartient à la classe B

  32. Résumé : OWL en une slide Source : Fabien Gandon, http://2.bp.blogspot.com/_z1PUcRnw2jc/Sh2sYi0IaqI/AAAAAAAAAIU/QiR1ESMN3gQ/s1600-h/OWL+in+one.jpg

  33. Gautier Poupeau Antidot | GSM: +33 (0)6 45 49 59 77 F-75 Paris | mailto: gpoupeau@antidot.net Blog : Les petites cases | Twitter : @lespetitescases Merci pour votre attention

More Related