Semantic Web Semantic Web RDF Schema RDF Schema - Inria

mustardunfInternet και Εφαρμογές Web

21 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

80 εμφανίσεις


Semantic Web

World Wide Web Consortium : www.w3.org
RDF Vocabulary

Extension du Web actuel où l’information
Description Language:
serait munie d’une signification (meaning)
bien définie
RDF Schema

Pour faciliter le travail en coopération
homme-machine
olivier.corby@sophia.inria.fr

Un Web de données et de documents

Semantic Web

Évolution du Web pour permettre le
traitement des informations par des
programmes

Documents et données structurés (XML)

Associer sémantique (sens) aux documents


http://www.scientificamerican.com/2001/0501issue/0501ber
W3C
ners-lee.html

RDF Schema RDF Schema

La ressource est un cours,
Classes de ressources

un cours a des enseignants,
Propriétés sur ces ressources

l’enseignant est un chercheur de l'INRIA,

etc.
1
RDF/XML Classes
<rdf:Description
ns:Seance rdf:type rdfs:Class
rdf:about=‘http://www.polytech.fr/log03’>
ns:Cours rdf:type rdfs:Class
<rdf:type rdf:resource='#Cours'/>
ns:TP rdf:type rdfs:Class
<titre>Web sémantique</titre>
ns:TD rdf:type rdfs:Class
</rdf:Description>
<rdfs:Class rdf:ID='Cours'/>
ns:Cours rdfs:subClassOf ns:Seance
ns:TP rdfs:subClassOf ns:Seance
ns:TD rdfs:subClassOf ns:Seance

Classes Classes
<rdfs:Class rdf:ID=‘Seance'/> <rdfs:Class rdf:ID='CoursVivant'>
<rdfs:subClassOf rdf:resource='#Cours'/>
<rdfs:Class rdf:ID='Cours'> <rdfs:subClassOf rdf:resource='#TP'/>
<rdfs:subClassOf rdf:resource='#Seance'/> </rdfs:Class>
</rdfs:Class>
<rdfs:Class rdf:ID=‘TP'>
<rdfs:subClassOf rdf:resource='#Seance'/>
</rdfs:Class>

Propriétés Propriétés
<rdf:Property rdf:ID='titre'> <rdf:Property rdf:ID='titre'>
<rdfs:domain rdf:resource='#Seance'/> <rdfs:domain rdf:resource='#Seance'/>
<rdfs:range rdf:resource=’&rdfs;Literal’/> <rdfs:range rdf:resource=’&rdfs;Literal’/>
</rdf:Property> </rdf:Property>
2
Propriétés Propriétés
<rdf:Property rdf:ID='titre'> <rdf:Property rdf:ID= '#enseignant' >
<rdfs:domain rdf:resource='#Seance'/> <rdfs:domain rdf:resource='#Seance'/>
<rdfs:range rdf:resource=’&rdfs;Literal’/> <rdfs:range rdf:resource='#Personne'/>
</rdf:Property> </rdf:Property>
<rdf:Property rdf:ID='nom'>
<rdfs:domain rdf:resource='#Personne'/>
<rdfs:range rdf:resource='&xsd;string'/>
</rdf:Property>

Subsomption
Annotation
<rdf:Description
rdf:about='http://www.polytech.fr/log03’>
Une classe peut spécialiser plusieurs classes
<rdf:type rdf:resource='#Cours'/>
<titre>Web sémantique</titre>
<rdfs:Class rdf:ID=‘EnseignantChercheur’>
<num>Log03</num>
<rdfs:subClassOf rdf:resource=‘#Enseignant’/>
<enseignant>
<Chercheur
<rdfs:subClassOf rdf:resource=‘#Chercheur’/>
rdf:about='http://www.inria.fr/Olivier.Corby’>
</rdfs:Class>
<nom>Olivier Corby</nom>
<institut>INRIA</institut>
</Chercheur>
</enseignant>
</rdf:Description>

Multi instanciation
Plusieurs Schema


Instance de plusieurs classes
Utiliser plusieurs schemas, grâce aux namespaces :
<rdf:Description
<rdf:Description
rdf:about=‘http://www.inria.fr/O.Corby’>
xmlns:rdf=`&rdf;’
xmlns:ns=`http://www.inria.fr/acacia/cours#’
<rdf:type rdf:resource=‘#Chercheur’/>
xmlns:ex=`http://www.polytech.fr/namespace#’>
<ns:institut>INRIA</ns:institut>
<ns:institut>INRIA</ns:institut>
<rdf:type rdf:resource=‘#Enseignant’/>
<ns:etablissement>UNSA</ns:etablissement>
<ex:formation>UNSA</ex:formation>
</rdf:Description>
</rdf:Description>
3
Propriété : domaine Domaines
ns:vitesse rdfs:domain ns:Objet
Le domaine est la conjonction des domaines
ns:vitesse rdfs:domain ns:Mobile
ns:vitesse rdfs:range rdfs:Literal
<rdf:Property rdf:ID=‘vitesse’>
<rdfs:domain rdf:resource=‘#Objet’/>
<rdfs:domain rdf:resource=‘#Mobile’/>
ex:car ns:vitesse “100”
<rdfs:range

rdf:resource=‘&rdfs;Literal’/>
ex:car rdf:type ns:Objet
</rdf:Property>
ex:car rdf:type ns:Mobile

Sous propriété (2)
Sous-propriété
<ns:Cours rdf:about=‘http://www.polytech.fr/log03’>
Une propriété peut être spécialisée :
<ns:coordinateur
rdf:resource=‘http://www.inria.fr/Olivier.Corby’/>
<rdf:Property rdf:ID='coordinateur'>
</ns:Cours>
<rdfs:subPropertyOf rdf:resource='#enseignant'/>

</rdf:Property>
<ns:Cours rdf:about=‘http://www.polytech.fr/log03’>
ex:bob ns:coordinateur ex:cours
<ns:enseignant

rdf:resource=‘http://www.inria.fr/Olivier.Corby’/>
ex:bob ns:enseignant ex:cours </ns:Cours>

Limitation de RDF Raffinement impossible
Impossible de surcharger la signature d’une propriété pour la
spécialiser
La propriété child étant définie, il est
impossible de la raffiner :
Class Primate
Class Man subClassOf Primate
<rdf:Property rdf:ID=‘child’>
Class Chimpanzee subClassOf Primate
<rdfs:domain rdf:resource='#Man'/>
<rdfs:range rdf:resource='#Man'/>
<rdf:Property rdf:ID=‘child’>
</rdf:Property>
<rdfs:domain rdf:resource='#Primate'/>
<rdfs:range rdf:resource='#Primate'/>
</rdf:Property>
4
Typage : domain
Solution en RDF
Les règles de typage diffèrent des modèles objet traditionnels.
Spécialiser la propriété :
L’utilisation d’une propriété sur une ressource entraine que la
ressource soit du type indiqué par le domaine de la propriété
<rdf:Property rdf:ID='manChild'>
<rdfs:subPropertyOf rdf:resource='#child'/>
ex:title rdfs:domain ex:Cours
<rdfs:domain rdf:resource='#Man'/>
ex:log11 ex:title “Modélisation des
<rdfs:range rdf:resource='#Man'/>
connaissances”
</rdf:Property>

ex:log11 rdf:type ex:Cours
Ou utiliser les restrictions de OWL

Typage : range Typage : class
Si une ressource est la valeur d’une propriété, la ressource est Si une ressource a pour type C, alors C est une classe :
du type indiqué par le range de la propriété
rdf:type rdfs:range rdfs:Class
ex:enseignant rdfs:range ex:Person
ex:log11 ex:enseignant ex:olivier
ex:olivier rdf:type ex:Person


ex:olivier rdf:type ex:Person
ex:Person rdf:type rdfs:Class

Typage : class et subClass Documentation
ex:olivier rdf:type ex:Researcher Pour documenter des énoncés RDF/S
ex:Researcher rdfs:subClassOf ex:Person

rdfs:label
ex:olivier rdf:type ex:Person rdfs:comment
rdfs:isDefinedBy
rdfs:seeAlso
5
Libellé Définition
Définition sous forme de texte en langue
Une ressource peut avoir plusieurs noms externes : labels
naturelle :
Peuvent être multilingues
<rdf:Property rdf:ID=‘name’> <rdfs:Class rdf:about=‘#Thing’>
<rdfs:domain rdf:resource='Person'/>
<rdfs:range rdf:resource=’&rdfs;Literal'/> <rdfs:comment xml:lang=‘fr’>La racine de la
hiérarchie des classes</rdfs:comment>
<rdfs:label xml:lang='fr'>nom</rdfs:label>
<rdfs:comment xml:lang=‘en’>The root of the
<rdfs:label xml:lang='en'>name</rdfs:label>
class hierarchy</rdfs:comment>
</rdf:Property>
</rdfs:Class>

Référence Meta modèle RDF
<rdfs:Class rdf:about=‘#Man’>
<rdfs:seeAlso rdf:resource=‘#Person’/>
</rdfs:Class>

Metamodèle RDF/S

Meta modèle RDF Meta modèle RDF
Modèle standard de bootstrap ObjVLisp

rdf:Property La classe des propri t s
rdfs:Resource Classe racine de la hiérarchie de
subsomption des classes, instance de rdfs:Class
rdf:Property rdf:type rdfs:Class
rdfs:Class La meta classe qui engendre des
classes, instance d’elle même, sous-classe de
rdfs:Resource
rdf:Property rdfs:subClassOf rdfs:Resource
rdfs:Resource rdf:type rdfs:Class
rdfs:Class rdf:type rdfs:Class
rdfs:Class rdfs:subClassOf rdfs:Resource
6
Meta modèle RDF Meta modèle RDF
rdf:type La relation d’instanciation
rdfs:subPropertyOf relation de subsomption des
propritétés (spécialisation)
rdf:type rdf:type rdf:Property
rdfs:subPropertyOf rdf:type rdf:Property
rdfs:subClassOf relation de subsomption (de
spécialisation)
rdfs:subClassOf rdf:type rdf:Property

Extension du meta modèle RDF Extension du meta modèle RDF
ex:Relation rdfs:subClassOf rdf:Property
ex:isa rdfs:subPropertyOf rdf:type ex:hasDomain rdfs:subPropertyOf rdfs:domain
ex:ma4l ex:isa ex:Car ex:valueType rdfs:subPropertyOf rdfs:range
ex:extends rdfs:subPropertyOf rdfs:subClassOf ex:speed ex:isa ex:Relation
ex:Car ex:extends ex:Mobile ex:speed ex:hasDomain ex:Mobile
ex:speed ex:valueType xsd:float
ex:Concept ex:extends rdfs:Class
ex:Car ex:isa ex:Concept

Exemple de Schema RDFS Exemple (2)
<rdfs:Class rdf:ID="Document">
<rdfs:subClassOf rdf:resource="#Entity"/>
<rdfs:subClassOf
<rdf:Property rdf:ID="Designation">
rdf:resource="#EntityConcerningATopic"/> <rdfs:subPropertyOf rdf:resource="#SomeRelation"/>
<rdfs:range rdf:resource=”&rdfs;#Literal"/>
<rdfs:subClassOf rdf:resource="#NumberableEntity"/>
<rdfs:domain rdf:resource="#Something"/>
<rdfs:comment xml:lang="en">Entity including
<rdfs:comment xml:lang="en">Identifying word or words
elements serving as a representation of
by which a thing is called and classified or
thinking.</rdfs:comment>
distinguished from others.</rdfs:comment>
<rdfs:comment xml:lang="fr">Entite comprenant des <rdfs:comment xml:lang="fr">Identifiant le ou les mots
par lesquels une chose s appelle et est classifiee ou
elements de representation de la
distinguee des autres.</rdfs:comment>
pensee.</rdfs:comment>
<rdfs:label xml:lang="en">designation</rdfs:label>
<rdfs:label xml:lang="en">document</rdfs:label>
<rdfs:label xml:lang="fr">designation</rdfs:label>
<rdfs:label xml:lang="fr">document</rdfs:label>
</rdf:Property>
</rdfs:Class>
7
Exemple (3) Exemple (3)
<c:ResearchReport <c:CreationDate>12-1996</c:CreationDate>
rdf:about=”http://www.inria.fr/rapports/sophia/RR-
<c:CreatedBy>
3071.html">
<c:ProjectGroup
<c:title>Modèles Génériques de Gestion de Conflits
rdf:about="http://www.inria.fr/recherche/equipes/acac
dans la Conception Concourante</c:title>
ia.en.html">
<c:CreatedBy>
<c:Designation>Acacia</c:Designation>
<c:Person
rdf:about=”http://www.inria.fr/acacia/Nada.Natta">
</c:ProjectGroup>
<c:FirstName>Nada</c:FirstName>
</c:CreatedBy>
<c:FamilyName>Matta</c:FamilyName></c:Person>
</c:ResearchReport>
</c:CreatedBy>
<c:CreatedBy>
<c:Person rdf:about="
http://www.inria.fr/acacia/Olivier.Corby">
<c:FirstName>Olivier</c:FirstName>
<c:FamilyName>Corby</c:FamilyName></c:Person>
</c:CreatedBy>
8