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?
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?
Jawaban:
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 ".
Pendeknya:
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.
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:range
atau 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 Man
dan Man rdfs:subClassOf
Human
kemudian 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 .
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.
Ketika Anda menggunakan istilah RDF, Anda harus membedakan dua hal:
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.
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:
RDF adalah cara untuk mendefinisikan triple 'subjek', 'predikat', 'nilai' . Misalnya, jika saya ingin mengatakan,
"Namaku Pierre"
saya akan menulis
<mail:me@where.com> <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/
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 :LordOfTheRings
atau: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 -> MyWebApp
juga urutan untuk menggambarkan aplikasi web Anda dengan cara yang lebih spesifik.
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?
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:type
atau 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.
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 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:Class
dan 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:Beagle
adalah 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.
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:Import
adalah 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.
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
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:
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.
Tumpukan web semantik dasar telah banyak dijelaskan di utas ini. Saya ingin fokus pada pertanyaan awal dan membandingkan RDF ke OWL.
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.
Spaniard: Person and (inhabitantOf some SpanishCity)
Ini berarti bahwa a Spaniard
harus menjadi Person
(dan dengan demikian mewarisi semua properti di bagian kesimpulan) dan harus hidup di setidaknya satu (atau lebih) SpanishCity
.
<Palma isPartOf Mallorca>
<Mallorca contains Palma>
Contoh menunjukkan hasil menerapkan inverseOf
ke properti isPartOf
dan contains
.
<: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 hasParent
properti.
Sebuah gambar berbicara seribu kata! Diagram di bawah ini harus memperkuat apa yang dikatakan Christopher Gutteridge dalam jawaban ini bahwa web semantik adalah "arsitektur berlapis".
Sumber: https://www.obitko.com/tutorials/ontologies-semantic-web/semantic-web-architecture.html
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.