Quelle est la différence entre RDF et OWL? [fermé]

191

J'essaye de saisir le concept de Web sémantique. J'ai du mal à comprendre quelle est exactement la différence entre RDF et OWL. OWL est-il une extension de RDF ou ces deux technologies sont-elles totalement différentes?

user32262
la source
Personnellement,
dgorissen

Réponses:

272

Le web sémantique se décline en couches. Voici un bref résumé de ceux qui vous intéressent.

Mise à jour : veuillez noter que RDFS est utilisé pour définir la structure des données, pas OWL. OWL décrit les relations sémantiques dont la programmation normale, telle qu'une structure C, n'est pas préoccupée et est plus proche de la recherche en IA et de la théorie des ensembles.

Triples et URI

Subject - Predicate - Object

Ceux-ci décrivent un seul fait. En général, les URI sont utilisés pour le sujet et le prédicat. L'objet est soit un autre URI, soit un littéral tel qu'un nombre ou une chaîne. Les littéraux peuvent avoir un type (qui est également un URI), et ils peuvent également avoir une langue. Oui, cela signifie que les triplets peuvent avoir jusqu'à 5 bits de données!

Par exemple, un triple pourrait décrire le fait que Charles est le père de Harry.

<http://example.com/person/harry> <http://familyontology.net/1.0#hasFather> <http://example.com/person/charles> .

Les triples sont la normalisation de la base de données poussée à l'extrême logique. Ils ont l'avantage de pouvoir charger des triplets de plusieurs sources dans une seule base de données sans reconfiguration.

RDF et RDFS

La couche suivante est RDF - The Resource Description Framework. RDF définit une structure supplémentaire pour les triplets. La chose la plus importante que RDF définit est un prédicat appelé "rdf: type". Ceci est utilisé pour dire que les choses sont de certains types. Tout le monde utilise rdf: type ce qui le rend très utile.

RDFS (RDF Schema) définit certaines classes qui représentent le concept de sujets, d'objets, de prédicats, etc. Cela signifie que vous pouvez commencer à faire des déclarations sur les classes d'objets et les types de relations. Au niveau le plus simple, vous pouvez énoncer des choses comme http://familyontology.net/1.0#hasFather est une relation entre une personne et une personne. Il vous permet également de décrire dans un texte lisible par l'homme la signification d'une relation ou d'une classe. Ceci est un schéma. Il vous indique les utilisations légales de diverses classes et relations. Il est également utilisé pour indiquer qu'une classe ou une propriété est un sous-type d'un type plus général. Par exemple, "HumanParent" est une sous-classe de "Person". "Loves" est une sous-classe de "Knows".

Sérialisations RDF

RDF peut être exporté dans un certain nombre de formats de fichiers. Le plus courant est RDF + XML mais cela présente quelques faiblesses.

N3 est un format non XML qui est plus facile à lire, et il y a quelques sous-ensembles (Turtle et N-Triples) qui sont plus stricts.

Il est important de savoir que RDF est une façon de travailler avec des triplets, PAS les formats de fichiers.

XSD

XSD est un espace de noms principalement utilisé pour décrire les types de propriétés, comme les dates, les entiers, etc. On le voit généralement dans les données RDF identifiant le type spécifique d'un littéral. Il est également utilisé dans les schémas XML, qui sont une marmite de poisson légèrement différente.

HIBOU

OWL ajoute une sémantique au schéma. Il vous permet de spécifier beaucoup plus sur les propriétés et les classes. Il est également exprimé en triplets. Par exemple, cela peut indiquer que "Si A est Marié à B", cela signifie que "B est Marié à A". Ou que si " C isAncestorOf D " et " D isAncestorOf E " alors " C isAncestorOf E ". Une autre chose utile que Owl ajoute est la possibilité de dire que deux choses sont identiques. Ceci est très utile pour joindre des données exprimées dans différents schémas. Vous pouvez dire que la relation" engendrée "dans un schéma est Owl: sameAs" engendré "dans un autre schéma. Vous pouvez également l'utiliser pour dire que deux choses sont identiques, par exemple "Elvis Presley" sur Wikipédia est le même sur la BBC. C'est très excitant car cela signifie que vous pouvez commencer à regrouper les données de plusieurs sites (il s'agit de «données liées»).

Vous pouvez également utiliser OWL pour déduire des faits implicites, tels que " C isAncestorOf E ".

Christopher Gutteridge
la source
21
Voici une image des couches du Web sémantique: w3.org/2001/12/semweb-fin/swlevels.png Juste pour référence.
Timo Westkämper
8
Une partie de cela qui ne me semble pas encore claire est qu'il semble y avoir un certain chevauchement entre ce que RDFS et OWL peuvent exprimer. Par exemple, un owl: Class peut ressembler beaucoup à un rdfs: Class. (Par exemple, une entité de type owl: Class fait souvent l'objet de plusieurs prédicats RDFS tels que rdfs: comment et rdfs: subclassOf.) J'ai du mal à comprendre comment OWL est une couche au-dessus de RDFS, car quand il s'agit de définissant des classes, cela ressemble plus à un moyen d'enrichir ce que vous pourriez faire avec RDFS.
Ian Griffiths
En fonction du profil OWL / OWL-2 que vous utilisez, vous avez la possibilité «supplémentaire» d'enrichir votre base de connaissances avec des axiomes DL (par exemple, restrictions de propriété, disjonction, et bien d'autres).
Zhubarb
4
@IanGriffiths: en fait sous la sémantique OWL2, owl: Class et rdfs: Class (ainsi que plusieurs paires plus surprenantes) sont équivalents: answers.semanticweb.com/questions/30954/…
Vladimir Alexiev
... OWL, RDFS, XSD ... sont des langages complémentaires ... chacun joue un rôle dans la description de votre domaine et tous se joignent pour l'enrichir ...
Sergio
82

En bref:

  • RDF définit comment écrire des choses
  • OWL définit ce qu'il faut écrire

Comme l'a écrit l'affiche précédente, RDF est une spécification qui vous indique comment définir des triplets.

Le problème est que RDF vous permet de tout définir, vous pouvez donc composer une déclaration comme celle-ci:

| subject | predicate | object |
|---------|-----------|--------|
| Alex    | Eats      | Apples |
| Apples  | Eats      | Apples |
| Apples  | Apples    | Apples |

Ces triplets forment des documents RDF valides.

Mais, sémantiquement, vous comprenez que ces déclarations sont incorrectes et RDF ne peut pas vous aider à valider ce que vous avez écrit.

Ce n'est pas une ontologie valide.

La spécification OWL définit exactement ce que vous pouvez écrire avec RDF afin d'avoir une ontologie valide.

Les ontologies peuvent avoir plusieurs propriétés.

C'est pourquoi OWL (ver 1) définit plusieurs versions comme OWL DL, OWL Lite, OWL Full.

alexkr
la source
28
Mais notez que OWL ne contraindra pas ce que vous pouvez mettre dans votre magasin RDF - les informations de schéma OWL sont principalement utilisées pour l'inférence, pas pour appliquer des contraintes.
DNA
32

RDF, RDFS et OWL sont des moyens d'exprimer des informations ou des connaissances de plus en plus complexes. Tous peuvent être sérialisés dans la syntaxe RDF / XML (ou toute autre syntaxe de sérialisation RDF comme Turtle ou N3 par exemple).

Ces technologies sont liées et supposées être interopérables, mais elles ont des origines différentes, c'est peut-être pourquoi la relation entre elles est compliquée à appréhender. Le choix de l'un ou de l'autre dépend de la complexité de la situation que vous modélisez.

Résumé de l'expressivité

RDF : représentation simple, focalisée sur les instances et sur la correspondance avec leurs types ( rdf:type). Il est possible de définir des propriétés personnalisées pour lier des données et créer des triplets. Les données RDF sont interrogées avec SPARQL. Exemple de RDF sérialisé dans Turtle:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .

RDFS: Certaines situations ne sont pas facilement modélisées par RDF seul, il est parfois intéressant de représenter des relations plus complexes comme des sous-classes ( le type d'un type ) par exemple. RDFS fournit des moyens spéciaux pour représenter de tels cas, avec des constructions comme rdfs:subClassOf, rdfs:rangeou rdfs:domain. Idéalement, un raisonneur peut comprendre la sémantique RDFS et augmenter le nombre de triplets en fonction des relations: par exemple, si vous avez les triplets John a Man, Man rdfs:subClassOf Humanvous devez générer également le triplet John a Human. Notez que cela n'est pas possible avec RDF seul. Les données RDFS sont interrogées à l'aide de SPARQL. Exemple de RDFS sérialisé dans Turtle:

@prefix : <http://www.example.org/> .
:john    rdf:type           :Man .
:Man    rdfs:subClassOf    :Human .
:john    :livesIn  "New-York" .
:livesIn    rdf:type    rdf:Property .
# After reasoning
:john    rdf:type    :Human .

OWL: Le plus haut niveau d'expressivité. La relation entre les classes peut être formellement modélisée sur la base de la logique de description (théorie mathématique). OWL s'appuie fortement sur le raisonneur, il est possible d'exprimer des constructions complexes telles que des propriétés chaînées par exemple ou des restrictions entre classes. OWL sert à construire des ontologies ou des schémas au-dessus des ensembles de données RDF. Comme OWL peut être sérialisé en RDF / XML, il est théoriquement possible de l'interroger via SPARQL, mais il est beaucoup plus intuitif d'interroger une ontologie OWL avec une requête DL (qui est généralement une expression de classe OWL standard). Exemple de constructions OWL sérialisées dans Turtle.

@prefix : <http://www.example.org/> .
:livesIn    rdf:type    owl:DatatypeProperty .
:Human    rdf:type    owl:Class .
:Man   rdf:type    owl:Class .
:Man    rdfs:subClassOf    :Human .
:John    rdf:type    :Man . 
:John    rdf:type    owl:NamedIndividual .
loopasam
la source
2
La sous-classe n'est pas "le type d'un type": c'est une métaclasse. "X a Y. Y a Z." est différent de "X a Y. Y subClassOf Z"
Vladimir Alexiev
14

Tout d'abord, comme cela a été souligné précédemment, owl peut être sérialisé en RDF.

Deuxièmement, OWL ajoute une capacité ontologique à RDF (qui à lui seul ne fournit qu'une capacité extrêmement limitée pour la représentation formelle des connaissances connues), en fournissant l'appareil pour définir les composants de votre triplet en utilisant une logique de description formelle calculable du premier ordre. C'est ce que les affiches entendent ici quand elles parlent de «richesse sémantique».

Troisièmement, il est important de réaliser que dans OWL-Full (pour OWL 1) rdfs: class et owl: class sont équivalents et dans OWL-DL, owl: class est une sous-classe de rdfs: class. En effet, cela signifie que vous pouvez utiliser une ontologie OWL comme schéma pour RDF (qui ne nécessite pas formellement de schémas).

J'espère que cela aidera à clarifier davantage.

Nico Adams
la source
Très bon article ... Je veux enregistrer des triplets RDF dans Oracle 11g, puis-je utiliser OWL comme schéma pour mon RDF?
Saad
10

Lorsque vous utilisez le terme RDF, vous devez distinguer deux choses:

  1. Vous pouvez désigner RDF comme un concept :

    Une manière de décrire les choses / la logique / tout en utilisant des collections de triplets.

    Exemple:

    "Anna a des pommes." "Les pommes sont saines."

    Ci-dessus, vous avez deux triplets qui décrivent deux ressources «Anna» et «pommes». Le concept de RDF (Resource Description Framework) est que vous pouvez décrire des ressources (n'importe quoi) avec des ensembles de seulement 3 mots (termes). À ce niveau, vous ne vous souciez pas de la façon dont vous stockez les informations, si vous avez une chaîne de 3 mots, ou une peinture sur un mur, ou un tableau avec 3 colonnes, etc.

    À ce niveau conceptuel, la seule chose qui est importante est que vous puissiez représenter tout ce que vous voulez en utilisant des instructions triples.

  2. Vous pouvez vous référer à RDF comme un vocabulaire

    Un vocabulaire est simplement une collection de définitions de termes stockées dans un fichier ou quelque part. Ces termes définis ont pour but d'être généralement réutilisés dans d'autres descriptions afin que les gens puissent décrire les données (ressources) plus facilement et de manière standard.

    Sur le Web, vous pouvez trouver des vocabulaires standard tels que:

    RDF ( https://www.w3.org/1999/02/22-rdf-syntax-ns )

    RDFS ( https://www.w3.org/2000/01/rdf-schema# )

    OWL ( https://www.w3.org/2002/07/owl )

    Le vocabulaire RDF définit des termes qui vous aident à décrire (au niveau le plus élémentaire possible) des individus / instances de classes. Exemple: rdf: type, rdf: Property.

    Avec rdf: type, vous pouvez décrire qu'une ressource est une instance d'une classe:

     <http://foo.com/anna> rdf:type <http://foo.com/teacher> 
    

    Ainsi, le vocabulaire RDF a des termes qui ciblent des descriptions de base des instances de classe et quelques autres descriptions (comme la définition de la triple déclaration, ou la définition du prédicat ... en général, des choses qui sont liées au concept RDF).

    Le vocabulaire RDFS contient des définitions de termes qui vous aident à décrire les classes et les relations entre elles. Le vocabulaire RDFS ne se soucie pas des instances de classes (individus) comme le vocabulaire RDF. Exemple: la propriété rdfs: subClassOf que vous pouvez utiliser pour décrire qu'une classe A est une sous-classe de la classe B.

    Les vocabulaires RDF et RDFS sont dépendants l'un de l'autre. RDF définit ses termes en utilisant RDFS, et RDFS utilise RDF pour définir ses propres termes.

    Les vocabulaires RDF / RDFS fournissent des termes qui peuvent être utilisés pour créer des descriptions très basiques de ressources. Si vous voulez avoir des descriptions plus complexes et précises, vous devez utiliser le vocabulaire OWL.

Le vocabulaire OWL est livré avec un ensemble de nouveaux termes ciblant des descriptions plus détaillées. Ces termes sont définis à l'aide de termes issus des vocabulaires RDF / RDFS.

owl:ObjectProperty a rdfs:Class ;
                   rdfs:label "ObjectProperty" ;
                   rdfs:comment "The class of object properties." ;
                   rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                   rdfs:subClassOf rdf:Property .

owl:DatatypeProperty a rdfs:Class ;
                     rdfs:label "DatatypeProperty" ;
                     rdfs:comment "The class of data properties." ;
                     rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                     rdfs:subClassOf rdf:Property .

 owl:TransitiveProperty a rdfs:Class ;
                        rdfs:label "TransitiveProperty" ;
                        rdfs:comment "The class of transitive properties." ;
                        rdfs:isDefinedBy <http://www.w3.org/2002/07/owl#> ;
                        rdfs:subClassOf owl:ObjectProperty .

Comme vous pouvez le voir ci-dessus, le vocabulaire OWL étend le concept de rdf: Property en créant de nouveaux types de propriétés qui sont moins abstraits et peuvent fournir des descriptions plus précises des ressources.

Conclusions:

  1. RDF est un concept ou une manière de décrire des ressources en utilisant des ensembles de triplets.
  2. Les triplets RDF peuvent être stockés dans différents formats (XML / RDF, Turtle etc.)
  3. Le concept de RDF est le modèle de base de toutes les technologies et structures du Web sémantique (comme les vocabulaires).
  4. RDF est également un vocabulaire qui, avec le vocabulaire RDFS, fournit un ensemble de termes qui peuvent être utilisés pour créer des descriptions générales / abstraites de ressources.
  5. OWL est un vocabulaire construit avec des vocabulaires RDF et RDFS qui fournissent de nouveaux termes pour créer des descriptions plus détaillées des ressources.
  6. Tous les vocabulaires du web sémantique (RDF, RDFS, OWL etc.) sont construits en respectant le concept RDF.
  7. Et bien sûr, le vocabulaire OWL a dans les coulisses toutes sortes de logiques et de concepts complexes qui définissent le langage d'ontologie Web. Le vocabulaire OWL n'est qu'un moyen d'utiliser toute cette logique dans la pratique.
croc blanc1993
la source
9

RDF est un moyen de définir un triple «sujet», «prédicat», «valeur» . Par exemple, si je veux dire,

"je m'appelle Pierre"

Je souhaiterai écrire

<mail:[email protected]> <foaf:name> "Pierre"

Voir le <foaf:name>? il fait partie de l' ontologie FOAF . Une ontologie est une manière formelle de décrire les propriétés, les classes d'un sujet donné et OWL est une manière (RDF) de définir une ontologie.

Vous utilisez C ++, Java, etc ... pour définir une classe, une sous-classe, un champ, etc ...

class Person
{
    String email_as_id;
    String name;
}

RDF utilise OWL pour définir ces types d'instructions.

Autre endroit pour poser ce genre de question: http://www.semanticoverflow.com/

Pierre
la source
14
Pas d'accord avec: "RDF utilise OWL pour définir ce type de déclarations". RDF n'utilise en aucun cas OWL. C'est l'inverse: OWL utilise le schéma RDF qui utilise RDF.
alexkr
@Stefano Où trouvent-ils des gens à courir, c'est la vraie question.
Pascal Thivent
7

J'essaye de saisir le concept de Web sémantique. J'ai du mal à comprendre quelle est exactement la différence entre RDF et OWL. OWL est-il une extension de RDF ou ces deux technologies sont-elles totalement différentes?

Bref, oui on pourrait dire que OWL est une extension de RDF.

Plus en détail, avec RDF, vous pouvez décrire un graphe orienté en définissant des triplets sujet-prédicat-objet. Le sujet et l'objet sont les nœuds, le prédicat est le bord, ou en d'autres termes, le prédicat décrit la relation entre le sujet et l'objet. Par exemple:Tolkien :wrote :LordOfTheRings ou:LordOfTheRings :author :Tolkien, etc ... Les systèmes de données liés utilisent ces triplets pour décrire les graphiques de connaissances, et ils fournissent des moyens de les stocker, de les interroger. Maintenant, ce sont des systèmes énormes, mais vous pouvez utiliser RDF pour des projets plus petits. Chaque application a une langue spécifique à un domaine (ou par termes DDD langue omniprésente). Vous pouvez décrire ce langage dans votre ontologie / vocabulaire, de sorte que vous pouvez décrire le modèle de domaine de votre application avec un graphique, que vous pouvez visualiser, montrer au ppl commercial, parler des décisions commerciales basées sur le modèle et construire l'application par-dessus de ça. Vous pouvez lier le vocabulaire de votre application aux données qu'elle renvoie et à un vocabulaire connu des moteurs de recherche, comme les microdonnées(par exemple, vous pouvez utiliser HTML avec RDFA pour ce faire), et ainsi les moteurs de recherche peuvent trouver facilement vos applications, car la connaissance de ce qu'il fait sera traitable par machine. C'est ainsi que fonctionne le web sémantique. (Au moins c'est comme ça que je l'imagine.)

Maintenant, pour décrire les applications orientées objet, vous avez besoin de types, classes, propriétés, instances, etc ... Avec RDF, vous ne pouvez décrire que des objets. RDFS (schéma RDF) vous aide à décrire les classes, l'héritage (basé sur des objets ofc.), Mais il est trop large. Pour définir des contraintes (par exemple un enfant par famille chinoise) vous avez besoin d'un autre vocabulaire. OWL (langage d'ontologie Web) fait ce travail. OWL est une ontologie que vous pouvez utiliser pour décrire des applications Web. Il intègre les simplesTypes XSD.
Il en RDF -> RDFS -> OWL -> MyWebAppva de même pour la description de votre application web de manière de plus en plus précise.

inf3rno
la source
Merci - cela semble très utile. Je pense que vous dites (s'il vous plaît laissez-moi savoir si j'ai bien compris) que (1). RDF permet de spécifier des relations directes entre les objets ( personA friendsWith personB), que (2) RDFS étend cela en offrant la possibilité de spécifier des relations entre object classes- ie class Person <has 'friendsWith' relationship> Person. Cela vous permet de phrase alors RDF par classe: A:typeof:person friendsWith B:<typeof:person>. Et (3), OWL permet alors de spécifier les contraintes des relations?
Zach Smith le
c'est-à-dire qu'une personne peut avoir au maximum 4 "friendsWith" connections`?
Zach Smith le
@ZachSmith Oui.
inf3rno le
Une si bonne réponse - merci. Facilite la lecture de tout le reste de cette page.
Zach Smith le
@ZachSmith yw.
inf3rno
7

RDFS vous permet d'exprimer les relations entre les choses en standardisant sur un format flexible à triple base, puis en fournissant un vocabulaire («mots-clés» tels que rdf:type ou rdfs:subClassOf) qui peut être utilisé pour dire des choses.

OWL est similaire, mais plus gros, meilleur et plus méchant. OWL vous permet d'en dire beaucoup plus sur votre modèle de données, il vous montre comment travailler efficacement avec des requêtes de base de données et des raisonneurs automatiques, et il fournit des annotations utiles pour amener vos modèles de données dans le monde réel.

1ère différence: Vocabulaire

Parmi les différences entre RDFS et OWL, la plus importante est simplement que OWL fournit un vocabulaire beaucoup plus large que vous pouvez utiliser pour dire des choses .

Par exemple, OWL comprend tous vos anciens amis de RDFS tels que rdfs:type, rdfs:domainet rdfs:subPropertyOf. Cependant, OWL vous donne également de nouveaux et meilleurs amis! Par exemple, OWL vous permet de décrire vos données en termes d'opérations d'ensemble:

Example:Mother    owl:unionOf     (Example:Parent, Example:Woman)

Il vous permet de définir des équivalences entre les bases de données:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Il vous permet de restreindre les valeurs de propriété:

Example:MyState     owl:allValuesFrom     (State:NewYork, State:California, …)

en fait, OWL fournit tellement de vocabulaire nouveau et sophistiqué à utiliser dans la modélisation de données et le raisonnement qui a sa propre leçon!

2ème différence: rigidité

Une autre différence majeure est que contrairement à RDFS, OWL vous indique non seulement comment vous pouvez utiliser certains vocabulaires, mais aussi comment vous ne pouvez pas l' utiliser. En revanche, RDFS vous offre un monde de tout va dans lequel vous pouvez ajouter à peu près n'importe quel triple que vous voulez.

Par exemple, dans RDFS, tout ce que vous ressentez peut être une instance de rdfs:Class. Vous pourriez décider de dire que Beagle est un rdfs:Class, puis dire que Fido est une instance de Beagle :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Ensuite, vous pourriez décider que vous aimeriez dire des choses sur les beagles, peut-être voulez-vous dire que Beagle est un exemple de chiens élevés en Angleterre :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

La chose intéressante dans cet exemple est qu'il Example:Beagleest utilisé à la fois comme classe et comme instance . Beagle est une classe dont Fido est membre, mais Beagle est lui-même membre d'une autre classe: Things Bred in England.

En RDFS, tout cela est parfaitement légal car RDFS ne contraint pas vraiment les instructions que vous pouvez et ne pouvez pas insérer. En OWL, en revanche, ou du moins dans certaines versions de OWL, les déclarations ci-dessus ne sont en fait pas légales: vous n'êtes tout simplement pas autorisé à dire que quelque chose peut être à la fois une classe et une instance.

C'est alors une deuxième différence majeure entre RDFS et OWL. RDFS permet un monde gratuit pour tous , tout se passe comme un monde plein de Far West, Speak-Easies et Salvador Dali. Le monde de OWL impose une structure beaucoup plus rigide.

3e différence: les annotations, les méta-méta-données

Supposons que vous ayez passé la dernière heure à créer une ontologie décrivant votre entreprise de fabrication de radio. Pendant le déjeuner, votre tâche est de créer une ontologie pour votre entreprise de fabrication d'horloges. Cet après-midi, après un bon café, votre patron vous dit maintenant que vous devrez construire une ontologie pour votre entreprise de radio-réveil très rentable. Existe-t-il un moyen de réutiliser facilement le travail du matin?

OWL permet de faire des choses comme ça très, très facilement. Owl:Importest ce que vous utiliseriez dans la situation un radio-réveil, mais OWL vous donne également une grande variété d'annotations telles que owl:versionInfo, owl:backwardsCompatibleWithetowl:deprecatedProperty qui peut facilement être utilisé des modèles de liaison de données dans un ensemble cohérent mutuellement.

Contrairement à RDFS, OWL est sûr de satisfaire tous vos besoins de modélisation de méta-méta-données.

Conclusion

OWL vous donne un vocabulaire beaucoup plus large avec lequel jouer, ce qui vous permet de dire facilement tout ce que vous voudrez peut-être dire sur votre modèle de données. Il vous permet même d'adapter ce que vous dites en fonction des réalités informatiques des ordinateurs d'aujourd'hui et d'optimiser pour des applications particulières (pour les requêtes de recherche, par exemple). De plus, OWL vous permet d'exprimer facilement les relations entre différentes ontologies à l'aide d'un cadre d'annotation standard .

Tous ces avantages sont comparés à RDFS et valent généralement l'effort supplémentaire nécessaire pour vous familiariser avec eux.

Source: RDFS contre OWL

Bilal
la source
4

Dans le modèle objet de document WC3, un document est une chose abstraite: un élément avec du texte, des commentaires, des attributs et d'autres éléments imbriqués à l'intérieur.

Dans le web sémantique, nous traitons un ensemble de «triplets». Chaque triple est:

  • un sujet, la chose la triple est à propos , l'identifiant, la base de données de clé primaire - un URI; et
  • le prédicat, le "verbe", la "propriété", la "colonne de base de données" - un autre URI; et
  • l' objet , une valeur atomique ou un URI.

OWL est au web sémantique comme les schémas sont au modèle objet de document du W3C. Il documente ce que signifient les différents URI et spécifie comment ils sont utilisés d'une manière formelle qui peut être vérifiée par une machine. Un web sémantique peut être valide ou non par rapport à l'OWL qui lui est applicable, tout comme un document peut ou non être valide par rapport à un schéma.

RDF est au Web sémantique comme XML l'est au DOM - c'est une sérialisation d'un ensemble de triplets.

Bien sûr, RDF est généralement sérialisé en tant que documents XML ... mais il est important de comprendre que RDF n'est pas la même chose que "la sérialisation XML de RDF".

De même, OWL peut être sérialisé en utilisant OWL / XML, ou (désolé à ce sujet) il peut être exprimé en RDF, qui lui-même est généralement sérialisé en XML.

paulmurray
la source
3

La pile Web sémantique de base a déjà été beaucoup expliquée dans ce fil. Je voudrais me concentrer sur la question initiale et comparer RDF à OWL.

  • OWL est un super-ensemble de RDF et RDF-S (en haut)
  • OWL permet de travailler efficacement avec RDF et RDF-S
  • OWL a un vocabulaire étendu
    • classes et individus ("instances")
    • propriétés et types de données ("prédicats")
  • OWL est nécessaire pour un raisonnement et une inférence appropriés
  • OWL est disponible en trois dialectes lite, logique de description et complet

Utiliser OWL est essentiel pour obtenir plus de sens (raisonnement et inférence) en connaissant simplement quelques faits. Ces informations "créées dynamiquement" peuvent en outre être utilisées pour les requêtes correspondantes comme dans SPARQL.

Quelques exemples montreront que cela fonctionne réellement avec OWL - ceux-ci ont été tirés de mon exposé sur les bases du web sémantique au TYPO3camp Mallorca, Espagne en 2015.

équivalents par règles

Spaniard: Person and (inhabitantOf some SpanishCity)

Cela signifie que a Spaniarddoit être a Person(et hérite donc de toutes les propriétés de la partie d'inférence) et doit vivre dans au moins une (ou plusieurs) SpanishCity.

signification des propriétés

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

L'exemple montre le résultat de l'application inverseOfaux propriétés isPartOfet contains.

  • inverse
  • symétrique
  • transitif
  • disjoint
  • ...

cardinalités des propriétés

<:hasParent owl:cardinality “2“^^xsd:integer>

Cela définit que chacun Thing(dans ce scénario, très probablement unHuman ) a exactement deux parents - la cardinalité est attribuée à la hasParentpropriété.

  • le minimum
  • maximum
  • exact
Oliver Hader
la source
2

Le cadre de description des ressources (RDF) est un puissant langage formel de représentation des connaissances et une norme fondamentale du Web sémantique. Il a son propre vocabulaire qui définit les concepts et les relations de base (par exemple, rdf: type correspond à la relation isA), et un modèle de données qui permet des déclarations interprétables par machine sous la forme de sujet-prédicat-objet (ressource-propriété-valeur) triples, appelés triplets RDF, tels que picture-depicts-book. L'extension du vocabulaire RDF avec les concepts nécessaires pour créer des vocabulaires contrôlés et des ontologies de base est appelée RDF Schema ou RDF Vocabulary Description Language (RDFS). RDFS permet d'écrire des déclarations sur les classes et les ressources, et d'exprimer des structures taxonomiques, telles que via des relations superclasse-sous-classe.

Les domaines de connaissances complexes nécessitent plus de capacités que ce qui est disponible dans RDFS, ce qui a conduit à l'introduction d' OWL . OWL prend en charge les relations entre les classes (union, intersection, disjonction, équivalence), les contraintes de cardinalité des propriétés (minimum, maximum, nombre exact, par exemple, chaque personne a exactement un père), un typage riche des propriétés, des caractéristiques des propriétés et des propriétés spéciales (transitive, symétrique, fonctionnelle, fonctionnelle inverse, par exemple, A ex: hasAncestor B et B ex: hasAncestor C implique que A ex: hasAncestor C), en spécifiant qu'une propriété donnée est une clé unique pour les instances d'une classe particulière, et les restrictions de domaine et de plage pour les propriétés.

Leslie Sikos
la source