Was ist der Unterschied zwischen RDF und OWL? [geschlossen]

191

Ich versuche das Konzept des Semantic Web zu verstehen. Es fällt mir schwer zu verstehen, was genau der Unterschied zwischen RDF und OWL ist. Ist OWL eine Erweiterung von RDF oder sind diese beiden völlig unterschiedliche Technologien?

user32262
quelle
Ich persönlich fand dieses Dia-Deck sehr nützlich und verständlich: slidehare.net/rlovinger/rdf-and-owl
dgorissen

Antworten:

272

Das Semantic Web besteht aus mehreren Schichten. Dies ist eine kurze Zusammenfassung derjenigen, an denen Sie meiner Meinung nach interessiert sind.

Update : Bitte beachten Sie, dass RDFS verwendet wird, um die Struktur der Daten zu definieren, nicht OWL. OWL beschreibt semantische Beziehungen, um die sich normale Programmierung wie eine C-Struktur nicht kümmert und die der KI-Forschung und der Mengenlehre näher kommt.

Triples & URIs

Subject - Predicate - Object

Diese beschreiben eine einzelne Tatsache. Im Allgemeinen werden URIs für das Subjekt und das Prädikat verwendet. Das Objekt ist entweder eine andere URI oder ein Literal wie eine Zahl oder eine Zeichenfolge. Literale können einen Typ haben (der auch eine URI ist), und sie können auch eine Sprache haben. Ja, dies bedeutet, dass Tripel bis zu 5 Datenbits haben können!

Zum Beispiel könnte ein Triple die Tatsache beschreiben, dass Charles Harrys Vater ist.

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

Dreiergruppen sind Datenbanknormalisierungen, die auf ein logisches Extrem gebracht werden. Sie haben den Vorteil, dass Sie Tripel aus vielen Quellen ohne Neukonfiguration in eine Datenbank laden können.

RDF und RDFS

Die nächste Schicht ist RDF - The Resource Description Framework. RDF definiert eine zusätzliche Struktur für Tripel. Das Wichtigste, was RDF definiert, ist ein Prädikat namens "rdf: type". Dies wird verwendet, um zu sagen, dass Dinge von bestimmten Arten sind. Jeder benutzt rdf: type, was es sehr nützlich macht.

RDFS (RDF-Schema) definiert einige Klassen, die das Konzept von Subjekten, Objekten, Prädikaten usw. darstellen. Dies bedeutet, dass Sie Aussagen über Klassen von Dingen und Arten von Beziehungen treffen können. Auf der einfachsten Ebene können Sie Dinge wie http://familyontology.net/1.0#hasFather angeben, eine Beziehung zwischen einer Person und einer Person. Außerdem können Sie die Bedeutung einer Beziehung oder einer Klasse in lesbarem Text beschreiben. Dies ist ein Schema. Es zeigt Ihnen die legale Verwendung verschiedener Klassen und Beziehungen. Es wird auch verwendet, um anzuzeigen, dass eine Klasse oder Eigenschaft ein Untertyp eines allgemeineren Typs ist. Zum Beispiel ist "HumanParent" eine Unterklasse von "Person". "Loves" ist eine Unterklasse von "Knows".

RDF-Serialisationen

RDF kann in verschiedenen Dateiformaten exportiert werden. Am häufigsten ist RDF + XML, dies weist jedoch einige Schwachstellen auf.

N3 ist ein Nicht-XML-Format, das einfacher zu lesen ist, und es gibt einige Teilmengen (Turtle und N-Triples), die strenger sind.

Es ist wichtig zu wissen, dass RDF eine Möglichkeit ist, mit Tripeln zu arbeiten, NICHT mit den Dateiformaten.

XSD

XSD ist ein Namespace, der hauptsächlich zur Beschreibung von Eigenschaftstypen wie Datumsangaben, Ganzzahlen usw. verwendet wird. Es wird im Allgemeinen in RDF-Daten gesehen, die den spezifischen Typ eines Literals identifizieren. Es wird auch in XML-Schemata verwendet, bei denen es sich um einen etwas anderen Fischkessel handelt.

EULE

OWL fügt dem Schema Semantik hinzu. Hier können Sie viel mehr über die Eigenschaften und Klassen angeben. Es wird auch dreifach ausgedrückt. Beispielsweise kann dies anzeigen, dass "Wenn A mit B verheiratet ist", dies impliziert, dass "B mit A verheiratet ist". Oder wenn " C isAncestorOf D " und " D isAncestorOf E " dann " C isAncestorOf E" ist ". Eine weitere nützliche Sache, die Eule hinzufügt, ist die Fähigkeit zu sagen, dass zwei Dinge gleich sind. Dies ist sehr hilfreich, um Daten zusammenzuführen, die in verschiedenen Schemata ausgedrückt werden. Sie können sagen, dass die Beziehung" gezeugt "in einem Schema Eule ist: sameAs" väterlich "in Sie können es auch verwenden, um zu sagen, dass zwei Dinge gleich sind, z. B. "Elvis Presley" auf Wikipedia ist dasselbe auf der BBC. Dies ist sehr aufregend, da Sie damit beginnen können, Daten von mehreren Websites zusammenzuführen (Dies ist "Verknüpfte Daten").

Sie können die OWL auch verwenden, um implizite Fakten abzuleiten , z. B. " C isAncestorOf E ".

Christopher Gutteridge
quelle
21
Hier ist ein Bild der Semantic Web-Ebenen: w3.org/2001/12/semweb-fin/swlevels.png Nur als Referenz.
Timo Westkämper
8
Ein Teil davon, der mir noch unklar ist, ist, dass es eine gewisse Überschneidung zwischen dem zu geben scheint, was RDFS und OWL ausdrücken können. ZB kann eine owl: Class einer rdfs: Class sehr ähnlich sehen. (Zum Beispiel ist eine Entität vom Typ owl: Class häufig Gegenstand mehrerer RDFS-Prädikate wie rdfs: comment und rdfs: subclassOf.) Ich habe Schwierigkeiten zu verstehen, wie OWL eine Schicht über RDFS ist, denn wenn es darum geht Wenn Sie Klassen definieren, ist dies eher eine Möglichkeit, die Möglichkeiten von RDFS zu erweitern.
Ian Griffiths
Abhängig von dem von Ihnen verwendeten OWL / OWL-2-Profil haben Sie die Möglichkeit, Ihre Wissensbasis mit DL-Axiomen zu erweitern (z. B. Eigenschaftsbeschränkungen, Disjunktheit und vieles mehr).
Zhubarb
4
@ IanGriffiths: Tatsächlich sind Eule: Klasse und rdfs: Klasse (sowie mehrere weitere überraschende Paare) unter OWL2-Semantik gleichwertig: answers.semanticweb.com/questions/30954/…
Vladimir Alexiev
... OWL, RDFS, XSD ... sind komplementäre Sprachen ... jede spielt eine Rolle bei der Beschreibung Ihrer Domain und alle schließen sich an, um sie zu bereichern ...
Sergio
82

Zusamenfassend:

  • RDF definiert, wie man Sachen schreibt
  • OWL definiert, was geschrieben werden soll

Wie das vorherige Poster geschrieben hat, ist RDF eine Spezifikation, die Ihnen sagt, wie Sie Tripel definieren.

Das Problem ist, dass Sie mit RDF alles definieren können, sodass Sie eine Deklaration wie folgt verfassen können:

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

Diese Tripel bilden gültige RDF-Dokumente.

Semantisch gesehen verstehen Sie jedoch, dass diese Aussagen falsch sind und RDF Ihnen nicht dabei helfen kann, das zu validieren, was Sie geschrieben haben.

Dies ist keine gültige Ontologie.

Die OWL-Spezifikation definiert genau, was Sie mit RDF schreiben können, um eine gültige Ontologie zu erhalten.

Ontologien können mehrere Eigenschaften haben.

Deshalb definiert OWL (Version 1) verschiedene Versionen wie OWL DL, OWL Lite und OWL Full.

alexkr
quelle
28
Beachten Sie jedoch, dass OWL nicht einschränkt, was Sie in Ihren RDF-Speicher einfügen können. Die OWL-Schemainformationen werden hauptsächlich zum Ableiten und nicht zum Erzwingen von Einschränkungen verwendet.
DNA
32

RDF, RDFS und OWL sind Mittel, um immer komplexere Informationen oder Kenntnisse auszudrücken. Alle können in RDF / XML-Syntax (oder einer anderen RDF-Serialisierungssyntax wie beispielsweise Turtle oder N3) serialisiert werden.

Diese Technologien sind verwandt und sollen interoperabel sein, haben jedoch unterschiedliche Ursprünge, weshalb die Beziehung zwischen ihnen möglicherweise kompliziert zu erfassen ist. Die Wahl des einen oder anderen hängt davon ab, wie viel Komplexität die zu modellierende Situation erfordert.

Zusammenfassung der Ausdruckskraft

RDF : Einfache Darstellung, die sich auf die Instanzen und die Zuordnung zu ihren Typen konzentriert ( rdf:type). Es ist möglich, benutzerdefinierte Eigenschaften zu definieren, um Daten zu verknüpfen und Tripel zu erstellen. RDF-Daten werden mit SPARQL abgefragt. Beispiel für RDF in Turtle serialisiert:

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

RDFS: Einige Situationen lassen sich nicht einfach von RDF allein modellieren. Manchmal ist es interessant, komplexere Beziehungen wie beispielsweise Unterklassen ( den Typ eines Typs ) darzustellen . RDFS bietet besondere Mittel solche Fälle darstellen, mit Konstrukten mögen rdfs:subClassOf, rdfs:rangeoder rdfs:domain. Im Idealfall kann ein Denker die RDFS-Semantik verstehen und die Anzahl der Tripel basierend auf den Beziehungen erweitern: Wenn Sie beispielsweise die Tripel haben John a Manund Man rdfs:subClassOf Humandann sollten Sie auch das Tripel generieren John a Human. Beachten Sie, dass dies nicht nur mit RDF möglich ist. RDFS-Daten werden mit SPARQL abgefragt. Beispiel für in Turtle serialisiertes RDFS:

@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: Höchste Ausdruckskraft. Die Beziehung zwischen Klassen kann basierend auf Beschreibungslogiken (mathematische Theorie) formal modelliert werden. OWL stützt sich stark auf den Reasoner. Es ist möglich, komplexe Konstrukte wie beispielsweise verkettete Eigenschaften oder Einschränkungen zwischen Klassen auszudrücken. OWL dient zum Erstellen von Ontologien oder Schemata auf RDF-Datasets. Da OWL als RDF / XML serialisiert werden kann, ist es theoretisch möglich, es über SPARQL abzufragen. Es ist jedoch viel intuitiver, eine OWL-Ontologie mit einer DL-Abfrage abzufragen (was normalerweise ein Standardausdruck für OWL-Klassen ist). Beispiel für OWL-Konstrukte, die in Turtle serialisiert wurden.

@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
quelle
2
Unterklasse ist nicht "der Typ eines Typs": das ist eine Metaklasse. "X a Y. Y a Z." unterscheidet sich von "X a Y. Y subClassOf Z"
Vladimir Alexiev
14

Erstens kann eine Eule, wie bereits erwähnt, in RDF serialisiert werden.

Zweitens erweitert OWL RDF um ontologische Funktionen (die für sich genommen nur eine äußerst eingeschränkte Fähigkeit zur formalen Darstellung bekannten Wissens bieten), indem die Vorrichtung zum Definieren der Komponenten Ihres Tripels mithilfe einer formalen berechenbaren Beschreibungslogik erster Ordnung bereitgestellt wird. Das ist es, was Plakate hier bedeuten, wenn sie von "semantischem Reichtum" sprechen.

Drittens ist es wichtig zu wissen, dass in OWL-Full (für OWL 1) rdfs: class und owl: class äquivalent sind und in OWL-DL owl: class eine Unterklasse von rdfs: class ist. In der Tat bedeutet dies, dass Sie eine OWL-Ontologie als Schema für RDF verwenden können (für das formal keine Schemata erforderlich sind).

Ich hoffe das hilft weiter zu klären.

Nico Adams
quelle
Sehr guter Beitrag ... Ich möchte RDF-Tripel in Oracle 11g speichern. Kann ich OWL als Schema für mein RDF verwenden?
Saad
10

Wenn Sie den Begriff RDF verwenden, müssen Sie zwei Dinge unterscheiden:

  1. Sie können RDF als Konzept bezeichnen :

    Eine Möglichkeit, Dinge / Logik / alles mithilfe von Sammlungen von Tripeln zu beschreiben.

    Beispiel:

    "Anna hat Äpfel." "Äpfel sind gesund."

    Oben haben Sie zwei Tripel, die zwei Ressourcen beschreiben: "Anna" und "Äpfel". Das Konzept von RDF (Resource Description Framework) besteht darin, dass Sie Ressourcen (alles) mit Sätzen von nur 3 Wörtern (Begriffen) beschreiben können. Auf dieser Ebene ist es Ihnen egal, wie Sie Informationen speichern, ob Sie eine Folge von 3 Wörtern oder ein Gemälde an einer Wand oder einen Tisch mit 3 Spalten usw. haben.

    Auf dieser konzeptionellen Ebene ist nur wichtig, dass Sie mit dreifachen Anweisungen alles darstellen können, was Sie wollen.

  2. Sie können RDF als Vokabular bezeichnen

    Ein Wortschatz ist nur eine Sammlung von Begriffsdefinitionen, die in einer Datei oder irgendwo gespeichert sind. Diese definierten Begriffe haben den Zweck, in anderen Beschreibungen allgemein wiederverwendet zu werden, damit Personen Daten (Ressourcen) einfacher und auf standardmäßige Weise beschreiben können.

    Im Internet finden Sie einige Standardvokabulare wie:

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

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

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

    Das RDF-Vokabular definiert Begriffe, mit denen Sie Personen / Instanzen von Klassen (auf der grundlegendsten Ebene wie möglich) beschreiben können. Beispiel: rdf: type, rdf: property.

    Mit rdf: type können Sie beschreiben, dass eine Ressource eine Instanz einer Klasse ist:

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

    Das RDF-Vokabular enthält also Begriffe, die auf grundlegende Beschreibungen von Klasseninstanzen und einige andere Beschreibungen abzielen (wie die Definition der dreifachen Anweisung oder die Prädikatdefinition ... im Allgemeinen Dinge, die auf das RDF-Konzept bezogen sind).

    Das RDFS-Vokabular enthält Begriffsdefinitionen, mit denen Sie Klassen und Beziehungen zwischen ihnen beschreiben können. Das RDFS-Vokabular kümmert sich nicht um Instanzen von Klassen (Einzelpersonen) wie das RDF-Vokabular. Beispiel: Die Eigenschaft rdfs: subClassOf, mit der Sie beschreiben können, dass eine Klasse A eine Unterklasse der Klasse B ist.

    Das RDF- und das RDFS-Vokabular sind voneinander abhängig. RDF definiert seine Begriffe mithilfe von RDFS, und RDFS verwendet RDF zum Definieren seiner eigenen Begriffe.

    Die RDF / RDFS-Vokabulare enthalten Begriffe, mit denen sehr grundlegende Beschreibungen von Ressourcen erstellt werden können. Wenn Sie komplexere und genauere Beschreibungen wünschen, müssen Sie das OWL-Vokabular verwenden.

Das OWL-Vokabular enthält eine Reihe neuer Begriffe, die detailliertere Beschreibungen enthalten. Diese Begriffe werden unter Verwendung von Begriffen aus RDF / RDFS-Vokabularen definiert.

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 .

Wie Sie oben sehen können, erweitert das OWL-Vokabular das Konzept von rdf: Property, indem neue Arten von Eigenschaften erstellt werden, die weniger abstrakt sind und genauere Beschreibungen von Ressourcen liefern können.

Schlussfolgerungen:

  1. RDF ist ein Konzept oder eine Methode zur Beschreibung von Ressourcen mithilfe von Dreiergruppen.
  2. RDF-Tripel können in verschiedenen Formaten gespeichert werden (XML / RDF, Turtle usw.)
  3. Das Konzept von RDF ist das Basismodell aller semantischen Webtechnologien und -strukturen (wie Vokabulare).
  4. RDF ist auch ein Vokabular, das zusammen mit dem RDFS-Vokabular eine Reihe von Begriffen enthält, die zum Erstellen allgemeiner / abstrakter Beschreibungen von Ressourcen verwendet werden können.
  5. OWL ist ein Vokabular, das mit RDF- und RDFS-Vokabularen erstellt wurde und neue Begriffe für die Erstellung detaillierterer Beschreibungen von Ressourcen enthält.
  6. Alle Semantic-Web-Vokabulare (RDF, RDFS, OWL usw.) werden unter Berücksichtigung des RDF-Konzepts erstellt.
  7. Und natürlich enthält das OWL-Vokabular hinter den Kulissen alle Arten komplexer Logik und Konzepte, die die Sprache der Web-Ontologie definieren. Das OWL-Vokabular ist nur eine Möglichkeit, all diese Logik in der Praxis anzuwenden.
whitefang1993
quelle
9

RDF ist eine Möglichkeit, ein dreifaches "Subjekt", "Prädikat", "Wert" zu definieren . Zum Beispiel, wenn ich sagen möchte,

"Mein Name ist Pierre"

ich würde schreiben

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

Sehen Sie die <foaf:name>? Es ist Teil der FOAF- Ontologie. Eine Ontologie ist eine formale Methode zur Beschreibung der Eigenschaften, der Klassen eines bestimmten Fachs und OWL eine (RDF) Methode zur Definition einer Ontologie.

Sie verwenden C ++, Java usw., um eine Klasse, eine Unterklasse, ein Feld usw. zu definieren.

class Person
{
    String email_as_id;
    String name;
}

RDF verwendet OWL, um diese Art von Anweisungen zu definieren.

Ein weiterer Ort, um diese Art von Frage zu stellen: http://www.semanticoverflow.com/

Pierre
quelle
14
Nicht einverstanden mit: "RDF verwendet OWL, um diese Art von Anweisungen zu definieren". RDF verwendet OWL in keiner Weise. Dies ist umgekehrt: OWL verwendet das RDF-Schema, das RDF verwendet.
Alexkr
@Stefano Wo finden sie Leute zum Laufen, das ist die eigentliche Frage.
Pascal Thivent
7

Ich versuche das Konzept des Semantic Web zu verstehen. Es fällt mir schwer zu verstehen, was genau der Unterschied zwischen RDF und OWL ist. Ist OWL eine Erweiterung von RDF oder sind diese beiden völlig unterschiedliche Technologien?

Kurz gesagt, ja, man könnte sagen, dass OWL eine Erweiterung von RDF ist.

Mit RDF können Sie einen gerichteten Graphen genauer beschreiben, indem Sie Subjekt-Prädikat-Objekt-Tripel definieren. Das Subjekt und das Objekt sind die Knoten, das Prädikat ist die Kante, oder mit anderen Worten, das Prädikat beschreibt die Beziehung zwischen dem Subjekt und dem Objekt. Beispielsweise:Tolkien :wrote :LordOfTheRings oder:LordOfTheRings :author :Tolkien, etc ... Verknüpfte Datensysteme verwenden diese Tripel, um Wissensgraphen zu beschreiben, und sie bieten Möglichkeiten, sie zu speichern und abzufragen. Dies sind riesige Systeme, aber Sie können RDF für kleinere Projekte verwenden. Jede Anwendung hat eine domänenspezifische Sprache (oder nach DDD-Begriffen allgegenwärtige Sprache). Sie können diese Sprache in Ihrer Ontologie / Ihrem Vokabular beschreiben, sodass Sie das Domänenmodell Ihrer Anwendung mit einem Diagramm beschreiben können, das Sie visualisieren können, um es Geschäftsleuten zu zeigen, über Geschäftsentscheidungen basierend auf dem Modell zu sprechen und die Anwendung darauf aufzubauen davon. Sie können das Vokabular Ihrer Anwendung an die zurückgegebenen Daten und an ein den Suchmaschinen bekanntes Vokabular binden, z Mikrodaten(Sie können dazu beispielsweise HTML mit RDFA verwenden), sodass Suchmaschinen Ihre Anwendungen leicht finden können, da das Wissen darüber, was es tut, maschinell verarbeitet werden kann. So funktioniert Semantic Web. (Zumindest stelle ich mir das so vor.)

Um nun objektorientierte Anwendungen zu beschreiben, benötigen Sie Typen, Klassen, Eigenschaften, Instanzen usw. Mit RDF können Sie nur Objekte beschreiben. RDFS (RDF-Schema) hilft Ihnen bei der Beschreibung von Klassen und Vererbung (basierend auf Objekten von c.), Ist jedoch zu weit gefasst. Um Einschränkungen zu definieren (zum Beispiel ein Kind pro chinesischer Familie), benötigen Sie ein anderes Vokabular. OWL (Web Ontology Language) erledigt diesen Job. OWL ist eine Ontologie, mit der Sie Webanwendungen beschreiben können. Es integriert die XSD simpleTypes.
Dies RDF -> RDFS -> OWL -> MyWebAppgilt auch für die Reihenfolge, in der Ihre Webanwendung immer spezifischer beschrieben wird.

inf3rno
quelle
Danke - das scheint sehr hilfreich zu sein. Ich denke, Sie sagen (bitte lassen Sie mich wissen, wenn ich das richtig verstanden habe), dass (1). RDF ermöglicht die Angabe direkter Beziehungen zwischen Objekten ( personA friendsWith personB), dass (2) RDFS dies erweitert, indem es die Möglichkeit bietet, Beziehungen zwischen object classes- dh anzugeben class Person <has 'friendsWith' relationship> Person. So können Sie RDF über die Klasse ausdrücken : A:typeof:person friendsWith B:<typeof:person>. Und (3) OWL ermöglicht es Ihnen dann, Einschränkungen der Beziehungen anzugeben?
Zach Smith
dh eine Person kann maximal 4 "Freunde mit" Verbindungen haben`?
Zach Smith
@ ZachSmith Ja.
inf3rno
So eine gute Antwort - danke. Erleichtert das Lesen aller anderen Elemente auf dieser Seite.
Zach Smith
@ ZachSmith yw.
inf3rno
7

Mit RDFS können Sie die Beziehungen zwischen Dingen ausdrücken, indem Sie auf einem flexiblen, dreifach basierten Format standardisieren und dann ein Vokabular ("Schlüsselwörter" wie rdf:typeoder rdfs:subClassOf) bereitstellen , mit dem Dinge gesagt werden können.

OWL ist ähnlich, aber größer, besser und schlimmer. Mit OWL können Sie viel mehr über Ihr Datenmodell sagen, es zeigt Ihnen, wie Sie effizient mit Datenbankabfragen und automatischen Reasonern arbeiten können, und es bietet nützliche Anmerkungen, um Ihre Datenmodelle in die reale Welt zu bringen.

1. Unterschied: Wortschatz

Von den Unterschieden zwischen RDFS und OWL ist das Wichtigste nur, dass OWL ein weitaus größeres Vokabular bietet, mit dem Sie Dinge sagen können .

Zum Beispiel enthält OWL alle Ihre alten Freunde von RDFS wie rdfs:type, rdfs:domainund rdfs:subPropertyOf. OWL bietet Ihnen jedoch auch neue und bessere Freunde! Mit OWL können Sie beispielsweise Ihre Daten in Form von festgelegten Operationen beschreiben:

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

Hiermit können Sie Äquivalenzen zwischen Datenbanken definieren:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Hiermit können Sie Eigenschaftswerte einschränken:

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

Tatsächlich bietet OWL so viel neues, ausgefeiltes Vokabular für die Datenmodellierung und Argumentation, dass es seine eigene Lektion erhält!

2. Unterschied: Steifheit

Ein weiterer wichtiger Unterschied besteht darin, dass OWL im Gegensatz zu RDFS nicht nur Ihnen sagt, wie Sie es tun können bestimmte Vokabular verwenden, ist es Sie eigentlich sagt , wie Sie nicht können es verwenden. Im Gegensatz dazu bietet Ihnen RDFS eine Welt, in der Sie so ziemlich jedes Triple hinzufügen können, das Sie möchten.

In RDFS kann beispielsweise alles, worauf Sie Lust haben, eine Instanz sein rdfs:Class. Sie könnten sich entscheiden zu sagen, dass Beagle ein Fido ist rdfs:Classund dann sagen, dass Fido eine Instanz von Beagle ist :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Als nächstes könnten Sie entscheiden, dass Sie Dinge über Beagles sagen möchten, vielleicht möchten Sie diesen Beagle sagen ein Beispiel für in England gezüchtete Hunde ist :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

Das Interessante in diesem Beispiel ist, dass Example:Beaglees sowohl als Klasse als auch als Instanz verwendet wird . Beagle ist eine Klasse, die Fido Mitglied ist, aber Beagle ist selbst Mitglied einer anderen Klasse: Things Bred in England.

In RDFS ist dies alles völlig legal, da RDFS nicht wirklich einschränkt, welche Anweisungen Sie einfügen können und welche nicht. In OWL hingegen oder zumindest in einigen Varianten von OWL sind die obigen Aussagen eigentlich nicht legal: Sie dürfen einfach nicht sagen, dass etwas sowohl eine Klasse als auch eine Instanz sein kann.

Dies ist dann ein zweiter großer Unterschied zwischen RDFS und OWL. RDFS ermöglicht eine Welt, in der alles wild ist, voller Wilder Westen, Speak-Easies und Salvador Dali. Die Welt von OWL legt eine viel starrere Struktur fest.

3. Unterschied: Anmerkungen, die Meta-Metadaten

Angenommen, Sie haben die letzte Stunde damit verbracht, eine Ontologie zu erstellen, die Ihr Geschäft mit der Funkherstellung beschreibt. Während des Mittagessens besteht Ihre Aufgabe darin, eine Ontologie für Ihr Uhrenherstellungsgeschäft zu erstellen. Heute Nachmittag, nach einem guten Kaffee, sagt Ihnen Ihr Chef jetzt, dass Sie eine Ontologie für Ihr hochprofitables Radioweckergeschäft aufbauen müssen. Gibt es eine Möglichkeit, die Arbeit des Morgens einfach wiederzuverwenden?

OWL macht solche Dinge sehr, sehr einfach. Owl:Importist das, was Sie in der Radiosituation verwenden würden, aber OWL bietet Ihnen auch eine Vielzahl von Anmerkungen wie owl:versionInfo:owl:backwardsCompatibleWith und owl:deprecatedProperty, die leicht gebrauchte Link Datenmodelle miteinander zu einem für beide Seiten kohärentes Ganzes sein kann.

Im Gegensatz zu RDFS erfüllt OWL mit Sicherheit alle Ihre Anforderungen an die Modellierung von Metadaten.

Fazit

OWL bietet Ihnen ein viel größeres Vokabular, mit dem Sie leicht alles sagen können, was Sie über Ihr Datenmodell sagen möchten. Sie können sogar Ihre Aussagen basierend auf den Rechenrealitäten heutiger Computer anpassen und für bestimmte Anwendungen (z. B. für Suchanfragen) optimieren. Darüber hinaus können Sie mit OWL die Beziehungen zwischen verschiedenen Ontologien mithilfe eines Standard-Annotation-Frameworks einfach ausdrücken .

All dies sind Vorteile im Vergleich zu RDFS und in der Regel den zusätzlichen Aufwand wert, um sich mit ihnen vertraut zu machen.

Quelle: RDFS vs. OWL

Bilal
quelle
4

Im WC3-Dokumentobjektmodell ist ein Dokument eine abstrakte Sache: ein Element mit Text, Kommentaren, Attributen und anderen darin verschachtelten Elementen.

Im Semantic Web beschäftigen wir uns mit einer Reihe von "Tripeln". Jedes Triple ist:

  • ein Thema, das , was die dreifache ist über die ID, die Datenbank Primärschlüssel - eine URI; und
  • das Prädikat, das "Verb", die "Eigenschaft", die "Datenbankspalte" - ein weiterer URI; und
  • das Objekt , ein Atomwert oder eine URI.

OWL bezieht sich auf das Semantic Web wie Schemas auf das W3C-Dokumentobjektmodell. Es dokumentiert, was die verschiedenen URIs bedeuten, und gibt an, wie sie auf formale Weise verwendet werden, die von einer Maschine überprüft werden kann. Ein Semantic Web kann in Bezug auf die für ihn geltende OWL gültig sein oder nicht, genauso wie ein Dokument in Bezug auf ein Schema gültig sein kann oder nicht.

RDF bezieht sich auf das Semantic Web wie XML auf das DOM - es ist eine Serialisierung einer Reihe von Tripeln.

Natürlich wird RDF normalerweise als XML-Dokument serialisiert ... aber es ist wichtig zu verstehen, dass RDF nicht dasselbe ist wie "die XML-Serialisierung von RDF".

Ebenso kann OWL mit OWL / XML serialisiert werden oder (Entschuldigung) als RDF ausgedrückt werden, das normalerweise selbst als XML serialisiert wird.

Paulmurray
quelle
3

Der grundlegende Semantic-Web-Stack wurde bereits in diesem Thread ausführlich erläutert. Ich möchte mich auf die erste Frage konzentrieren und RDF mit OWL vergleichen.

  • OWL ist ein Super-Set von RDF & RDF-S (oben)
  • OWL ermöglicht die effektive Arbeit mit RDF & RDF-S
  • OWL hat einige erweiterte Vokabeln
    • Klassen & Einzelpersonen ("Instanzen")
    • Eigenschaften & Datentypen ("Prädikate")
  • OWL ist für die richtige Argumentation und Schlussfolgerung erforderlich
  • OWL gibt es in drei Dialekten: Lite, Description Logic & Full

Die Verwendung von OWL ist wichtig, um mehr Bedeutung (Argumentation und Schlussfolgerung) zu erlangen, indem Sie nur einige Fakten kennen. Diese "dynamisch erstellten" Informationen können weiterhin für entsprechende Abfragen wie in SPARQL verwendet werden.

Einige Beispiele werden zeigen, dass dies tatsächlich mit OWL funktioniert - diese wurden aus meinem Vortrag über die Grundlagen des Semantic Web im TYPO3camp Mallorca, Spanien, im Jahr 2015 entnommen.

Äquivalente nach Regeln

Spaniard: Person and (inhabitantOf some SpanishCity)

Dies bedeutet, dass a a sein Spaniardmuss Person(und somit alle Eigenschaften im Inferenzteil erbt) und in mindestens einer (oder mehreren) leben muss SpanishCity.

Bedeutung der Eigenschaften

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

Das Beispiel zeigt das Ergebnis der Anwendung inverseOfauf die Eigenschaften isPartOfund contains.

  • invers
  • symmetrisch
  • transitiv
  • disjunkt
  • ...

Kardinalitäten von Eigenschaften

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

Dies definiert, dass jeder Thing(in diesem Szenario höchstwahrscheinlich a Human) genau zwei Eltern hat - die Kardinalität wird der hasParentEigenschaft zugewiesen .

  • Minimum
  • maximal
  • genau
Oliver Hader
quelle
2

Das Resource Description Framework (RDF) ist eine leistungsstarke formale Wissensrepräsentationssprache und ein grundlegender Standard des Semantic Web. Es verfügt über ein eigenes Vokabular, das Kernkonzepte und -beziehungen definiert (z. B. rdf: type entspricht der isA-Beziehung), und ein Datenmodell, das maschineninterpretierbare Anweisungen in Form eines Subjekt-Prädikat-Objekts (Ressourceneigenschaftswert) ermöglicht. Tripel, genannt RDF-Tripel, wie Bilder-Buch-Buch. Die Erweiterung des RDF-Vokabulars um Konzepte zur Erstellung kontrollierter Vokabulare und grundlegender Ontologien wird als RDF-Schema oder RDF Vocabulary Description Language (RDFS) bezeichnet. RDFS ermöglicht es, Aussagen über Klassen und Ressourcen zu schreiben und taxonomische Strukturen auszudrücken, beispielsweise über Beziehungen zwischen Oberklassen und Unterklassen.

Komplexe Wissensdomänen erfordern mehr Funktionen als in RDFS verfügbar sind, was zur Einführung von OWL führte . OWL unterstützt Beziehungen zwischen Klassen (Vereinigung, Schnittmenge, Disjunktheit, Äquivalenz), Einschränkungen der Eigenschaftskardinalität (Minimum, Maximum, genaue Anzahl, z. B. hat jede Person genau einen Vater), eine umfassende Typisierung von Eigenschaften, Eigenschaften von Eigenschaften und spezielle Eigenschaften (transitiv, symmetrisch, funktional, invers funktional, z. B. A ex: hasAncestor B und B ex: hasAncestor C impliziert, dass A ex: hasAncestor C) angibt, dass eine bestimmte Eigenschaft ein eindeutiger Schlüssel für Instanzen einer bestimmten Klasse ist, sowie Domänen- und Bereichsbeschränkungen für Eigenschaften.

Leslie Sikos
quelle