webentwicklung-frage-antwort-db.com.de

Was ist der Unterschied zwischen RDF und OWL?

Ich versuche das Konzept des Semantic Web zu verstehen. Ich finde es schwer zu verstehen, was genau der Unterschied zwischen RDF und OWL ist. Ist OWL eine Erweiterung von RDF oder sind diese beiden Technologien völlig unterschiedlich?

184
user32262

Das Semantic Web besteht aus Schichten. Dies ist eine kurze Zusammenfassung derjenigen, an denen Sie meines Erachtens 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 ist.

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 enthalten 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> .

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

RDF und RDFS

Die nächste Ebene ist RDF - Das Resource Description Framework. RDF definiert eine zusätzliche Struktur für Tripel. Das Wichtigste RDF = define ist ein Prädikat mit dem Namen "rdf: type". Dies bedeutet, dass die Dinge von einem bestimmten Typ 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 Beziehungstypen treffen können. Auf der einfachsten Ebene können Sie Dinge wie angeben. Http://familyontology.net/1.0#hasFather ist eine Beziehung zwischen einer Person und einer Person. Sie können damit auch die Bedeutung einer Beziehung oder einer Klasse in einem für Menschen lesbaren Text beschreiben. Dies ist ein Schema. Hier erfahren Sie rechtliche Verwendungen verschiedener Klassen und Beziehungen. Es wird auch verwendet, um anzuzeigen, dass eine Klasse oder Eigenschaft ein Untertyp eines allgemeineren Typs ist. Beispielsweise ist "HumanParent" eine Unterklasse von "Person". "Loves" ist eine Unterklasse von "Knows".

RDF-Serialisierungen

RDF kann in einer Reihe von Dateiformaten exportiert werden. Am häufigsten wird RDF + XML verwendet, dies weist jedoch einige Schwächen auf.

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

Es ist wichtig zu wissen, dass RDF ein Weg 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 angezeigt, die den spezifischen Typ eines Literal identifizieren. Es wird auch in XML-Schemata verwendet, bei denen es sich um einen etwas anderen Fischkessel handelt.

[~ # ~] Eule [~ # ~]

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

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

261

Zusamenfassend:

  • RDF definiert wie Sachen schreiben
  • OWL definiert was zu schreiben

Wie das vorherige Poster schrieb, ist RDF eine Spezifikation, in der erklärt wird, wie man Tripel definiert.

Das Problem ist, dass Sie mit RDF alles definieren können, sodass Sie eine Erklärung wie die folgende erstellen können:

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

Diese Tripel bilden gültige RDF Dokumente.

Aber semantisch verstehen Sie, dass diese Aussagen falsch sind und Ihnen RDF nicht helfen kann, das zu validieren, was Sie geschrieben haben.

Dies ist keine gültige Ontologie.

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

Ontologien können mehrere Eigenschaften haben.

Aus diesem Grund definiert OWL (Version 1) verschiedene Versionen wie OWL DL, OWL Lite und OWL Full.

76
alexkr

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

Diese Technologien sind miteinander verwandt und sollten interoperabel sein. Sie haben jedoch unterschiedliche Ursprünge, weshalb die Beziehung zwischen ihnen möglicherweise schwierig zu erfassen ist. Die Wahl der einen oder anderen Option hängt davon ab, wie komplex die zu modellierende Situation ist.

Zusammenfassung der Expressivität

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 serialisiert in Turtle:

@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 mit RDF allein, manchmal ist es interessant, komplexere Beziehungen wie Unterklassen darzustellen Typ eines Typs ) Zum Beispiel bietet RDFS spezielle Möglichkeiten, um solche Fälle mit Konstrukten wie rdfs:subClassOf, rdfs:range oder rdfs:domain darzustellen. Im Idealfall kann ein Reasoner die RDFS-Semantik verstehen und die Anzahl der Tripel basierend auf den Beziehungen erweitern: Wenn Sie beispielsweise die Tripel John a Man Und Man rdfs:subClassOfHuman dann sollten Sie auch das Triple John a Human generieren. Beachten Sie, dass dies nicht nur mit RDF allein. RDFS-Daten werden mit SPARQL abgefragt. Beispiel für RDFS serialisiert in 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: Die höchste Expressivität. Die Beziehung zwischen Klassen kann formal auf der Grundlage von Beschreibungslogiken (mathematische Theorie) modelliert werden. OWL verlässt sich stark auf den Reasoner, es ist möglich, komplexe Konstrukte wie zum Beispiel verkettete Eigenschaften oder Einschränkungen zwischen Klassen auszudrücken. OWL dient dazu, Ontologien oder Schemata auf RDF Datasets aufzubauen. Da OWL als RDF/XML serialisiert werden kann, ist es theoretisch möglich, es über SPARQL abzufragen, aber es ist viel intuitiver Fragen Sie eine OWL-Ontologie mit einer DL Abfrage ab (dies ist normalerweise ein Standardausdruck der OWL-Klasse). Beispiele für in Turtle serialisierte OWL-Konstrukte.

@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 .
31
loopasam

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

Zweitens fügt OWL der Funktion RDF) eine ontologische Funktion hinzu (die für sich genommen nur eine äußerst eingeschränkte Funktion für die formale Darstellung von Kenntnissen bietet), indem es die Vorrichtung bereitstellt, um die Komponenten Ihres Tripels unter Verwendung einer formalen berechenbaren Beschreibung erster Ordnung zu definieren 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 gleichwertig sind und in OWL-DL owl: class eine Unterklasse von rdfs: class ist. Tatsächlich bedeutet dies, dass Sie eine OWL-Ontologie als Schema für RDF (das formal keine Schemata erfordert) verwenden können.

Ich hoffe das hilft weiter zu klären.

14
Nico Adams

Ich persönlich fand dieses Dia-Deck sehr nützlich und verständlich: http://www.slideshare.net/rlovinger/rdf-and-owl

9
dgorissen

RDF ist ein Weg, um ein Triple 'subject', 'predicate', 'value' zu definieren. Zum Beispiel, wenn ich sagen möchte,

"Mein Name ist Pierre"

Ich würde schreiben

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

Siehe 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 der [~ # ~] Eule [~ # ~] ist eine ( RDF) Weg 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 solche Anweisungen zu definieren.

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

8
Pierre

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

  1. Sie können RDF als Konzept bezeichnen:

    Eine Art, Dinge/Logik/irgendetwas mit Hilfe von Dreifachgruppen zu beschreiben.

    Beispiel:

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

    Oben haben Sie zwei Tripel, die zwei Ressourcen "Anna" und "Äpfel" beschreiben. Das Konzept von RDF (Resource Description Framework) ist, 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 speichern Informationen, ob Sie eine Zeichenfolge von 3 Wörtern oder ein Gemälde an der Wand oder einen Tisch mit 3 Spalten usw. haben.

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

  2. Du kannst RDF als Vokabular bezeichnen

    Ein Vokabular ist nur eine Sammlung von Begriffsdefinitionen, die in einer Datei oder irgendwo gespeichert sind. Diese definierten Begriffe haben den Zweck, im Allgemeinen in anderen Beschreibungen wiederverwendet zu werden, damit Personen Daten (Ressourcen) einfacher und standardisierter beschreiben können.

    Im Web finden Sie einige Standard-Vokabeln wie:

    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 )

    Das RDF Vokubalar definiert Begriffe, die Ihnen helfen, (auf der grundlegendsten Ebene wie möglich) Personen/Instanzen von Klassen zu beschreiben. 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 Triple-Statement-Definition oder die Prädikat-Definition ... im Allgemeinen Dinge, die sich auf das = beziehen RDF Konzept).

    Das RDFS-Vokabular enthält Begriffsdefinitionen, mit deren Hilfe Sie Klassen und Beziehungen zwischen ihnen beschreiben können. Das RDFS-Vokabular kümmert sich nicht um Instanzen von Klassen (Einzelpersonen) wie das Vokabular RDF=). 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 die Begriffe, die RDFS verwenden, und RDFS verwendet RDF um eigene Begriffe zu definieren.

    Das RDF/RDFS-Vokabular enthält 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 auf detailliertere Beschreibungen abzielen. Diese Begriffe werden mit Begriffen aus dem RDF/RDFS-Vokabular 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 Properties erstellt werden, die weniger abstrakt sind und genauere Beschreibungen der 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 Vokabeln).
  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 aus RDF und RDFS-Vokabularen besteht, die neue Begriffe zum Erstellen detaillierterer Beschreibungen von Ressourcen enthalten.
  6. Alle semantischen Webvokabulare (RDF, RDFS, OWL usw.) werden unter Beachtung des RDF) - Konzepts erstellt.
  7. Und natürlich hat das OWL-Vokabular hinter den Kulissen alle Arten von komplexer Logik und Konzepten, die die Sprache der Web-Ontologie definieren. Das OWL-Vokabular ist nur eine Möglichkeit, all diese Logik in der Praxis zu nutzen.
8
whitefang1993

Mit RDFS können Sie die Beziehungen zwischen Dingen ausdrücken, indem Sie ein flexibles, dreifach basiertes Format standardisieren und dann ein Vokabular ("Schlüsselwörter" wie rdf:type Oder rdfs:subClassOf) Bereitstellen, das verwendet werden kann, um zu sagen Dinge.

OWL ist ähnlich, aber größer, besser und schlechter. Mit OWL können Sie viel mehr über Ihr Datenmodell sagen, es zeigt Ihnen, wie Sie effizient mit Datenbankabfragen und automatischen Begründern arbeiten, und es bietet nützliche Anmerkungen, um Ihre Datenmodelle in die Realität umzusetzen.

1. Unterschied: Wortschatz

Von den Unterschieden zwischen RDFS und OWL ist der wichtigste, dass OWL ein weitaus größeres Vokabular bereitstellt, mit dem Sie Dinge sagen können .

Zum Beispiel enthält OWL alle Ihre alten Freunde aus RDFS wie rdfs:type, rdfs:domain Und rdfs:subPropertyOf. OWL gibt dir aber auch neue und bessere Freunde! Mit OWL können Sie Ihre Daten beispielsweise in Bezug auf festgelegte Operationen beschreiben:

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

Hiermit können Sie Äquivalenzen für mehrere 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 das Reasoning, das seine eigene Lehre erhält!

2. Unterschied: Steifheit

Ein weiterer großer Unterschied ist, dass OWL im Gegensatz zu RDFS nicht nur angibt, wie Sie bestimmte Vokabeln verwenden können , sondern auch, wie Sie nicht können . ) benutze es. 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 von rdfs:Class Sein. Sie können entscheiden, dass Beagle ein rdfs:Class Ist, und 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 sagen, dass Beagle eine Instanz von Hunden ist, die in England gezüchtet wurden :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

Das Interessante an diesem Beispiel ist, dass Example:Beagle Sowohl als Klasse als auch als Instanz verwendet wird. Beagle ist eine Klasse, in der Fido Mitglied ist, aber Beagle selbst ist Mitglied einer anderen Klasse : Dinge, die in England gezüchtet wurden.

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

Dies ist dann ein zweiter wesentlicher Unterschied zwischen RDFS und OWL. RDFS ermöglicht eine freie Welt, in der der Wilde Westen, Speak-Easies und Salvador Dali vorkommen. Die Welt von OWL sieht eine viel starrere Struktur vor.

3. Unterschied: Anmerkungen, die Meta-Meta-Daten

Angenommen, Sie haben in der letzten Stunde eine Ontologie erstellt, die Ihr Radioproduktionsgeschäft beschreibt. Während des Mittagessens besteht Ihre Aufgabe darin, eine Ontologie für Ihr Uhrenherstellungsgeschäft zu erstellen. Nach einem guten Kaffee sagt Ihnen Ihr Chef heute Nachmittag, dass Sie eine Ontologie für Ihr hochprofitables Geschäft mit Radioweckern aufbauen müssen. Gibt es eine Möglichkeit, die morgendliche Arbeit problemlos wiederzuverwenden?

Mit OWL ist es sehr, sehr einfach, solche Dinge zu tun. Owl:Import Ist das, was Sie in der Radiowecker-Situation verwenden würden, aber OWL bietet Ihnen auch eine Vielzahl von Anmerkungen wie owl:versionInfo, owl:backwardsCompatibleWith Und owl:deprecatedProperty, mit denen Datenmodelle einfach zu einem zusammenhängenden Ganzen verknüpft werden können.

Im Gegensatz zu RDFS wird OWL alle Ihre Anforderungen an die Meta-Meta-Datenmodellierung erfüllen.

Fazit

OWL bietet Ihnen ein viel umfangreicheres Vokabular, mit dem Sie auf einfache Weise alles sagen können, was Sie über Ihr Datenmodell sagen möchten. Mit OWL können Sie sogar das, was Sie sagen, auf der Grundlage der Berechnungsrealität heutiger Computer anpassen und für bestimmte Anwendungen optimieren (z. B. für Suchanfragen). Außerdem können Sie mit OWL die Beziehungen zwischen verschiedenen Ontologien mithilfe eines Standardanmerkungsframeworks problemlos ausdrücken .

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

Quelle: RDFS vs. OWL

7
Bilal

Ich versuche das Konzept des Semantic Web zu verstehen. Ich finde es schwer zu verstehen, was genau der Unterschied zwischen RDF und OWL ist. Ist OWL eine Erweiterung von RDF oder sind diese beiden Technologien völlig unterschiedlich?

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

Im Detail können Sie mit RDF ein gerichtetes Diagramm 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, zum Beispiel :Tolkien :wrote :LordOfTheRings oder :LordOfTheRings :author :Tolkien Fragen Sie sie ab. Nun sind dies riesige Systeme, aber Sie können RDF bei kleineren Projekten. Jede Anwendung hat eine domänenspezifische Sprache (oder mit DDD-Begriffen allgegenwärtige Sprache). Sie können diese Sprache in beschreiben Ihre Ontologie/Ihr Vokabular, damit Sie das Domänenmodell Ihrer Anwendung mit einem Diagramm beschreiben können, das Sie visualisieren können, um es den Geschäftsleuten zu zeigen, über Geschäftsentscheidungen zu sprechen, die auf dem Modell basieren, und die Anwendung darauf aufbauen können das Vokabular Ihrer Anwendung für die zurückgegebenen Daten und ein den Suchmaschinen bekanntes Vokabular wie mic rodata (Sie können dazu beispielsweise HTML mit RDFA verwenden), sodass Suchmaschinen Ihre Anwendungen leicht finden können, da das Wissen darüber, was sie tun, maschinenverarbeitbar ist. So funktioniert das Semantic Web. (Zumindest stelle ich mir das so vor.)

Um 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, Vererbung ( basierend auf Objekten von c.), aber es ist zu breit. Um Einschränkungen zu definieren (z. B. ein Kind pro chinesischer Familie), benötigen Sie ein anderes Vokabular. OWL (Web-Ontologiesprache) erledigt diese Aufgabe. OWL ist eine Ontologie, mit der Sie beschreiben können Webanwendungen: Integriert die XSD simpleTypes.
RDF -> RDFS -> OWL -> MyWebApp Ist also die Anweisung, Ihre Webanwendung immer genauer zu beschreiben.

6
inf3rno

Im WC3-Dokumentobjektmodell ist ein document 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 Betreff, die Sache, die das Triple ist about, die ID, der Datenbank-Primärschlüssel - eine URI; und
  • das Prädikat, das "Verb", die "Eigenschaft", die "Datenbankspalte" - eine weitere URI; und
  • das Objekt, ein atomarer Wert oder eine URI.

OWL bezieht sich auf das Semantic Web wie Schemata 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 OWL, die für es gilt, gültig sein oder nicht, genauso wie ein Dokument in Bezug auf ein Schema gültig sein kann oder nicht.

RDF ist für das Semantic Web wie XML für 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 = of RDF ".

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

4
paulmurray

Der grundlegende semantische Webstack 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 eine Super-Menge von RDF & RDF-S (oben)
  • Mit OWL kann effektiv mit RDF & RDF-S gearbeitet werden
  • OWL hat einige erweiterte Vokabeln
    • klassen & Einzelpersonen ("Instanzen")
    • eigenschaften & Datentypen ("Prädikate")
  • OWL ist für die richtige Begründung und Schlussfolgerung erforderlich
  • OWL gibt es in drei Dialekten: Lite, Beschreibungslogik und Voll

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 das tatsächlich mit OWL funktioniert - diese wurden aus meinem Vortrag über die Grundlagen des Semantic Web beim TYPO3camp Mallorca, Spanien im Jahr 2015 entnommen.

äquivalente nach Regeln

Spaniard: Person and (inhabitantOf some SpanishCity)

Dies bedeutet, dass ein Spaniard ein Person sein muss (und somit alle Eigenschaften im ableitenden Teil erbt) und in mindestens einem (oder mehreren) SpanishCity leben muss.

bedeutung von eigenschaften

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

Das Beispiel zeigt das Ergebnis der Anwendung von inverseOf auf die Eigenschaften isPartOf und contains.

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

kardinalitäten von Eigenschaften

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

Dies definiert, dass jedes Thing (in diesem Szenario höchstwahrscheinlich ein Human) genau zwei Eltern hat - die Kardinalität wird der Eigenschaft hasParent zugewiesen.

  • minimum
  • maximal
  • genau
3
Oliver Hader

Ein Bild sagt mehr als tausend Worte! Das folgende Diagramm soll verdeutlichen, was Christopher Gutteridge in diesem Antwort gesagt hat, dass das semantische Web eine "Schichtenarchitektur" ist.

enter image description here

Quelle: https://www.obitko.com/tutorials/ontologies-semantic-web/semantic-web-architecture.html

2
John Strood

Das Resource Description Framework (RDF) ist eine leistungsfähige 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 von Subjekt-Prädikat-Objekt (Ressourceneigenschaftswert) ermöglicht. Dreiergruppen, genannt RDF Dreiergruppen, wie Bildbibliothek. Die Erweiterung des RDF Vokabulars mit Konzepten, die erforderlich sind, um kontrollierte Vokabulare und grundlegende Ontologien zu erstellen, wird genannt RDF Schema oder RDF Vocabulary Description Language (RDFS). RDFS ermöglicht das Schreiben von Aussagen über Klassen und Ressourcen sowie das Ausdrücken taxonomischer Strukturen, z. B. über Oberklassen -Unterklasse Beziehungen.

Komplexe Wissensdomänen erfordern mehr Funktionen als das, was in RDFS verfügbar ist, 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), umfassende Typisierung von Eigenschaften, Eigenschaftenmerkmalen und speziellen 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 sowie Domänen- und Bereichsbeschränkungen ist für Eigenschaften.

2
Leslie Sikos

Die beste Antwort ist, das Buch eines der Pioniere des Semantic Web selbst "Semantic Web für den arbeitenden Ontologen" von James Hendler zu lesen. Wenn Sie einen schnellen Crashkurs suchen. Überprüfen Sie diesen Kurs:

https://www.udemy.com/semantic-web/?couponCode=HALFOFF

2
starry