Académique Documents
Professionnel Documents
Culture Documents
Hicham BEHJA
Web Ontology Languag
2
3
Profils
OWL est fourni avec plusieurs profils qui sont des sous-langages
dont la sémantique formelle diffère selon le champ d’application
4
Profils
OWL est fourni avec plusieurs profils qui sont des sous-langages
dont la sémantique formelle diffère selon le champ d’application
OWL
2 DL OWL2 pour les logiques de description
5
Profils
OWL est fourni avec plusieurs profils qui sont des sous-langages
dont la sémantique formelle diffère selon le champ d’application
6
Profils
OWL est fourni avec plusieurs profils qui sont des sous-langages
dont la sémantique formelle diffère selon le champ d’application
7
Profils
OWL est fourni avec plusieurs profils qui sont des sous-langages
dont la sémantique formelle diffère selon le champ d’application
8
Profils
OWL est fourni avec plusieurs profils qui sont des sous-langages
dont la sémantique formelle diffère selon le champ d’application
9
OWL2 offre la possibilité d’utiliser plusieurs syntaxes pour
formaliser des ontologies
10
Individus
11
La structure générale d’une ontologie Ontologie
diffère d’une syntaxe à une autre
Fonctionnelle
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)
Ontology(<http://www.ensem.ac.ma/ontologies>
…
) 12
La structure générale d’une ontologie Ontologie
diffère d’une syntaxe à une autre
Fonctionnelle
Manchester
Ontology: <http://www.ensem.ac.ma/ontologies>
…
13
La structure générale d’une ontologie Ontologie
diffère d’une syntaxe à une autre
Manchester
Turtle
@prefix : <http://www.ensem.ac.ma/ontologies#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://www.ensem.ac.ma/ontologies> .
RDF/XML
Turtle
<?xml version = “1.0” ?>
<rdf:RDF xmlns="http://www.ensem.ac.ma/ontologies#"
xml:base="http://www.ensem.ac.ma/ontologies"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
<owl:Ontology
rdf:about="http://www.ensem.ac.ma/ontologies"/>
…
</rdf:RDF>
15
OWL/XML
<?xml version = “1.0” ?>
Ontologie
<Ontology
xmlns="http://www.w3.org/2002/07/owl#"
xml:base="http://www.ensem.ac.ma/ontologies"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
ontologyIRI="http://www.ensem.ac.ma/ontologies">
<Prefix name="rdf"
IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<Prefix name="rdfs"
IRI="http://www.w3.org/2000/01/rdf-schema#"/>
<Prefix name="xsd"
IRI="http://www.w3.org/2001/XMLSchema#"/>
<Prefix name="owl"
IRI="http://www.w3.org/2002/07/owl#"/>
…
</Ontology>
16
Classes
Déclaration de classes
RDF/XML
<owl:Class rdf:about="http://www.ensem.ac.ma/#NOM_CLASSE">
Balise permettant la
IRI de base de la classe
déclaration d’une classe
17
Classes
Déclaration de sous-classes
RDF/XML
Balise RDFS pour la Nom de la sous-classe
déclaration d’une sous-classe
<owl:Class
<owl:Class
rdf:about="http://www.ensem.ac.ma/onto#SS_CLASSE">
rdf:about="http://www.ensem.ac.ma/onto#SS_CLAS
SE">
<rdfs:subClassOf
<rdfs:subClassOf
IRI de base de la classe
rdf:resource="http://www.ensem.ac.ma/onto#CLASSE_MERE"/
>
rdf:resource="http://www.ensem.ac.ma/onto#CLAS
</owl:Class>
SE_MERE"/>
Attribut RDF permettant de Nom de la classe mère
</owl:Class>
référencer la classe mère 18
Classes
<owl:AllDisjointClasses>
<owl:members rdf:parseType = “collection”>
<owl:Class
rdf:about="http://www.ensem.ac.ma/onto#CLASSE_1"/>
<owl:Class
rdf:about="http://www.ensem.ac.ma/onto#CLASSE_2"/>
<owl:Class
rdf:about="http://www.ensem.ac.ma/onto#CLASSE_3"/>
</owl:members>
Conteneur de la liste des Liste des classes
</owl:AllDisjointClasses>
classes disjointes 19
Classes
20
Classes
<owl:Class rdf:ID="Mère">
<owl:equivalentClass>
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:ID="Femme"/>
<owl:Class rdf:ID="Parent"/>
</owl:intersectionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
21
Classes
<owl:Class rdf:ID="Personne">
<owl:equivalentClass>
<owl:Class>
<owl:unionOf rdf:parseType="Collection">
<owl:Class rdf:ID="Etudiant"/>
<owl:Class rdf:ID="Salarié"/>
</owl:unionOf>
</owl:Class>
</owl:equivalentClass>
</owl:Class>
22
Classes
L’union disjointe
RDF/XML Balise OWL pour déclarer
l’existence d’une disjonction
avec une autre classe
<owl:Class rdf:about="http://www.ensem.ac.ma/onto#Class_1">
<owl:disjointUnionOf rdf:parseType="Collection">
<rdf:Description
rdf:about="http://www.ensem.ac.ma/
onto#Class_11"/> <rdf:Description
rdf:about="http://www.ensem.ac.ma/
onto#Class_12"/>
</owl:disjointUnionOf> Description de la classe
</owl:Class> faisant partie de l’union
23
Classes
Classes équivalentes
RDF/XML
Balise OWL pour déclarer
l’équivalence avec une autre
classe
<owl:Class
rdf:about="http://www.ensem.ac.ma/onto#classA">
<owl:equivalentClass
rdf:resource="http://www.ensem.ac.ma/onto#classB"/>
</owl:Class>
24
Propriété
s
25
Propriété
s
Object Properties
Data Properties
26
Propriété
s
Object Properties
Propriété permettant de relier deux classes
RDF/XML
Balise OWL pour la
définition d’un Object
Property
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
Data Properties
Propriété permettant de relier une classe à un littéral
RDF/XML
Balise OWL pour la
définition d’un Object
Property
<owl:DataProperty rdf:ID="DT_PROPERTY">
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="&xsd;string"/>
</owl:DataProperty>
Ressource de type littéral
exprimée en XML Schema
28
Propriété
s
amieDe Propriété
Personne
Classe A
Exemple 29
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type rdf:resource="&owl;SymmetricProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
enfantDe Propriété
Personne Classe A
Exemple 31
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type rdf:resource="&owl;AsymmetricProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
seConnait Propriété
Personn
e Classe A
Exemple 33
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type rdf:resource="&owl;ReflexiveProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
enfantDe Propriété
Personne Classe A
Exemple 35
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type rdf:resource="&owl;IrreflexiveProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
incluse Propriété
Région Classe A
Exemple 37
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type rdf:resource="&owl;TransitiveProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
Propriété
Classe A Classe B
39
Propriété
s
mariéeA
Femme Homme
Exemple 40
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type rdf:resource="&owl;FunctionalProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
Propriété
Classe A Classe B
42
Propriété
s
mèreBiologique
Femme Personne
Exemple 43
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE">
<rdf:type
rdf:resource="&owl;InverseFunctionalProperty"/>
<rdfs:domain rdf:resource="#CLASSE_DOMAIN"/>
<rdfs:range rdf:resource="#CLASSE_RANGE"/>
</owl:ObjectProperty>
Type OWL de l’Object
Balise RDF pour définir un Property
type pour une ressource 44
Propriété
s
Propriété 1
Classe A Classe B
Propriété 2
45
Propriété
s
mariéeA
Femme Homme
mariéA
Exemple 46
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE_1">
<rdfs:domain rdf:resource="#CLASSE_A"/>
<rdfs:range rdf:resource="#CLASSE_B"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE_2">
<rdfs:domain rdf:resource="#CLASSE_B"/>
<rdfs:range rdf:resource="#CLASSE_A"/>
<owl:inverseOf rdf:resource="#NOM_PROPRIETE_1" />
</owl:ObjectProperty>
47
Propriété
s
<owl:Class rdf:ID="Personne">
<owl:hasKey rdf:parseType="Collection">
<owl:DatatypeProperty rdf:ID="CIN"/>
</owl:hasKey>
</owl:Class>
48
Propriété
s
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE_1">
<rdfs:domain rdf:resource="#CLASSE_A"/>
<rdfs:range rdf:resource="#CLASSE_B"/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:ID="NOM_PROPRIETE_2">
<rdfs:domain rdf:resource="#CLASSE_B"/>
<rdfs:range rdf:resource="#CLASSE_A"/>
<owl:inverseOf rdf:resource="#NOM_PROPRIETE_1" />
</owl:ObjectProperty>
49
Propriété
s
50
Propriété
s
frèreDe
Mohamme
Hassan
d
pèreDe
oncleDe
Salim
51
Propriété
s
frèreDe
Mohamme
Hassan
d
filsDe
neveuDe
Salim
53
Propriété
s
Chaque annotation consiste en une propriété et une valeur qui peut être
une valeur littérale, une IRI ou un individu anonyme
55
Propriété
s
57
Propriété
s
owl:backwardCompatibleWith
IRI d’une ontologie contenant la dernière version antérieure compatible
pour une ressource (dans l’ontologie courante)
owl:incompatibleWith
IRI d’une ontologie contenant une version antérieure incompatible pour
une ressource (dans l’ontologie courante)
58
Propriété
s
Les restrictions
59
Propriété
s
Les restrictions
Quantification existentielle
60
Propriété
s
Les restrictions
Quantification existentielle
Exemple
Homme
pèreDe
est-un
61
Propriété
s
Les restrictions
Quantification existentielle
Exemple
<owl:Class rdf:about="Homme">
<owl:Class rdf:about="Père">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#pèreDe"/>
<owl:someValuesFrom
rdf:resource="#Homme"/>
</owl:Restriction>
</owl:equivalentClass>
<rdfs:subClassOf rdf:resource="#Homme"/> 62
Propriété
s
Les restrictions
Quantification existentielle
Exemple
Personne
age
est-un
Majeur
xsd:positiveInteger
<owl:withRestrictions rdf:parseType="Collection">
<rdf:Description>
<xsd:minInclusive rdf:datatype="&xsd;positiveInteger">
18
</xsd:minInclusive>
</rdf:Description>
</owl:withRestrictions>
</rdfs:Datatype>
</owl:someValuesFrom>
</owl:Restriction>
</owl:equivalentClass>
<rdfs:subClassOf rdf:resource="#Personne"/>
</owl:Class> 64
Propriété
s
Les restrictions
Quantification Universelle
65
Propriété
s
Les restrictions
Quantification Universelle
Exemple
Conférence
organisée
est-une
ConférenceAfricaine Ville
Les restrictions
Quantification Universelle
Exemple
<owl:Class rdf:about="ConférenceAfricaine">
<rdfs:subClassOf rdf:resource="Conférence"/>
<rdfs:subClassOf>
<owl:Restriction>
<owl:onProperty rdf:resource="organisée"/>
<owl:allValuesFrom
rdf:resource="villeAfricaine"/>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
67
Propriété
s
Les restrictions
Quantification Universelle
Exemple
Etudiant
CNE
est-un
AncienEtudiant rdfs:Litteral
Les restrictions
Quantification Universelle
Exemple
<owl:Class rdf:about="AncienEtudiant">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#CNE"/>
<owl:allValuesFrom
rdf:resource="&xsd;long"/>
</owl:Restriction>
</owl:equivalentClass>
<rdfs:subClassOf rdf:resource="#Etudiant"/>
</owl:Class>
69
Propriété
s
Les restrictions
Cardinalités
70
Propriété
s
Les restrictions
Cardinalités
Exemple
Homme
pèreDe
est-un
Les restrictions
Cardinalités
Exemple
<owl:Class rdf:about="Père">
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#pèreDe"/>
<owl:minQualifiedCardinality
rdf:datatype="&xsd;nonNegativeInteger"> 1
</owl:minQualifiedCardinality>
<owl:onClass rdf:resource="#Homme"/>
</owl:Restriction>
</owl:equivalentClass>
<rdfs:subClassOf rdf:resource="#Homme"/>
</owl:Class>
72
Individus
inscritDans
Etudiant Université
73
Individus
RDF/XML
<owl:ObjectProperty rdf:ID="inscrit_dans">
<rdfs:domain rdf:resource="#Etudiant"/>
<rdfs:range rdf:resource="#Université"/>
</owl:ObjectProperty>
74
Individus
inscritDans
Mohammed UH2C
75
Individus
<owl:NamedIndividual rdf:ID="UH2">
<rdf:type rdf:resource="#Université"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:ID="Mohammed">
<rdf:type rdf:resource="#Etudiant"/>
<inscritDans rdf:resource="#UH2"/>
</owl:NamedIndividual>
Type de l’individu
Nom de la propriété
76
Individus
dateNaissance
Etudiant xsd:date
77
Individus
RDF/XML
<owl:DataProperty rdf:ID="dateNaissance">
<rdfs:domain rdf:resource="#Etudiant"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DataProperty>
78
Individus
dateNaissance
Mohammed 1996-06-15
79
Individus
<owl:NamedIndividual rdf:ID="Mohammed">
<rdf:type rdf:resource="#Etudiant"/>
<dateNaissance>1996-06-15</dateNaissance>
</owl:NamedIndividual>
Type de l’individu
Nom de la propriété
80
n y m e s]
o
[anIndividus
81
n ym e s]
o
[anIndividus
Exemple
Un étudiant est inscrit dans une université et possède
une date de naissance dateNaissance
Etudiant
xsd:date
<owl:class rdf:ID = "Etudiant" />
<owl:class rdf:ID = "Université" /> inscritDans
<owl:ObjectProperty rdf:ID="inscrit_dans">
<rdfs:domain rdf:resource="#Etudiant"/> Université
<rdfs:range rdf:resource="#Université"/>
</owl:ObjectProperty>
<owl:DataProperty rdf:ID="dateNaissance">
<rdfs:domain rdf:resource="#Etudiant"/>
<rdfs:range rdf:resource="&xsd;date"/>
</owl:DataProperty>
82
n ym e s]
o
[anIndividus
dateNaissance
? 1996-06-15
83
n ym e s]
o
[anIndividus
<owl:NamedIndividual>
<rdf:type rdf:resource="#Etudiant"/>
<dateNaissance>1996-06-15</dateNaissance>
</owl:NamedIndividual>
Type de l’individu
Nom de la propriété
84
ym es ]
an
[ o n
Individus
inscritDans
Mohammed ?
85
ym es ]
[ano n
Individus
<owl:NamedIndividual rdf:nodeID="_u1">
<rdf:type rdf:resource="#Université"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:ID="Mohammed">
<rdf:type rdf:resource="#Etudiant"/>
<inscritDans rdf:resource="_u1"/>
Type de l’individu
</owl:NamedIndividual>
Nom de la propriété
86
[sim ilaires]
Individus
Similarité
Signaler un individus déclaré plusieurs fois avec différents IRI
Différence
Lever l’ambiguïté sur l’équivalence entre deux individus différents
possédant plusieurs propriétés similaires
87
[sim ilaires]
Individus
<owl:Class rdf:ID="Personne"/>
<owl:NamedIndividual rdf:ID="MohammedAmine">
<rdf:type rdf:resource="#Personne"/>
</owl:NamedIndividual>
<owl:NamedIndividual rdf:ID="MedAmine">
<rdf:type rdf:resource="#Personne"/>
<owl:sameAs rdf:resource="MohammedAmine"/>
</owl:NamedIndividual>
<rdf:Description>
<rdf:type
rdf:resource="http://www.w3.org/2002/07/
owl#AllDifferent"/>
<owl:distinctMembers rdf:parseType="Collection">
<rdf:Description rdf:ID="MohammedAmine"/>
<rdf:Description rdf:ID="MedAmine"/>
</owl:distinctMembers>
</rdf:Description>
89