Jaka jest różnica między RDF a OWL? [Zamknięte]

191

Próbuję uchwycić koncepcję Semantic Web. Trudno mi zrozumieć, jaka dokładnie jest różnica między RDF a OWL. Czy OWL jest rozszerzeniem RDF, czy te dwie są zupełnie różnymi technologiami?

użytkownik32262
źródło
Osobiście uznałem tę platformę slajdów za przydatną i zrozumiałą: slideshare.net/rlovinger/rdf-and-owl
dgorissen

Odpowiedzi:

272

Sieć semantyczna jest podzielona na warstwy. To jest krótkie podsumowanie tych, które moim zdaniem są zainteresowane.

Aktualizacja : Należy pamiętać, że RDFS służy do definiowania struktury danych, a nie OWL. OWL opisuje relacje semantyczne, o których normalne programowanie, takie jak struktura C, nie jest rozrzucone i jest bliższe badaniom AI i teorii mnogości.

Trójki i URI

Subject - Predicate - Object

Opisują one jeden fakt. Zasadniczo identyfikatory URI są używane dla podmiotu i predykatu. Obiekt to albo inny identyfikator URI, albo literał, taki jak liczba lub ciąg znaków. Literały mogą mieć typ (który jest również URI), a także mogą mieć język. Tak, oznacza to, że trójki mogą mieć do 5 bitów danych!

Na przykład potrójny może opisać fakt, że Charles jest ojcem Harry'ego.

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

Trójki są normalizacją baz danych, doprowadzoną do logicznego ekstremum. Mają tę zaletę, że można ładować trzykrotnie z wielu źródeł do jednej bazy danych bez rekonfiguracji.

RDF i RDFS

Kolejną warstwą jest RDF - struktura opisu zasobów. RDF definiuje dodatkową strukturę dla potrójnych. Najważniejszą definicją RDF jest predykat o nazwie „rdf: type”. Jest to używane do stwierdzenia, że ​​rzeczy są pewnego rodzaju. Każdy używa rdf: type, co czyni go bardzo przydatnym.

RDFS (schemat RDF) definiuje niektóre klasy, które reprezentują pojęcie podmiotów, obiektów, predykatów itp. Oznacza to, że możesz zacząć składać oświadczenia o klasach rzeczy i typach relacji. Na najprostszym poziomie możesz powiedzieć takie rzeczy, jak http://familyontology.net/1.0#hasFather to związek między osobą a osobą. Pozwala również opisać w tekście czytelnym dla człowieka znaczenie relacji lub klasy. To jest schemat. Informuje o legalnym wykorzystaniu różnych klas i relacji. Służy również do wskazania, że ​​klasa lub właściwość jest podtypem bardziej ogólnego typu. Na przykład „HumanParent” jest podklasą „Person”. „Loves” to podklasa „Knows”.

Serializacje RDF

RDF można eksportować w wielu formatach plików. Najczęściej jest to RDF + XML, ale ma to pewne słabości.

N3 jest formatem innym niż XML, który jest łatwiejszy do odczytania, a niektóre podzbiory (Turtle i N-Triples) są bardziej rygorystyczne.

Ważne jest, aby wiedzieć, że RDF jest sposobem pracy z potrójnymi, a NIE formatami plików.

XSD

XSD to przestrzeń nazw używana głównie do opisywania typów właściwości, takich jak daty, liczby całkowite i tak dalej. Zazwyczaj jest to widoczne w danych RDF identyfikujących konkretny rodzaj literału. Jest również używany w schematach XML, który jest nieco innym kotłem ryb.

SOWA

OWL dodaje semantykę do schematu. Pozwala określić znacznie więcej na temat właściwości i klas. Wyraża się to także trzykrotnie. Na przykład może to oznaczać, że „Jeśli A jest zamężny do B”, oznacza to, że „B jest zamężny do A”. Lub, że jeśli „ C jestAncestorOf D ” i „ D jestAncestorOf E ”, wówczas „ C jestAncestorOf E ". Kolejną przydatną rzeczą, którą dodaje sowa, jest możliwość powiedzenia, że ​​dwie rzeczy są takie same, co jest bardzo pomocne w łączeniu danych wyrażonych w różnych schematach. Można powiedzieć, że relacja„ sired ”w jednym schemacie to sowa: sameAs jakiś inny schemat. Można go również użyć, aby powiedzieć, że dwie rzeczy są takie same, na przykład „Elvis Presley” na wikipedii jest taki sam na BBC. Jest to bardzo ekscytujące, ponieważ oznacza, że ​​możesz zacząć łączyć dane z wielu witryn (jest to „Połączone dane”).

Możesz także użyć OWL, aby wywnioskować domniemane fakty, takie jak „ C isAncestorOf E ”.

Christopher Gutteridge
źródło
21
Oto obraz warstw Semantic Web: w3.org/2001/12/semweb-fin/swlevels.png Tylko w celach informacyjnych.
Timo Westkämper
8
Jedną z części, która wciąż jest dla mnie niejasna, jest to, że wydaje się, że istnieje pewne nakładanie się między tym, co RDFS i OWL mogą wyrażać. Na przykład owl: Class może wyglądać bardzo podobnie do rdfs: Class. (Na przykład encja typu owl: Class jest często przedmiotem kilku predykatów RDFS, takich jak rdfs: comment i rdfs: subclassOf.) Próbuję zrozumieć, w jaki sposób OWL jest warstwą nad RDFS, ponieważ jeśli chodzi o definiując klasy, wygląda to raczej na sposób na wzbogacenie tego, co można zrobić z RDFS.
Ian Griffiths,
W zależności od używanego profilu OWL / OWL-2 masz „dodatkową” możliwość wzbogacenia swojej bazy wiedzy o aksjomaty DL (np. Ograniczenia własności, rozłączność i wiele innych).
Zhubarb
4
@IanGriffiths: w rzeczywistości poniżej OWL2 semantykę sowy: Klasa i rfds: klasa (jak również wiele bardziej zaskakujące pary) eqivalent: answers.semanticweb.com/questions/30954/...
Vladimir Alexiev
... OWL, RDFS, XSD ... to języki uzupełniające ... każdy z nich odgrywa rolę w opisie Twojej domeny i wszyscy dołączają do jej wzbogacenia ...
Sergio
82

W skrócie:

  • RDF określa sposób pisania rzeczy
  • OWL określa, co pisać

Jak napisał poprzedni plakat, RDF jest specyfikacją, która mówi, jak zdefiniować potrójne.

Problem polega na tym, że RDF pozwala ci zdefiniować wszystko, więc możesz napisać taką deklarację:

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

Te trójki tworzą ważne dokumenty RDF.

Ale semantycznie rozumiesz, że te stwierdzenia są niepoprawne i RDF nie może ci pomóc zweryfikować tego, co napisałeś.

To nie jest poprawna ontologia.

Specyfikacja OWL definiuje dokładnie to , co możesz napisać za pomocą RDF, aby mieć prawidłową ontologię.

Ontologie mogą mieć kilka właściwości.

Właśnie dlatego OWL (wer. 1) definiuje kilka wersji, takich jak OWL DL, OWL Lite, OWL Full.

alexkr
źródło
28
Należy jednak pamiętać, że OWL nie będzie ograniczać tego, co można umieścić w sklepie RDF - informacje o schemacie OWL są używane głównie do wnioskowania, a nie do wymuszania ograniczeń.
DNA
32

RDF, RDFS i OWL są środkami do wyrażania coraz bardziej złożonych informacji lub wiedzy. Wszystkie z nich mogą być serializowane w składni RDF / XML (lub w dowolnej innej składni serializacji RDF, na przykład Turtle lub N3).

Technologie te są powiązane i powinny być interoperacyjne, ale mają różne pochodzenie, być może dlatego relacja między nimi jest trudna do zrozumienia. Wybór jednego lub drugiego zależy od stopnia złożoności, jakiej wymaga modelowana sytuacja.

Podsumowanie ekspresji

RDF : Prosta reprezentacja, skoncentrowana na instancjach i mapowaniu na ich typy ( rdf:type). Możliwe jest zdefiniowanie niestandardowych właściwości do łączenia danych i tworzenia potrójnych. Dane RDF są sprawdzane za pomocą SPARQL. Przykład serializacji RDF w Turtle:

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

RDFS: Niektóre sytuacje nie są łatwo modelowane przez sam RDF, czasami interesujące jest reprezentowanie bardziej złożonych relacji, takich jak na przykład podklasy ( typ typu ). RDFS zapewnia specjalne środki do reprezentowania tych przypadków, z konstruktami podoba rdfs:subClassOf, rdfs:rangealbo rdfs:domain. Idealnie, rozumujący może zrozumieć semantykę RDFS i rozszerzyć liczbę potrójnych na podstawie relacji: Na przykład, jeśli masz potrójne, John a Mana Man rdfs:subClassOf Humannastępnie powinieneś wygenerować potrójne John a Human. Pamiętaj, że nie jest to możliwe w przypadku samego RDF. Dane RDFS są sprawdzane za pomocą SPARQL. Przykład serializacji RDFS w programie 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 .

SOWA: najwyższy poziom ekspresji. Relacje między klasami można formalnie modelować w oparciu o logikę opisu (teorię matematyczną). OWL w dużej mierze opiera się na rozumowaniu, możliwe jest wyrażanie złożonych konstrukcji, takich jak na przykład właściwości łańcuchowe lub ograniczenie między klasami. OWL służy do budowania ontologii lub schematów na zestawach danych RDF. Ponieważ OWL może być szeregowany jako RDF / XML, teoretycznie możliwe jest zapytanie go za pomocą SPARQL, ale o wiele bardziej intuicyjne jest zapytanie ontologii OWL za pomocą zapytania DL (które jest zwykle standardowym wyrażeniem klasy OWL). Przykład konstrukcji OWL serializowanych w 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
źródło
2
Podklasa to nie „typ typu”: to metaklasa. „X a Y. Y a Z.” różni się od „X a Y. Y subClassOf Z”
Vladimir Alexiev
14

Po pierwsze, jak już wspomniano, sowa może być serializowana w RDF.

Po drugie, OWL dodaje RDF możliwości ontologiczne (które same w sobie zapewniają jedynie bardzo ograniczone możliwości formalnej reprezentacji wiedzy), dostarczając urządzenie do definiowania elementów twojego potrójnego za pomocą formalnej logicznej opisowej logiki opisu pierwszego rzędu. Tak właśnie rozumieją plakaty, kiedy mówią o „bogactwie semantycznym”.

Po trzecie, ważne jest, aby zdać sobie sprawę, że w OWL-Full (dla OWL 1) rdfs: class i owl: class są równoważne, aw OWL-DL owl: class jest podklasą rdfs: class. W efekcie oznacza to, że możesz użyć ontologii OWL jako schematu dla RDF (który formalnie nie wymaga schematów).

Mam nadzieję, że to pomoże w dalszym wyjaśnieniu.

Nico Adams
źródło
Bardzo dobry post ... Chcę zapisać potrójne RDF w Oracle 11g, czy mogę używać OWL jako schematu dla mojego RDF?
Saad
10

Kiedy używasz terminu RDF, musisz rozróżnić dwie rzeczy:

  1. Możesz odwołać się do RDF jako pojęcia :

    Sposób opisywania rzeczy / logiki / czegokolwiek przy użyciu zbiorów potrójnych.

    Przykład:

    „Anna ma jabłka”. „Jabłka są zdrowe”.

    Powyżej masz dwie tróje opisujące dwa zasoby: „Anna” i „jabłka”. Koncepcja RDF (Resource Description Framework) polega na tym, że możesz opisywać zasoby (cokolwiek) za pomocą zestawów tylko 3 słów (terminów). Na tym poziomie nie obchodzi Cię, jak przechowujesz informacje, czy masz ciąg 3 słów, obraz na ścianie, czy stół z 3 kolumnami itp.

    Na tym poziomie koncepcyjnym jedyną ważną rzeczą jest to, że możesz reprezentować wszystko, co chcesz, używając potrójnych instrukcji.

  2. Możesz odwoływać się do RDF jako słownictwa

    Słownictwo to tylko zbiór definicji terminów przechowywanych w pliku lub gdzieś. Te zdefiniowane terminy mają na celu ponowne użycie w innych opisach, aby ludzie mogli łatwiej i w standardowy sposób opisywać dane (zasoby).

    W Internecie można znaleźć standardowe słowniki, takie jak:

    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 )

    Słownictwo RDF definiuje terminy, które pomagają opisać (na możliwie najbardziej podstawowym poziomie) osoby / wystąpienia klas. Przykład: rdf: typ, rdf: Właściwość.

    Za pomocą rdf: type możesz opisać, że jakiś zasób jest instancją klasy:

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

    Tak więc słownictwo RDF zawiera terminy, które dotyczą podstawowych opisów instancji klas i niektórych innych opisów (takich jak definicja potrójnej instrukcji lub definicja predykatu ... ogólnie rzecz biorąc, które są powiązane z koncepcją RDF).

    Słownictwo RDFS zawiera definicje terminów, które pomagają opisać klasy i relacje między nimi. Słownictwo RDFS nie obchodzi instancji klas (osób) takich jak słownictwo RDF. Przykład: właściwość rdfs: subClassOf, której można użyć do opisania, że ​​klasa A jest podklasą klasy B.

    Słowniki RDF i RDFS są od siebie zależne. RDF definiuje swoje terminy przy użyciu RDFS, a RDFS używa RDF do definiowania własnych terminów.

    Słowniki RDF / RDFS zawierają terminy, których można użyć do stworzenia bardzo podstawowych opisów zasobów. Jeśli chcesz mieć bardziej złożone i dokładne opisy, musisz użyć słownictwa OWL.

Słownictwo OWL zawiera zestaw nowych terminów ukierunkowanych na bardziej szczegółowe opisy. Te terminy są zdefiniowane przy użyciu terminów ze słowników 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 .

Jak widać powyżej, słownictwo OWL rozszerza koncepcję rdf: Property, tworząc nowe typy właściwości, które są mniej abstrakcyjne i mogą zapewnić dokładniejsze opisy zasobów.

Wnioski:

  1. RDF to koncepcja lub sposób opisywania zasobów przy użyciu zbiorów potrójnych.
  2. Potrójne pliki RDF mogą być przechowywane w różnych formatach (XML / RDF, Turtle itp.)
  3. Koncepcja RDF jest podstawowym modelem wszystkich technologii i struktur semantycznych sieci (takich jak słowniki).
  4. RDF to także słownictwo, które wraz ze słownictwem RDFS zapewnia zestaw terminów, których można używać do tworzenia ogólnych / abstrakcyjnych opisów zasobów.
  5. OWL to słownictwo zbudowane ze słowników RDF i RDFS, które zapewniają nowe warunki tworzenia bardziej szczegółowych opisów zasobów.
  6. Wszystkie semantyczne słowniki internetowe (RDF, RDFS, OWL itp.) Są budowane z poszanowaniem koncepcji RDF.
  7. I oczywiście słownictwo OWL ma za kulisami wszelkiego rodzaju złożoną logikę i koncepcje, które definiują język ontologii internetowej. Słownictwo OWL to tylko sposób na wykorzystanie całej tej logiki w praktyce.
whitefang1993
źródło
9

RDF to sposób na zdefiniowanie potrójnego „podmiotu”, „predykatu”, „wartości” . Na przykład, jeśli chcę powiedzieć

„nazywam się Pierre”

Napisałbym

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

Widzisz <foaf:name>? jest częścią ontologii FOAF . Ontologia to formalny sposób opisu właściwości, klas danego przedmiotu, a OWL to (RDF) sposób definiowania ontologii.

Używasz C ++, Java itp. ... do zdefiniowania klasy, podklasy, pola itp.

class Person
{
    String email_as_id;
    String name;
}

RDF używa OWL do definiowania tego rodzaju instrukcji.

Kolejne miejsce do zadawania tego rodzaju pytań: http://www.semanticoverflow.com/

Pierre
źródło
14
Nie zgadzam się z: „RDF używa OWL do definiowania tego rodzaju instrukcji”. RDF nie wykorzystuje OWL w żaden sposób. Odwrotnie: OWL używa schematu RDF, który wykorzystuje RDF.
alexkr
@Stefano Gdzie znajdują ludzi do ucieczki, to prawdziwe pytanie.
Pascal Thivent
7

Próbuję uchwycić koncepcję Semantic Web. Trudno mi zrozumieć, jaka dokładnie jest różnica między RDF a OWL. Czy OWL jest rozszerzeniem RDF, czy te dwie są zupełnie różnymi technologiami?

Krótko mówiąc, tak, można powiedzieć, że OWL jest rozszerzeniem RDF.

Bardziej szczegółowo, za pomocą RDF można opisać ukierunkowany wykres, definiując trzykrotnie predykat podmiot-obiekt. Podmiot i obiekt są węzłami, predykat jest krawędzią, lub innymi słowy, predykat opisuje relację między podmiotem a obiektem. Na przykład :Tolkien :wrote :LordOfTheRingslub:LordOfTheRings :author :Tolkien, itp ... Połączone systemy danych wykorzystują te trzy tryby do opisywania grafów wiedzy i zapewniają sposoby ich przechowywania, przeszukiwania. Teraz są to ogromne systemy, ale możesz używać RDF w mniejszych projektach. Każda aplikacja ma język specyficzny dla domeny (lub według terminów DDD wszechobecny język). Możesz opisać ten język w swojej ontologii / słownictwie, dzięki czemu możesz opisać model domeny aplikacji za pomocą wykresu, który możesz wizualizować, pokazać go ppl biznesowi, porozmawiać o decyzjach biznesowych na podstawie modelu i zbudować aplikację na górze tego. Możesz powiązać słownictwo aplikacji z danymi, które zwraca, oraz słownictwem znanym z wyszukiwarek, np. Mikrodanymi(na przykład możesz użyć HTML z RDFA, aby to zrobić), dzięki czemu wyszukiwarki mogą łatwo znaleźć twoje aplikacje, ponieważ wiedza na temat tego, co robi, będzie przetwarzana maszynowo. Tak działa sieć semantyczna. (Przynajmniej tak to sobie wyobrażam.)

Teraz, aby opisać aplikacje zorientowane obiektowo, potrzebujesz typów, klas, właściwości, instancji itp. Dzięki RDF możesz opisywać tylko obiekty. RDFS (schemat RDF) pomaga opisywać klasy, dziedziczenie (na podstawie obiektów ofc.), Ale jest zbyt szeroki. Aby zdefiniować ograniczenia (na przykład jedno dziecko na chińską rodzinę), potrzebujesz innego słownictwa. OWL (język ontologii internetowej) wykonuje tę pracę. OWL to ontologia, za pomocą której można opisywać aplikacje internetowe. Integruje proste typy XSD.
Podobnie RDF -> RDFS -> OWL -> MyWebAppjest z kolejnością opisywania aplikacji internetowej w coraz bardziej szczegółowy sposób.

inf3rno
źródło
Dziękuję - to wydaje się bardzo pomocne. Myślę, że mówisz (proszę daj mi znać, jeśli dobrze to zrozumiałem), że (1). RDF pozwala na określenie bezpośrednich relacji między obiektami ( personA friendsWith personB), co (2) RDFS rozszerza to, zapewniając możliwość określenia relacji między object classes- tj class Person <has 'friendsWith' relationship> Person. Który pozwala na ówczesnego frazy RDF poprzez klasy: A:typeof:person friendsWith B:<typeof:person>. I (3), OWL pozwala następnie określić ograniczenia relacji?
Zach Smith
tzn. osoba może mieć maksymalnie 4 „przyjaciół” z „połączeniami”?
Zach Smith
@ZachSmith Tak.
inf3rno
Tak dobra odpowiedź - dziękuję. Ułatwia czytanie wszystkiego innego na tej stronie.
Zach Smith
@ZachSmith yw.
inf3rno
7

RDFS pozwala wyrazić relacje między rzeczami poprzez standaryzację na elastycznym, potrójnym formacie, a następnie zapewnienie słownictwa („słów kluczowych”, takich jak rdf:typelub rdfs:subClassOf), których można użyć do powiedzenia rzeczy.

OWL jest podobny, ale większy, lepszy i gorszy. OWL pozwala powiedzieć o wiele więcej na temat modelu danych, pokazuje, jak efektywnie pracować z zapytaniami do baz danych i automatycznymi wnioskami oraz zapewnia przydatne adnotacje do wprowadzenia modeli danych w rzeczywisty świat.

1. różnica: słownictwo

Spośród różnic między RDFS i OWL najważniejsze jest to, że OWL zapewnia znacznie szersze słownictwo, którego można używać do wypowiadania się .

Na przykład, OWL zawiera wszystkich starych przyjaciół z RDFS takich jak rdfs:type, rdfs:domaini rdfs:subPropertyOf. Jednak OWL daje ci także nowych i lepszych przyjaciół! Na przykład OWL pozwala opisywać dane w kategoriach ustawionych operacji:

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

Umożliwia definiowanie równoważności w bazach danych:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Pozwala ograniczyć wartości właściwości:

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

w rzeczywistości OWL zapewnia tak wiele nowego, wyrafinowanego słownictwa, które można wykorzystać w modelowaniu danych i wnioskach, które ma swoją własną lekcję!

2. różnica: sztywność

Kolejną istotną różnicą jest to, że w przeciwieństwie do pieców OPB OWL nie tylko mówi, w jaki sposób można korzystać z pewnego słownictwa, to rzeczywiście mówi, jak nie można z niego korzystać. Z drugiej strony, RDFS daje ci świat, w którym możesz dodać praktycznie dowolną potrójną wartość.

Na przykład w RDFS wszystko, na co masz ochotę, może być instancją rdfs:Class. Możesz zdecydować, że Beagle jest, rdfs:Classa następnie powiedzieć, że Fido jest przykładem Beagle :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Następnie możesz zdecydować, że chciałbyś powiedzieć coś o psach, być może chcesz powiedzieć, że Beagle jest przykładem psów hodowanych w Anglii :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

Interesującą rzeczą w tym przykładzie jest to, że Example:Beaglejest używana zarówno jako klasa, jak i instancja . Beagle to klasa, do której należy Fido , ale sama Beagle jest członkiem innej klasy: Things Bred in England.

W RDFS wszystko to jest całkowicie legalne, ponieważ RDFS tak naprawdę nie ogranicza, które instrukcje można, a których nie można wstawić. Natomiast w OWL, a przynajmniej w niektórych odmianach OWL, powyższe stwierdzenia są w rzeczywistości nielegalne: po prostu nie wolno ci mówić, że coś może być zarówno klasą, jak i instancją.

Jest to druga ważna różnica między RDFS i OWL. RDFS umożliwia darmowy dla wszystkich , wszystko idzie w rodzaju świata pełnego Dzikiego Zachodu, Speak-Easies i Salvador Dali. Świat OWL narzuca znacznie sztywniejszą strukturę.

Trzecia różnica: adnotacje, meta-meta-dane

Załóżmy, że ostatnią godzinę spędziłeś na budowaniu ontologii opisującej twój biznes produkcyjny. Podczas lunchu Twoim zadaniem jest zbudowanie ontologii dla twojego biznesu produkującego zegary. Tego popołudnia, po dobrej kawie, twój szef mówi teraz, że będziesz musiał zbudować ontologię dla swojego bardzo dochodowego biznesu z zegarem i radiem. Czy istnieje sposób na łatwe ponowne wykorzystanie porannej pracy?

OWL sprawia, że ​​robienie takich rzeczy jest bardzo, bardzo łatwe. Owl:Importjest to, czego można użyć w sytuacji, zegar radia, ale OWL daje również bogaty wybór adnotacji, takich jak owl:versionInfo, owl:backwardsCompatibleWithi owl:deprecatedProperty, który może być łatwo używane modele danych powiązanie ze sobą w spójną całość wzajemnie.

W przeciwieństwie do RDFS, OWL z pewnością zaspokoi wszystkie Twoje potrzeby związane z modelowaniem meta-meta-danych.

Wniosek

OWL zapewnia znacznie szersze słownictwo do zabawy, co ułatwia powiedzenie wszystkiego, co chcesz powiedzieć o swoim modelu danych. Pozwala nawet dostosować to, co mówisz, na podstawie obliczeniowych realiów współczesnych komputerów i zoptymalizować pod kątem konkretnych aplikacji (na przykład dla zapytań wyszukiwania). Ponadto OWL pozwala łatwo wyrazić relacje między różnymi ontologiami przy użyciu standardowej struktury adnotacji .

Wszystkie te zalety są w porównaniu z RDFS i zazwyczaj są warte dodatkowego wysiłku, jaki trzeba poświęcić, aby się z nimi zapoznać.

Źródło: RDFS vs. OWL

Bilal
źródło
4

W modelu obiektowym dokumentu WC3: dokument jest abstrakcyjną rzeczą: AN pierwiastek z tekstem, komentarze, atrybuty i innych elementów zagnieżdżonych w nim.

W sieci semantycznej mamy do czynienia z zestawem „trójek”. Każda potrójna to:

  • temat, potrójna rzecz o , id, baza danych klucz podstawowy - URI; i
  • predykat, „czasownik”, „właściwość”, „kolumna bazy danych” - inny identyfikator URI; i
  • przedmiot , wartość atomowych lub niektórych URI.

OWL jest w sieci semantycznej, podobnie jak schematy w modelu obiektowym dokumentu W3C. Dokumentuje, co oznaczają różne identyfikatory URI i określa, w jaki sposób są one używane w formalny sposób, który może zostać sprawdzony przez maszynę. Sieć semantyczna może, ale nie musi być ważna w odniesieniu do OWL, która ma do niej zastosowanie, tak jak dokument może, ale nie musi, być ważny w odniesieniu do schematu.

RDF jest dla sieci semantycznej, podobnie jak XML dla DOM - jest to serializacja zbioru potrójnych.

Oczywiście, RDF jest zazwyczaj w odcinkach jako dokumentów XML ... ale ważne jest, aby zrozumieć, że RDF nie jest to samo, co „serializacji XML w RDF”.

Podobnie, OWL może być serializowany przy użyciu OWL / XML lub (przepraszam za to) może być wyrażony jako RDF, który sam jest zwykle serializowany jako XML.

paulmurray
źródło
3

Podstawowy stos semantyczny sieci został już wyjaśniony w tym wątku. Chciałbym skoncentrować się na wstępnym pytaniu i porównać RDF z OWL.

  • OWL to super zestaw RDF i RDF-S (na górze)
  • OWL pozwala efektywnie współpracować z RDF i RDF-S
  • OWL ma rozbudowane słownictwo
    • klasy i jednostki („instancje”)
    • właściwości i typy danych („predykaty”)
  • OWL jest wymagany do prawidłowego uzasadnienia i wnioskowania
  • OWL jest dostępny w trzech wersjach: lite, logika opisu i pełna

Korzystanie z OWL jest niezbędne do uzyskania większego znaczenia (rozumowania i wnioskowania) poprzez znajomość kilku faktów. Te „dynamicznie tworzone” informacje mogą być dalej wykorzystywane do zgodnych zapytań, takich jak w SPARQL.

Niektóre przykłady pokażą, że tak naprawdę działa z OWL - zostały zaczerpnięte z mojej rozmowy o podstawach sieci semantycznej na TYPO3camp Mallorca, Hiszpania w 2015 roku.

odpowiedniki według zasad

Spaniard: Person and (inhabitantOf some SpanishCity)

Oznacza to, że a Spaniardmusi być Person(a zatem dziedziczy wszystkie właściwości w części wnioskowania) i musi mieszkać w co najmniej jednej (lub więcej) SpanishCity.

znaczenie właściwości

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

Przykład pokazuje wynik zastosowania inverseOfdo właściwości isPartOfi contains.

  • odwrotność
  • symetryczny
  • przechodni
  • nieskładny
  • ...

liczności właściwości

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

Definiuje to, że każdy Thing(w tym scenariuszu najprawdopodobniej a Human) ma dokładnie dwoje rodziców - liczność jest przypisana do hasParentwłaściwości.

  • minimum
  • maksymalny
  • dokładny
Oliver Hader
źródło
2

Struktura opisu zasobów (RDF) to potężny język reprezentacji wiedzy formalnej i podstawowy standard sieci semantycznej. Ma własne słownictwo, które definiuje podstawowe pojęcia i relacje (np. Rdf: type odpowiada relacji isA) oraz model danych, który umożliwia interpretacje maszynowe w postaci obiektu-predykatu-obiektu (wartość-właściwości-zasobu) potrójne, zwane potrójnymi RDF, takie jak książka z obrazkami. Rozszerzenie słownictwa RDF o pojęcia potrzebne do stworzenia kontrolowanych słowników i podstawowych ontologii nazywa się schematem RDF lub RDF Vocabulary Description Language (RDFS). RDFS umożliwia pisanie oświadczeń o klasach i zasobach oraz wyrażanie struktur taksonomicznych, na przykład poprzez relacje nadklasa-podklasa.

Złożone domeny wiedzy wymagają więcej możliwości niż dostępne w RDFS, co doprowadziło do wprowadzenia OWL . OWL obsługuje relacje między klasami (zjednoczenie, przecięcie, rozłączność, równoważność), ograniczenia liczności właściwości (minimalna, maksymalna, dokładna liczba, np. Każda osoba ma dokładnie jednego ojca), bogate typowanie właściwości, cechy właściwości i właściwości specjalne (przechodnie, symetryczny, funkcjonalny, odwrotny funkcjonalny, np. A ex: hasAncestor B i B ex: hasAncestor C implikuje, że A ex: hasAncestor C), określając, że dana właściwość jest unikalnym kluczem dla instancji określonej klasy oraz ograniczeń domeny i zakresu dla właściwości.

Leslie Sikos
źródło