Apa perbedaan antara RDF dan OWL? [Tutup]

191

Saya mencoba memahami konsep Semantic Web. Saya merasa sulit untuk memahami apa sebenarnya perbedaan antara RDF dan OWL. Apakah OWL merupakan perpanjangan dari RDF atau keduanya adalah teknologi yang sama sekali berbeda?

pengguna32262
sumber
Saya pribadi menemukan deck slide ini cukup bermanfaat dan dapat dimengerti: slideshare.net/rlovinger/rdf-and-owl
dgorissen

Jawaban:

272

Web semantik datang berlapis-lapis. Ini adalah ringkasan singkat dari yang saya pikir Anda tertarik.

Pembaruan : Harap dicatat bahwa RDFS digunakan untuk menentukan struktur data, bukan OWL. OWL menggambarkan hubungan semantik dimana pemrograman normal, seperti struct C, tidak diributkan dan lebih dekat dengan AI research & set theory.

Triples & URI

Subject - Predicate - Object

Ini menggambarkan satu fakta. Umumnya URI digunakan untuk subjek dan predikat. Objek adalah URI lain atau literal seperti angka atau string. Literal dapat memiliki tipe (yang juga merupakan URI), dan mereka juga dapat memiliki bahasa. Ya, ini berarti tiga kali lipat dapat memiliki hingga 5 bit data!

Sebagai contoh, triple mungkin menggambarkan fakta bahwa Charles adalah ayah Harry.

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

Triples adalah normalisasi basis data yang dibawa ke ekstrem logis. Mereka memiliki keuntungan bahwa Anda dapat memuat tiga kali lipat dari banyak sumber ke dalam satu basis data tanpa konfigurasi ulang.

RDF dan RDFS

Lapisan berikutnya adalah RDF - Kerangka Deskripsi Sumber Daya. RDF mendefinisikan beberapa struktur tambahan menjadi tiga kali lipat. Hal terpenting yang didefinisikan RDF adalah predikat yang disebut "rdf: type". Ini digunakan untuk mengatakan bahwa benda-benda memiliki tipe tertentu. Semua orang menggunakan tipe rdf: yang membuatnya sangat berguna.

RDFS (RDF Schema) mendefinisikan beberapa kelas yang mewakili konsep mata pelajaran, objek, predikat dll. Ini berarti Anda dapat mulai membuat pernyataan tentang kelas benda, dan jenis hubungan. Pada tingkat yang paling sederhana, Anda dapat menyatakan hal-hal seperti http://familyontology.net/1.0#hasFather adalah hubungan antara seseorang dan seseorang. Hal ini juga memungkinkan Anda untuk menjelaskan dalam teks yang dapat dibaca manusia makna suatu hubungan atau kelas. Ini adalah skema. Ini memberi tahu Anda penggunaan berbagai kelas dan hubungan secara hukum. Ini juga digunakan untuk menunjukkan bahwa kelas atau properti adalah sub-tipe dari tipe yang lebih umum. Misalnya "HumanParent" adalah subkelas dari "Person". "Loves" adalah sub-kelas dari "Knows".

Serialisasi RDF

RDF dapat diekspor dalam sejumlah format file. Yang paling umum adalah RDF + XML tetapi ini memiliki beberapa kelemahan.

N3 adalah format non-XML yang lebih mudah dibaca, dan ada beberapa himpunan bagian (Turtle dan N-Triples) yang lebih ketat.

Penting untuk mengetahui bahwa RDF adalah cara bekerja dengan triples, BUKAN format file.

XSD

XSD adalah namespace yang sebagian besar digunakan untuk menggambarkan tipe properti, seperti tanggal, bilangan bulat, dan sebagainya. Secara umum terlihat dalam data RDF yang mengidentifikasi tipe literal tertentu. Ini juga digunakan dalam skema XML, yang merupakan ketel ikan yang sedikit berbeda.

BURUNG HANTU

OWL menambahkan semantik ke dalam skema. Ini memungkinkan Anda untuk menentukan lebih banyak tentang properti dan kelas. Ini juga dinyatakan dalam tiga kali lipat. Misalnya, ini dapat menunjukkan bahwa "Jika A isMarriedTo B" maka ini menyiratkan "B isMarriedTo A". Atau jika " C isAncestorOf D " dan " D isAncestorOf E " maka " C isAncestorOf E" ". Hal lain yang bermanfaat yang ditambahkan burung hantu adalah kemampuan untuk mengatakan dua hal yang sama, ini sangat membantu untuk menggabungkan data yang dinyatakan dalam skema yang berbeda. Anda dapat mengatakan bahwa hubungan" menjadi bapak "dalam satu skema adalah burung hantu: sama seperti" ayah "dalam beberapa skema lain. Anda juga dapat menggunakannya untuk mengatakan dua hal yang sama, seperti "Elvis Presley" di wikipedia adalah sama di BBC. Ini sangat menarik karena ini berarti Anda dapat mulai menggabungkan data dari berbagai situs (ini "Data Tertaut").

Anda juga dapat menggunakan OWL untuk menyimpulkan fakta implisit, seperti " C isAncestorOf E ".

Christopher Gutteridge
sumber
21
Berikut ini adalah gambar lapisan Web Semantik: w3.org/2001/12/semweb-fin/swlevels.png Hanya untuk referensi.
Timo Westkämper
8
Salah satu bagian dari ini yang masih belum jelas bagi saya adalah bahwa tampaknya ada beberapa tumpang tindih antara apa yang dapat diungkapkan RDFS dan OWL. Misalnya, burung hantu: Kelas dapat terlihat sangat mirip dengan rdf: Kelas. (Misalnya, entitas tipe owl: Kelas sering menjadi subjek dari beberapa predikat RDFS seperti rdf: comment dan rdfs: subclassOf.) Saya berjuang untuk memahami bagaimana OWL adalah sebuah layer di atas RDFS, karena ketika datang ke mendefinisikan kelas, sepertinya lebih seperti cara untuk memperkaya apa yang bisa Anda lakukan dengan RDFS.
Ian Griffiths
Bergantung pada profil OWL / OWL-2 yang Anda gunakan, Anda memiliki kemampuan 'tambahan' untuk memperkaya basis pengetahuan Anda dengan aksioma DL (mis. Pembatasan properti, keterputusan, dan banyak lagi).
Zhubarb
4
@IanGriffiths: sebenarnya di bawah OWL2 semantik, burung hantu: Class dan RDFS: Kelas (serta beberapa pasang lebih mengejutkan) adalah eqivalent: answers.semanticweb.com/questions/30954/...
Vladimir Alexiev
... OWL, RDFS, XSD ... adalah bahasa pelengkap ... masing-masing memainkan peran dalam deskripsi domain Anda dan semua bergabung untuk memperkaya itu ...
Sergio
82

Pendeknya:

  • RDF mendefinisikan cara menulis barang
  • OWL menentukan apa yang harus ditulis

Seperti yang ditulis oleh poster sebelumnya, RDF adalah spesifikasi yang memberitahu Anda cara mendefinisikan triples.

Masalahnya adalah bahwa RDF memungkinkan Anda untuk menentukan segalanya, sehingga Anda dapat membuat deklarasi seperti ini:

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

Tiga kali lipat ini membentuk dokumen RDF yang valid.

Tetapi, secara semantik, Anda memahami bahwa pernyataan ini salah dan RDF tidak dapat membantu Anda untuk memvalidasi apa yang telah Anda tulis.

Ini bukan ontologi yang valid.

Spesifikasi OWL mendefinisikan dengan tepat apa yang dapat Anda tulis dengan RDF agar memiliki ontologi yang valid.

Ontologi dapat memiliki beberapa sifat.

Itulah mengapa OWL (ver 1) mendefinisikan beberapa versi seperti OWL DL, OWL Lite, OWL Full.

alexkr
sumber
28
Tetapi perhatikan bahwa OWL tidak akan membatasi apa yang dapat Anda masukkan ke toko RDF Anda - informasi skema OWL terutama digunakan untuk inferensi, bukan untuk menegakkan kendala.
DNA
32

RDF, RDFS dan OWL adalah sarana untuk mengekspresikan informasi atau pengetahuan yang semakin kompleks. Semuanya dapat diserialisasi dalam sintaks RDF / XML (atau sintaksisasi serialisasi RDF lainnya seperti Turtle atau N3 misalnya).

Teknologi-teknologi ini saling terkait dan seharusnya dapat dioperasikan, namun mereka memiliki asal-usul yang berbeda. Mungkin itulah sebabnya mengapa hubungan di antara keduanya rumit untuk dipahami. Pilihan pada satu atau yang lain tergantung pada seberapa banyak kompleksitas situasi yang Anda modelkan membutuhkan.

Ringkasan ekspresivitas

RDF : Representasi langsung, fokus pada instance dan pemetaan ke tipenya ( rdf:type). Dimungkinkan untuk menentukan properti khusus untuk menautkan data dan membuat tiga kali lipat. Data RDF dipertanyakan dengan SPARQL. Contoh RDF bersambung dalam Turtle:

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

RDFS: Beberapa situasi tidak mudah dimodelkan oleh RDF saja, kadang-kadang menarik untuk mewakili hubungan yang lebih kompleks seperti subclass ( tipe suatu tipe ) misalnya. RDFS menyediakan sarana khusus untuk mewakili kasus-kasus seperti itu, dengan konstruksi seperti rdfs:subClassOf, rdfs:rangeatau rdfs:domain. Idealnya, seorang pemikir dapat memahami semantik RDFS dan memperluas jumlah tiga kali lipat berdasarkan hubungan: Misalnya jika Anda memiliki tiga kali lipat John a Mandan Man rdfs:subClassOf Humankemudian Anda harus menghasilkan juga triple John a Human. Perhatikan bahwa ini tidak mungkin dilakukan dengan RDF saja. Data RDFS dipertanyakan menggunakan SPARQL. Contoh RDFS bersambung dalam 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: Tingkat ekspresivitas tertinggi. Hubungan antar kelas dapat dimodelkan secara formal berdasarkan deskripsi logika (teori matematika). OWL sangat bergantung pada pemikir, dimungkinkan untuk mengekspresikan konstruksi kompleks seperti properti berantai misalnya atau pembatasan antar kelas. OWL berfungsi untuk membangun ontologi atau skema di atas dataset RDF. Karena OWL dapat diserialisasi sebagai RDF / XML, secara teori dimungkinkan untuk melakukan kueri melalui SPARQL, namun jauh lebih intuitif untuk menanyakan ontologi OWL dengan kueri DL (yang biasanya merupakan ekspresi kelas OWL standar). Contoh konstruksi OWL bersambung dalam 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
sumber
2
Subclass bukan "tipe tipe": itu adalah metaclass. "X a Y. Y a Z." berbeda dari "X a Y. Y subClassOf Z"
Vladimir Alexiev
14

Pertama, seperti yang telah ditunjukkan sebelumnya, burung hantu dapat diserialkan dalam RDF.

Kedua, OWL menambahkan kemampuan ontologis ke RDF (yang dengan sendirinya hanya menyediakan kemampuan yang sangat terbatas untuk representasi pengetahuan yang diketahui secara formal), dengan menyediakan peralatan untuk mendefinisikan komponen triple Anda menggunakan logika deskripsi urutan formal yang dapat dihitung secara formal. Itulah yang dimaksud poster di sini ketika mereka berbicara tentang "kekayaan semantik".

Ketiga, penting untuk menyadari bahwa dalam rdf OWL-Full (untuk OWL 1): class dan owl: class sama dan di OWL-DL, owl: class adalah subclass dari rdfs: class. Akibatnya, ini berarti Anda dapat menggunakan ontologi OWL sebagai skema untuk RDF (yang secara formal tidak memerlukan skema).

Saya harap ini membantu menjelaskan lebih lanjut.

Nico Adams
sumber
Posting yang sangat bagus ... Saya ingin menyimpan tiga kali lipat RDF di Oracle 11g, dapatkah saya menggunakan OWL sebagai skema untuk RDF saya?
Saad
10

Ketika Anda menggunakan istilah RDF, Anda harus membedakan dua hal:

  1. Anda dapat merujuk ke RDF sebagai konsep :

    Cara menggambarkan hal / logika / apa pun menggunakan koleksi tiga kali lipat

    Contoh:

    "Anna punya apel." "Apel sehat."

    Di atas Anda memiliki dua kali lipat yang menggambarkan dua sumber daya "Anna" dan "apel". Konsep RDF (Resource Description Framework) adalah Anda dapat menggambarkan sumber daya (apa saja) dengan set hanya 3 kata (istilah). Pada level ini Anda tidak peduli bagaimana Anda menyimpan informasi, apakah Anda memiliki string 3 kata, atau lukisan di dinding, atau meja dengan 3 kolom dll.

    Pada level konseptual ini, satu-satunya hal yang penting adalah Anda dapat mewakili apa pun yang Anda inginkan menggunakan pernyataan rangkap tiga.

  2. Anda dapat merujuk ke RDF sebagai kosakata

    Kosakata hanyalah kumpulan definisi istilah yang disimpan dalam file atau di suatu tempat. Istilah-istilah yang didefinisikan ini memiliki tujuan untuk digunakan kembali secara umum dalam deskripsi lain sehingga orang dapat mendeskripsikan data (sumber daya) dengan lebih mudah dan dengan cara standar.

    Di web Anda dapat menemukan beberapa kosakata standar seperti:

    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 )

    RDF vocubalary mendefinisikan istilah yang membantu Anda untuk menggambarkan (pada tingkat paling dasar mungkin) individu / instance kelas. Contoh: rdf: type, rdf: Properti.

    Dengan rdf: ketik Anda dapat menggambarkan bahwa beberapa sumber daya adalah turunan dari kelas:

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

    Jadi kosakata RDF memiliki istilah yang menargetkan deskripsi dasar dari instance kelas dan beberapa deskripsi lainnya (seperti definisi pernyataan rangkap tiga, atau definisi predikat ... dalam hal-hal umum yang dikaitkan dengan konsep RDF).

    Kosa kata RDFS memiliki definisi istilah yang membantu Anda menggambarkan kelas dan hubungan di antara mereka. Kosakata RDFS tidak peduli dengan instance kelas (individu) seperti kosakata RDF. Contoh: properti rdfs: subClassOf yang dapat Anda gunakan untuk menjelaskan bahwa kelas A adalah subkelas dari kelas B.

    Kosakata RDF dan RDFS saling bergantung satu sama lain. RDF mendefinisikan istilah-istilahnya menggunakan RDFS, dan RDFS menggunakan RDF untuk mendefinisikan istilah-istilahnya sendiri.

    Kosakata RDF / RDFS menyediakan istilah yang dapat digunakan untuk membuat deskripsi sumber daya yang sangat mendasar. Jika Anda ingin memiliki deskripsi yang lebih kompleks dan akurat, Anda harus menggunakan kosakata OWL.

Kosa kata OWL hadir dengan serangkaian istilah baru yang menargetkan deskripsi yang lebih rinci. Istilah ini didefinisikan menggunakan istilah dari kosakata 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 .

Seperti yang Anda lihat di atas, kosakata OWL memperluas konsep rdf: Properti dengan membuat tipe baru Properti yang kurang abstrak dan dapat memberikan deskripsi sumber daya yang lebih akurat.

Kesimpulan:

  1. RDF adalah konsep atau cara menggambarkan sumber daya menggunakan set triples.
  2. Tiga kali lipat RDF dapat disimpan dalam format yang berbeda (XML / RDF, Turtle dll.)
  3. Konsep RDF adalah model dasar dari semua teknologi dan struktur web semantik (seperti kosa kata).
  4. RDF juga merupakan kosakata yang bersama dengan kosakata RDFS menyediakan serangkaian istilah yang dapat digunakan untuk membuat deskripsi sumber daya umum / abstrak.
  5. OWL adalah kosakata yang dibangun dengan kosakata RDF dan RDFS yang menyediakan istilah baru untuk membuat deskripsi sumber daya yang lebih terperinci.
  6. Semua kosakata web semantik (RDF, RDFS, OWL dll) dibangun dengan menghormati konsep RDF.
  7. Dan tentu saja kosa kata OWL memiliki semua jenis logika dan konsep rumit yang menentukan Bahasa Web Ontologi di belakang layar. Kosa kata OWL hanyalah cara menggunakan semua logika itu dalam praktik.
whitefang1993
sumber
9

RDF adalah cara untuk mendefinisikan triple 'subjek', 'predikat', 'nilai' . Misalnya, jika saya ingin mengatakan,

"Namaku Pierre"

saya akan menulis

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

Lihat <foaf:name>? itu adalah bagian dari ontologi FOAF . Ontologi adalah cara formal untuk menggambarkan properti, kelas-kelas dari subjek yang diberikan dan OWL adalah cara (RDF) untuk mendefinisikan ontologi.

Anda menggunakan C ++, Java, dll ... untuk mendefinisikan Kelas, subkelas, bidang, dll ...

class Person
{
    String email_as_id;
    String name;
}

RDF menggunakan OWL untuk mendefinisikan jenis pernyataan ini.

Tempat lain untuk mengajukan pertanyaan semacam ini: http://www.semanticoverflow.com/

Pierre
sumber
14
Tidak setuju dengan: "RDF menggunakan OWL untuk mendefinisikan pernyataan semacam ini". RDF tidak menggunakan OWL dengan cara apa pun. Ini sebaliknya: OWL menggunakan RDF Schema yang menggunakan RDF.
alexkr
@Stefano Di mana mereka menemukan orang untuk lari, itulah pertanyaan sebenarnya.
Pascal Thivent
7

Saya mencoba memahami konsep Semantic Web. Saya merasa sulit untuk memahami apa sebenarnya perbedaan antara RDF dan OWL. Apakah OWL merupakan perpanjangan dari RDF atau keduanya adalah teknologi yang sama sekali berbeda?

Singkatnya, ya Anda bisa mengatakan bahwa OWL adalah perpanjangan dari RDF.

Secara lebih rinci, dengan RDF Anda dapat mendeskripsikan grafik berarah dengan mendefinisikan tiga kali lipat subjek-predikat objek. Subjek dan objek adalah node, predikat adalah edge, atau dengan kata lain, predikat menggambarkan hubungan antara subjek dan objek. Misalnya :Tolkien :wrote :LordOfTheRingsatau:LordOfTheRings :author :Tolkien, dll ... Sistem data tertaut menggunakan tiga kali lipat ini untuk menggambarkan grafik pengetahuan, dan mereka menyediakan cara untuk menyimpannya, meminta mereka. Sekarang ini adalah sistem yang sangat besar, tetapi Anda dapat menggunakan RDF dengan proyek yang lebih kecil. Setiap aplikasi memiliki bahasa khusus domain (atau dengan istilah DDD di mana-mana). Anda dapat menggambarkan bahasa itu dalam ontologi / kosakata Anda, sehingga Anda dapat menggambarkan model domain aplikasi Anda dengan grafik, yang dapat Anda visualisasikan tunjukkan ke ppl bisnis, bicarakan keputusan bisnis berdasarkan model, dan bangun aplikasi di atas dari itu. Anda dapat mengikat kosakata aplikasi Anda ke data yang dikembalikan dan ke kosakata yang dikenal oleh mesin pencari, seperti mikrodata(misalnya Anda dapat menggunakan HTML dengan RDFA untuk melakukan ini), dan mesin pencari dapat menemukan aplikasi Anda dengan mudah, karena pengetahuan tentang apa yang dilakukannya akan dapat diproses dengan mesin. Ini adalah cara kerja web semantik. (Setidaknya ini yang saya bayangkan.)

Sekarang untuk mendeskripsikan aplikasi berorientasi objek, Anda memerlukan tipe, kelas, properti, instance, dll ... Dengan RDF Anda hanya dapat mendeskripsikan objek. RDFS (skema RDF) membantu Anda untuk mendeskripsikan kelas, pewarisan (berdasarkan objek ofc.), Tetapi terlalu luas. Untuk mendefinisikan batasan (misalnya satu anak per keluarga Cina), Anda perlu kosakata lain. OWL (bahasa ontologi web) melakukan pekerjaan ini. OWL adalah ontologi yang dapat Anda gunakan untuk menggambarkan aplikasi web. Ini mengintegrasikan XT simpleTypes.
Begitu RDF -> RDFS -> OWL -> MyWebAppjuga urutan untuk menggambarkan aplikasi web Anda dengan cara yang lebih spesifik.

inf3rno
sumber
Terima kasih - ini sepertinya sangat membantu. Saya pikir Anda mengatakan (tolong beri tahu saya jika saya telah memahami ini dengan benar) bahwa (1). RDF memungkinkan menentukan hubungan langsung antara objek ( personA friendsWith personB), yang (2) RDFS memperluas ini dengan menyediakan kemampuan untuk menentukan hubungan antara object classes- yaitu class Person <has 'friendsWith' relationship> Person. Yang memungkinkan Anda untuk kemudian frase RDF melalui kelas: A:typeof:person friendsWith B:<typeof:person>. Dan (3), OWL kemudian memungkinkan Anda menentukan batasan hubungan?
Zach Smith
yaitu seseorang dapat memiliki koneksi maksimal 4 "temanDengan"?
Zach Smith
@ Zakir Ya.
inf3rno
Jawaban yang bagus - terima kasih. Memudahkan membaca segala hal lain di halaman ini.
Zach Smith
@ZachSmith yw.
inf3rno
7

RDFS memungkinkan Anda untuk mengekspresikan hubungan antara berbagai hal dengan membakukan pada format yang fleksibel, berbasis tiga dan kemudian menyediakan kosakata ("kata kunci" seperti rdf:typeatau rdfs:subClassOf) yang dapat digunakan untuk mengatakan sesuatu.

OWL serupa, tetapi lebih besar, lebih baik, dan lebih buruk. OWL memungkinkan Anda mengatakan lebih banyak tentang model data Anda, ini menunjukkan kepada Anda cara bekerja secara efisien dengan permintaan basis data dan alasan otomatis, dan memberikan anotasi yang berguna untuk membawa model data Anda ke dunia nyata.

Perbedaan 1: Kosakata

Dari perbedaan antara RDFS dan OWL, yang paling penting adalah OWL menyediakan kosa kata yang jauh, jauh lebih besar yang dapat Anda gunakan untuk mengatakan sesuatu .

Misalnya, OWL mencakup semua teman-teman lama Anda dari RDFS seperti rdfs:type, rdfs:domain, dan rdfs:subPropertyOf. Namun, OWL juga memberi Anda teman baru dan lebih baik! Misalnya, OWL memungkinkan Anda menggambarkan data Anda dalam hal operasi yang ditetapkan:

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

Ini memungkinkan Anda menentukan kesetaraan di seluruh basis data:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Ini memungkinkan Anda membatasi nilai properti:

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

sebenarnya, OWL menyediakan begitu banyak kosa kata baru dan canggih untuk digunakan dalam pemodelan dan penalaran data yang mendapatkan pelajarannya sendiri!

Perbedaan 2: Kekakuan

Perbedaan utama lainnya adalah bahwa tidak seperti RDFS, OWL tidak hanya memberi tahu Anda bagaimana Anda dapat menggunakan kosakata tertentu, itu sebenarnya memberitahu Anda bagaimana Anda tidak dapat menggunakannya. Sebaliknya, RDFS memberi Anda apa saja yang menjadi dunia di mana Anda dapat menambahkan hampir semua triple yang Anda inginkan.

Misalnya, dalam RDFS, apa pun yang Anda rasa dapat menjadi turunan dari rdfs:Class. Anda mungkin memutuskan untuk mengatakan bahwa Beagle adalah an rdfs:Classdan kemudian mengatakan bahwa Fido adalah turunan dari Beagle :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Selanjutnya, Anda mungkin memutuskan bahwa Anda ingin mengatakan hal-hal tentang beagles, mungkin Anda ingin mengatakan bahwa Beagle adalah turunan dari anjing yang dibesarkan di Inggris :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

Hal yang menarik dalam contoh ini Example:Beagleadalah yang digunakan sebagai kelas dan instance . Beagle adalah kelas tempat Fido menjadi anggota, tetapi Beagle sendiri adalah anggota kelas lain: Things Bred in England.

Di RDFS, semua ini sah menurut hukum karena RDFS tidak benar-benar membatasi pernyataan mana yang bisa dan tidak bisa Anda masukkan. Sebaliknya, dalam OWL, atau paling tidak dalam beberapa rasa OWL, pernyataan di atas sebenarnya tidak sah: Anda tidak boleh mengatakan bahwa sesuatu dapat berupa kelas dan instance.

Ini kemudian merupakan perbedaan besar kedua antara RDFS dan OWL. RDFS memungkinkan dunia bebas-untuk-semua , apa pun yang berjalan seperti dunia penuh dengan Wild West, Speak-Easies, dan Salvador Dali. Dunia OWL memaksakan struktur yang jauh lebih kaku.

Perbedaan 3: Anotasi, meta-meta-data

Misalkan Anda telah menghabiskan satu jam terakhir membangun ontologi yang menggambarkan bisnis manufaktur radio Anda. Selama makan siang, tugas Anda adalah membangun ontologi untuk bisnis pembuatan jam Anda. Sore ini, setelah minum kopi yang enak, bos Anda sekarang memberi tahu Anda bahwa Anda harus membangun ontologi untuk bisnis radio jam Anda yang sangat menguntungkan. Apakah ada cara untuk dengan mudah menggunakan kembali pekerjaan pagi hari?

OWL membuat melakukan hal-hal seperti ini sangat, sangat mudah. Owl:Importadalah apa yang akan Anda gunakan dalam situasi jam-radio, tapi OWL juga memberikan beragam penjelasan seperti owl:versionInfo, owl:backwardsCompatibleWith, dan owl:deprecatedProperty, yang dapat dengan mudah digunakan model data link bersama-sama menjadi satu kesatuan yang saling koheren.

Tidak seperti RDFS, OWL pasti akan memenuhi semua kebutuhan pemodelan meta-meta-data Anda.

Kesimpulan

OWL memberi Anda kosakata yang jauh lebih besar untuk dimainkan, yang membuatnya mudah untuk mengatakan apa pun yang ingin Anda katakan tentang model data Anda. Bahkan memungkinkan Anda untuk menyesuaikan apa yang Anda katakan berdasarkan realitas komputasi komputer saat ini dan untuk mengoptimalkan aplikasi tertentu (misalnya, untuk permintaan pencarian). Selanjutnya, OWL memungkinkan Anda untuk dengan mudah mengekspresikan hubungan antara ontologi yang berbeda menggunakan kerangka anotasi standar menggunakan kerangka kerja anotasi standar. .

Semua ini adalah keunggulan dibandingkan dengan RDFS, dan biasanya sepadan dengan usaha ekstra yang diperlukan untuk membiasakan diri dengan mereka.

Sumber: RDFS vs. OWL

Bilal
sumber
4

Dalam model objek dokumen WC3, dokumen adalah hal yang abstrak: elemen dengan teks, komentar, atribut, dan elemen lain yang bersarang di dalamnya.

Di web semantik, kita berurusan dengan satu set "tiga kali lipat". Setiap triple adalah:

  • subjek, hal triple adalah tentang , id, database utama kunci - URI; dan
  • predikat, "kata kerja", "properti", "kolom basis data" - URI lain; dan
  • yang objek , nilai atom atau URI.

OWL adalah ke web semantik seperti Schemas ke model objek dokumen W3C. Ini mendokumentasikan apa arti berbagai URI dan menentukan bagaimana mereka digunakan secara formal yang dapat diperiksa oleh mesin. Web semantik mungkin atau mungkin tidak valid sehubungan dengan OWL yang berlaku padanya, sama seperti dokumen mungkin atau mungkin tidak valid sehubungan dengan skema.

RDF adalah ke web semantik seperti XML ke DOM - ini adalah serialisasi dari set tiga kali lipat.

Tentu saja, RDF biasanya diserialisasi sebagai dokumen XML ... tetapi penting untuk memahami bahwa RDF tidak sama dengan "serialisasi XML dari RDF".

Demikian juga, OWL dapat diserialkan menggunakan OWL / XML, atau (maaf tentang ini) itu dapat dinyatakan sebagai RDF, yang itu sendiri biasanya diserialisasi sebagai XML.

paulmurray
sumber
3

Tumpukan web semantik dasar telah banyak dijelaskan di utas ini. Saya ingin fokus pada pertanyaan awal dan membandingkan RDF ke OWL.

  • OWL adalah super-set dari RDF & RDF-S (di atas)
  • OWL memungkinkan untuk bekerja secara efektif dengan RDF & RDF-S
  • OWL memiliki beberapa perbendaharaan kata
    • kelas & individu ("instance")
    • properti & tipe data ("predikat")
  • OWL diperlukan untuk penalaran dan inferensi yang tepat
  • OWL hadir dalam tiga dialek lite, logika deskripsi & penuh

Menggunakan OWL sangat penting untuk mendapatkan lebih banyak makna (penalaran & kesimpulan) dengan hanya mengetahui beberapa fakta. Informasi "yang dibuat secara dinamis" ini selanjutnya dapat digunakan untuk permintaan yang sesuai seperti di SPARQL.

Beberapa contoh akan menunjukkan bahwa itu benar-benar berfungsi dengan OWL - ini telah diambil dari ceramah saya tentang dasar-dasar web semantik di TYPO3camp Mallorca, Spanyol pada tahun 2015.

ekuivalen dengan aturan

Spaniard: Person and (inhabitantOf some SpanishCity)

Ini berarti bahwa a Spaniardharus menjadi Person(dan dengan demikian mewarisi semua properti di bagian kesimpulan) dan harus hidup di setidaknya satu (atau lebih) SpanishCity.

arti dari properti

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

Contoh menunjukkan hasil menerapkan inverseOfke properti isPartOfdan contains.

  • terbalik
  • simetris
  • transitif
  • menguraikan
  • ...

kardinalitas properti

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

Ini mendefinisikan bahwa masing-masing Thing(dalam skenario ini kemungkinan besar a Human) memiliki tepat dua orang tua - kardinalitas ditugaskan ke hasParentproperti.

  • minimum
  • maksimum
  • tepat
Oliver Hader
sumber
2

The Resource Description Framework (RDF) adalah formal bahasa representasi pengetahuan yang kuat dan standar fundamental dari Semantic Web. Ini memiliki kosakata sendiri yang mendefinisikan konsep inti dan hubungan (misalnya, rdf: tipe sesuai dengan hubungan isA), dan model data yang memungkinkan pernyataan yang dapat diinterpretasikan dengan mesin dalam bentuk subjek-predikat-objek (resource-property-value) tiga kali lipat, disebut RDF tiga kali lipat, seperti buku bergambar-gambar. Perpanjangan kosakata RDF dengan konsep yang diperlukan untuk membuat kosakata terkontrol dan ontologi dasar disebut RDF Schema atau RDF Vocabulary Description Language (RDFS). RDFS memungkinkan untuk menulis pernyataan tentang kelas dan sumber daya, dan mengekspresikan struktur taksonomi, seperti melalui hubungan superclass-subclass.

Domain pengetahuan yang kompleks membutuhkan lebih banyak kemampuan daripada yang tersedia di RDFS, yang mengarah pada pengenalan OWL . OWL mendukung hubungan antara kelas (persatuan, persimpangan, disjointness, ekuivalensi), batasan kardinalitas properti (minimum, maksimum, jumlah pasti, misalnya, setiap orang memiliki satu ayah), pengetikan properti yang kaya, karakteristik properti, dan properti khusus (transitif, simetris, fungsional, fungsional terbalik, misalnya, A ex: hasAncestor B dan B ex: hasAncestor C mengimplikasikan bahwa A ex: hasAncestor C), menetapkan bahwa properti yang diberikan adalah kunci unik untuk instance kelas tertentu, dan batasan domain dan rentang untuk properti.

Leslie Sikos
sumber