Post on 19-Mar-2016
description
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 1
Aspect théoriqueet
Web de données
Jour 2
Aspect pratiqueet
Ontologie
Jour 3
PHPet
Web sémantique
4
RDF : quelques infos complémentaires
La notion de nœud blanc
<http://www.w3.org/People/Berners-Lee/card#i>
« John Doe »
<http://xmlns.com/foaf/0.1/name>
?????
<http://xmlns.com/foaf/0.1/knows>
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:Point geo: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
Element XML de déclaration correspond au type de la ressource =<rdf:Description rdf:about="http://www.lespetitescases.net/foaf_got.rdf#GP"> <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/></rdf:Description>
Déclaration des préfixes
Elément racine
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:Point geo:lat="48.837" geo:long="2.404"/>
</foaf:based_near>
</foaf:Person></rdf:RDF>
Attribut pour déclarer l’URI du sujetL’URI du sujet
Qname pour le prédicatAttribut rdf:datatype pour forcer le type de
données d’un littéral
Si l’objet est un littéral, sa valeurest le contenu de l’élément
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:Point geo:lat="48.837" geo:long="2.404"/>
</foaf:based_near>
</foaf:Person></rdf:RDF>
Indiquer l’URI de l’objet dansl’attribut rdf:resource
URI de l’objet
Syntaxe du nœud blanc
Déclaration du prédicat en attribut =<geo:Point> <geo:lat>48.837</geo:lat></geo:Point>
Pour valider un flux RDF/XML, vous pouvez utiliser l’outil RDF validator mis
à disposition par le W3Chttp://www.w3.org/RDF/Validator/
8
FOAF : Friend Of A Friend
http://xmlns.com/foaf/spec/
Ontologie créée et maintenue par Dan Brickley et Libby Miller
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
<!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>
RDFa : quelques infos complémentaires
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
<!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>
RDFa : quelques infos complémentaires
Attribut @propertysi objet = Littéral
(ici dans attribut @content car dans l’en-tête HTML)
Attribut @relsi objet = Ressource
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 pageUtilisation de la hiérarchie de XHTML pour indiquer les différents triplets dont
l’URI est sujetAttribut @datatype pour
indiquer 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
Même chose mais ici on a un nœud blanc
Utilisation de la hiérarchie pour indiquer triplet sur une ressource elle-même
objet avec le prédicat foaf:knows
13
RDFa : quelques infos complémentaires / le résultat
Après avoir passé la page Web dans l’outil RDFa Distiller, on obtient les triplets suivants.
<?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>
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
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
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 des préfixes et des espaces de nomDéclaration du type
de requête Déclaration descontraintesDéclaration de la ou les
variables recherchées
Déclaration d’un tripleton note l’utilisation des chevrons si l’URI
est exprimé complètementDéclaration du littéral
entre 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
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>.} }}
UNION permet d’exprimer l’opérateur booléen « OU » (inclusif)
Le mot-clé ORDER
SELECT ?auteur ?name WHERE {?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>; foaf:name ?name}ORDER BY ?name
ORDER BY permet de classer les résultats suivants une variable déclarée
Le mot-clé LIMIT
SELECT ?auteur ?name WHERE {?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>; foaf:name ?name}ORDER BY ?nameLIMIT 20
LIMIT permet de limiter le nombre de résultats
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
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")). }
Filtrer les données avec les signes de comparaison mathématique
Filtre de regexp
SELECT ?auteur ?name WHERE { ?auteur a <http://dbpedia.org/class/yago/FrenchNovelists>. ?auteur foaf:name ?name FILTER regex(?name, '^Jean').}
Filtrer un littéral en y appliquant une regexp
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.
23
1. Définir les classes de l’ontologie, soit les types de ressources manipulés ;
2. Arranger les classes en une hiérarchie taxinomique (super-classe ; sous-classe) ;
3. Définir les relations et les attributs ;
4. Définir la logique des relations ;
5. Peupler l’ontologie, c’est-à-dire créer les instances.
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).
Rappel en 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.
Méthodologie pour la définition d’ontologies
Etapes pour définir une ontologie, soit un vocabulaire RDF
24
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.
OWL : les ensembles, racine et en-tête
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…
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.
<?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>
25
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 »
Chose
Être vivant
Personne
Chien
Document
Page Web
Livre
En RDF, une ressource appartient toujours à une classe.
26
Pour aller plus loin dans la définition des classes
Classe
Sous-classe
Classe complexe(pour info)
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.
Si A est une classe, B une sous-classe et C une instance de B, alors B est aussi une instance de A
http://xmlns.com/foaf/0.1/Agent
http://xmlns.com/foaf/0.1/Person
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>
Théorie Pratique
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 ;
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.
En RDF, un prédicat est une propriété définie dans un vocabulaire.
« une chaîne de caractères »
« une chaîne de caractères »connaît
créateurnomtitre
Page Web
Personne
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
Propriété d’objet (ObjectProperty)
Classe A Classe B
Propriété de type de données (DataTypeProperty)
Classe A rdfs:Literal
Définir une propriété
Nom humainement lisible de la propriété
Commentaire ou définitionde la propriété
Domaine,c’est-à-dire la classe en sujet
Co-domaine ou range,c’est-à-dire la classe ou
le type de donnée en objet
Propriété B
Propriété A
<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>
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.
En RDF, la logique permet de faire des inférences, c’est-à-dire de créer des nouvelles informations. »
Est frère de Homme A Homme B
Est frère de Homme B Homme A
« Est frère de » est une propriété symétrique
30
Pour aller plus dans la définition de la logique
Inverse
Equivalence entre les propriétés
Propriété transitive
Propriété symétrique
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.
Soit A relié à B par une propriété symétrique, alors B relié à A par la même propriété symétrique.
Les propriétés sur les propriétés
Propriété fonctionnelle Soit A une propriété transitive, B ne peut être relié par A que par un seul objet.
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.
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.
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