Cours No 5 - Langages d'ontologies : RDF et OWL

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

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

87 εμφανίσεις

Cours No 5 - Langages d'ontologies:RDF et OWL 1Cours No 5 - Langages d'ontologies:RDF et OWLB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 2RDF:Resource Description FrameworkRDFest un pilier de l'activité Web Sémantique du W3C:RDF:description de ressources Web (métadonnées)RDF Schéma (RDFS):vocabulaires de description
(ontologies)Syntaxe XML:échange des métadonnées et des schémasB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 3Niveaux du modèle RDFOn peut distinguer entre quatre niveaux de modélisation:Niveau physique:triplets d'URLsTypes de Base:ressources,propriétés,déclarationsTypes Complexe:collections,listesSchémas:classes,types de propriétésB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 4Niveau Physique:DéclarationsUne déclaration est un triplet (a;b;c) siginie que le sujet a a
comme valeur pour la propriété b l'objet c.
a et b sont des URLs et c est une URL ou une valeur.
Formellement:Ensemble d'URLs:UEnsemble de littéraux (chaînes de caractères):VEnsemble de déclarations:T  U U (U [V )B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 5Exemples de Déclarations(http://cedric.cnam.fr/vertigo,dc:author,#michel)
(#vertigo,#homepage,http://cedric.cnam.fr/vertigo)
(#michel,#homepage,http://www-rocq.inria.fr/~scholl)
(#vertigo,#directeur,#michel)
(#michel,#nom,``Michel Scholl'')URLs externes:http://cedric.cnam.fr/vertigo,
dc:author,http://www-rocq.inria.fr/~schollURLs locales:#michel,#vertigo,#homepage,
#directeur,#nomValeurs:``Michel Scholl''B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 6Graphe RDFB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 7RéicationUne déclaration peut aussi être identiée par une URL:on
peut créer déclarations impliquant d'autres déclarations
(réication).
(#statement1,rdf:subject,#serge)
(#statement1,rdf:predicate,dc:author)
(#statement1,rdf:object,http://www.inria.fr/gemo)
(#luc,#croit,#statement1)(espace de noms RDF:http://www.w3.org/1999/02/22-rdf-syntax-ns#)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 8Types de BaseLes types de baserdf:Resourcerdf:Propertyrdf:Statement
permettent de distinguer les URLs qui sont des ressources et/ou
des propriétés et/ou des déclarations.
(#statement1,rdf:type,rdf:Statement)
(#statement1,rdf:type,rdf:Resource)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 9Types Complexes:Containers et ListesUn container est une ressource de type rdfs:Container.
Cette classe a trois sous-classes:rdf:Bag:multi-ensemble de ressourcesrdf:Sequence:séquence de ressourcesrdf:Alt:enumération de ressource
L'appartenance à une collection est encodée par des propriétés
rdf:_1,rdf:_2,rdf:_3,...
Une collection est une ressource:on peut avoir des
collections de collections.
Une liste est une ressource de type rdf:List:constructeurs:rdf:first,rdf:rest,rdf:nilB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 10Collection:ExempleMembres Verso:
(#students,rdf:type,rdf:Bag)
(#students,rdf:_1,#greg)
(#students,rdf:_2,#omar)
(#versomembers,rdf:type,rdf:Bag)
(#versomembers,rdf:_1,#serge)
(#versomembers,rdf:_2,#luc)
(#versomembers,rdf:_3,#michel)
(#versomembers,rdf:_4,#tova)
(#versomembers,rdf:_5,#claude)
(#versomembers,rdf:_6,#students)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 11Schémas de MétadonnéesRDF:ensemble de classes et de propriétés prédénies.RDF Schema permet d'étendre ce vocabulaire avec des
classes et types de propriétés spéciques à une application ou
un domaine.Les métadonnées RDF peuvent être validées par un schéma
RDF.B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 12Classes et Propriétésxmlns:rdfs=http://www.w3.org/2000/01/rdf-schema#rdfs:Classrdfs:subclassOf:sous-classes
Un type de propriété est une ressource de type rdf:Property.
RDFS permet de restreindre le domaine et le co-domaine d'un
type de propriété:rdfs:subpropertyOf:sous-propriétésrdfs:domain:domaine d'une propriétérdfs:range:co-domaine
Un type de propriétés peut avoir plusieurs domaines mais un
seul co-domaine.B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 13ExempleUne classe est une ressource de type rdfs:Class:
(#Group,rdf:type,rdfs:Class)
(#ResearchGroup,rdf:type,rdfs:Class)
(#ResearchGroup,rdfs:subclassOf,#Group)
(#memberOf,rdf:type,rdf:Property)
(#memberOf,rdfs:domain,#Student)
(#memberOf,rdfs:domain,#Researcher)
(#memberOf,rdfs:range,#Group)
(#vertigo,rdf:type,#ResearchGroup)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 14Schéma RDF avec instancesB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 15Syntaxe XMLRDF propose une syntaxe XML pour échanger des métadonnées
RDF et schémas RDFS:Document RDF/RDFS:éléments de type Description
Avantages:Outils XML:parseurs,stockage,transformationUtilisation des espaces de noms pour l'intégration
Mais attention:Modèle XML:modèle d'arbres d'éléments et de sous-élémentsModèle RDF:modèle de graphe de ressources (noeuds et
arcs sont étiquetés avec des URLs)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 16Exemple de document RDF<rdf:RDF xmlns:rdf="http://wwww.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:ex="http://mon_url.org/version/1.1/">
<rdf:Description rdf:ID="michel"/>
<rdf:Description rdf:ID="vertigo">
<ex:homepage>
<rdf:Description rdf:about='http://cedric.cnam.fr/vertigo">
<dc:author>
<rdf:Description rdf:about="#michel"/>
</dc:author>
</rdf:Description>
</ex:homepage>
<ex:directeur>
<rdf:Description rdf:about="#michel"/>
</ex:directeur>
</rdf:Description>
</rdf:RDF>B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 17Création de propriétésDénition des propriétés d'une ressource existante:
<rdf:Descriptionrdf:about='http://www.inria.fr/gemo'>
<rdf:type>
<rdf:Description rdf:about='#Homepage'/>
</rdf:type>
<dc:author>
<rdf:Description rdf:about='#serge'/>
</dc:author>
</rdf:Description>
(http://www.inria.fr/gemo,rdf:type,#Homepage)
(http://www.inria.fr/gemo,dc:author,#serge) B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 18Création de ressources localesDénition d'une nouvelle ressource locale (avec ses
propriétés):
<rdf:Descriptionrdf:ID='gemo'>
<directeur resource='#serge'/>
</rdf:Description>
(#gemo,#directeur,#serge)
Remarque:<directeur resource='#serge'/> est une
version compacte de
<directeur>
<rdf:Description rdf:about="#serge"/>
</directeur> B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 19Descriptions DistributivesDescription de tous les éléments d'une collection
<rdf:DescriptionaboutEach='#versomembers'>
<likes>coffee</likes>
<hates>bad research</hates>
</rdf:Description>
Distribution sur les ressources d'un site:
<rdf:Description aboutEachPrefix='http://www.rocq-inria*'>
<copyright>INRIA</copyright>
</rdf:Description> B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 20Syntaxe abrégéDescription:
<rdf:Description rdf:ID='serge'>
<rdf:type resource='#Researcher'/>
<vehicle>
<rdf:Description>
<rdf:type resource='#Car'/>
<brand>Peugeot</brand>
</rdf:Description>
</vehicle>
</rdf:Description>
Syntaxe abrégé:
<Researcher rdf:ID='serge'>
<vehicle>
<car brand='Peugeot'/>
</vehicle>
</Researcher>
Attention:Ce document XML représente un graphe.B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 21Pour être complet...Il est possible d'ajouter des informations supplémentaires pour
faciliter l'interprétation d'une description:xml:lang:langue utilisée dans les descriptionsrdf:ParseType="literal":propriétés de type XMLrdf:datatype="datatypeURI":la valeur de la propriété
est de type datatypeURI (référence vers un type de
données;par exemple XML Schema)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 22Projets et ApplicationsPICS:Platform for Internet Content SelectionRSS:RDF Site Summary (Netscape )ODP:Open Directory ProjectDAML:DARPA Agent Markup LanguageOWL:Ontology Web Language (W3C)B.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 23LogicielsBrowsers:IsaViz (W3C)Editeurs:Protégé,OilEdParseurs:Sirpac,PerlXmlParser,RDF parser en XSLT,
Validating RDF Parser (VRP)Entrepôts:Redland,rdfDB,Sesame,RDFSuiteLangages d'Interrogation:SiLRI,RQLB.Amann
Cours No 5 - Langages d'ontologies:RDF et OWL 24Conclusion sur RDFRDF estun modèle de métadonnées puissantlargement accepté et utilisémais trop limité pour:formuler des contraintes sémantiques plus riches etraisonner.
)OWLB.Amann
Web Ontology Language:OWL 25Web Ontology Language:OWLB.Amann
Web Ontology Language:OWL 26OWLDernier Working Draft W3C de 3/2003 (permière version:7/2002)
Extension de RDFS pour faciliterle partage/l'intégration d'ontologies et de métadonnées:RDFS
considère la dénition d'une ressource comme l'union de ses
descriptions.l'évolution d'ontologies:rdfs:subClassOf et
rdfs:subPropertyOf sont insufsant pour l'intégration.le raisonnement:détection d'inconsistances,...B.Amann
Web Ontology Language:OWL 27OWL:Dénition de classesUne classe peut être déniepar une référence (URI)par l'énumération de ses instancespar ses propriétés (dénition intensionnelle)comme union,intersection,complément d'autres classesB.Amann
Web Ontology Language:OWL 28Dénition par énumération<owl:Class rdf:ID="mycontinents">
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Eurasia"/>
<owl:Thing rdf:about="#Africa"/>
<owl:Thing rdf:about="#NorthAmerica"/>
<owl:Thing rdf:about="#SouthAmerica"/>
<owl:Thing rdf:about="#Australia"/>
<owl:Thing rdf:about="#Antarctica"/>
</owl:oneOf>
</owl:Class>B.Amann
Web Ontology Language:OWL 29Dénition intensionnelleLa classe est dénie par ses propriétés:Types de propriétés:owl:allValuesFrom,
owl:someValuesFromValeurs de propriétes:owl:hasValueCardinalité de propriétes:owl:maxCardinality,
owl:minCardinality,owl:Cardinality
Exemple:Classe des ressources qui ont au moins une propriété
#membre de type#Student
<owl:Restriction>
<owl:onProperty rdf:resource="#membre"/>
<owl:allValuesFrom rdf:resource="#Student"/>
</owl:Restriction>B.Amann
Web Ontology Language:OWL 30Intersection,union,complémentDénition d'une class à partir d'autres classes:owl:intersectionOf,owl:unionOf,owl:complementOf
<owl:Class>
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="mycontinents">
<owl:Class>
<owl:oneOf rdf:parseType="Collection">
<owl:Thing rdf:about="#Europe"/>
<owl:Thing rdf:about="#Asia"/>
<owl:Thing rdf:about="#America"/>
<owl:Thing rdf:about="#Africa"/>
<owl:Thing rdf:about="#Australia"/>
</owl:oneOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class>B.Amann
Web Ontology Language:OWL 31Relations entre classesrdfs:subClassOf:l'extension d'une classe est incluse dans
l'extension de l'autreowl:equivalentClass:les deux classes ont la même
extension,mais ne désignent pas le même concept.
<footballTeam owl:equivalentClass us:soccerTeam/>owl:disjointWith:les deux class sont disjointesB.Amann
Web Ontology Language:OWL 32Dénition de propriétésRDF Schema:rdfs:subPropertyOf,rdfs:domain et
rdfs:rangeRelations entre propriétés:owl:equivalentProperty:les deux propriétés ont la
même extension,mais ne sont pas identiques:owl:inverseOf:une propriété est l'inverse de l'autre.
<owl:ObjectProperty rdf:ID="enfant">
<owl:inverseOf rdf:resource="#parent"/>
</owl:ObjectProperty>B.Amann
Web Ontology Language:OWL 33Contraintes de cardinalité:owl:FunctionalProperty
(propriétés mono-valuées),
owl:InverseFunctionalProperty:
<owl:InverseFunctionalProperty rdf:ID="mèreBiologique">
<rdfs:domain rdf:resource="#femme"/>
<rdfs:range rdf:resource="#personne"/>
</owl:InverseFunctionalProperty>Contraintes logiques:owl:SymmetricProperty (époux)owl:TransitiveProperty (ancêtre)B.Amann
Web Ontology Language:OWL 34Commentaires et compatibilitéCommentaires:rdfs:label,rdfs:comment,rdfs:seeAlso,
rdfs:isDefinedBy
Compatibilité:owl:versionInfo,owl:priorVersion,
owl:backwardCompatibleWith,
owl:incompatibleWithowl:DeprecatedClass,owl:DeprecatedPropertyB.Amann
Web Ontology Language:OWL 35Hiérarchies de langages OWLB.Amann