RDF ve OWL arasındaki fark nedir? [kapalı]


191

Anlamsal Web kavramını anlamaya çalışıyorum. RDF ve OWL arasındaki farkın tam olarak ne olduğunu anlamakta zorlanıyorum. OWL bir RDF uzantısı mıdır, yoksa bu ikisi tamamen farklı teknolojiler midir?


Şahsen bu slayt destesini oldukça kullanışlı ve anlaşılır buldum
dgorissen

Yanıtlar:


272

Anlamsal ağ katmanlar halinde gelir. Bu, ilgilendiğinizi düşündüğümlerin kısa bir özetidir.

Güncelleme : RDFS verilerin yapısını tanımlamak için kullanıldığını lütfen not değil OWL. OWL, bir C yapısı gibi normal programlamanın üzerinde durulmadığı ve yapay zeka araştırma ve set teorisine daha yakın olduğu anlamsal ilişkileri açıklar.

Üçlü ve URI'lar

Subject - Predicate - Object

Bunlar tek bir gerçeği tanımlar. Genellikle konu ve yüklem için URI'ler kullanılır. Nesne başka bir URI veya sayı veya dize gibi değişmez bir değerdir. Değişmezler bir türe sahip olabilir (aynı zamanda bir URI'dır) ve ayrıca bir dile de sahip olabilirler. Evet, bu üçlülerin en fazla 5 bit veriye sahip olabileceği anlamına gelir!

Örneğin üçlü, Charles'ın Harrys babası olduğu gerçeğini tanımlayabilir.

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

Üçlü, mantıksal bir uç noktaya götürülen veritabanı normalizasyonudur. Yeniden yapılandırmaya gerek kalmadan birçok kaynaktan üç katını tek bir veritabanına yükleyebilme avantajına sahiptirler.

RDF ve RDFS

Sonraki katman RDF - Kaynak Açıklama Çerçevesi'dir. RDF üçe ekstra bir yapı tanımlar. RDF'nin tanımladığı en önemli şey "rdf: type" adı verilen bir yüklemdir. Bu, bazı şeylerin belirli türlerde olduğunu söylemek için kullanılır. Herkes rdf: türünü kullanır, bu da onu çok kullanışlı kılar.

RDFS (RDF Şeması), konu, nesne, tahmin vb. Kavramlarını temsil eden bazı sınıfları tanımlar. Bu, şey sınıfları ve ilişki türleri hakkında açıklamalar yapmaya başlayabileceğiniz anlamına gelir. En basit düzeyde, http://familyontology.net/1.0#hasFather gibi bir kişi ile kişi arasındaki bir ilişkidir. Ayrıca, insan tarafından okunabilir metinde bir ilişkinin veya sınıfın anlamını açıklamanıza olanak tanır. Bu bir şema. Çeşitli sınıfların ve ilişkilerin yasal kullanımlarını anlatır. Ayrıca, bir sınıfın veya özelliğin daha genel bir türün alt türü olduğunu belirtmek için de kullanılır. Örneğin, "HumanParent", "Kişi" nin bir alt sınıfıdır. "Seviyor", "Bilir" in bir alt sınıfıdır.

RDF Serileştirmeleri

RDF birkaç dosya biçiminde dışa aktarılabilir. En yaygın olanı RDF + XML'dir, ancak bunun bazı zayıflıkları vardır.

N3, okunması daha kolay olan XML olmayan bir biçimdir ve daha katı olan bazı alt kümeler (Turtle ve N-Triples) vardır.

RDF'nin dosya formatları DEĞİL, üçlü ile çalışmanın bir yolu olduğunu bilmek önemlidir.

XSD

XSD çoğunlukla tarihler, tamsayılar ve benzeri özellik türlerini tanımlamak için kullanılan bir ad alanıdır. Genellikle RDF verilerinde belirli bir hazır bilgi türünü tanımlayan verilerde görülür. Ayrıca biraz farklı bir balık su ısıtıcısı olan XML şemalarında da kullanılır.

BAYKUŞ

OWL şemaya anlambilim ekler. Özellikler ve sınıflar hakkında çok daha fazla şey belirtmenizi sağlar. Ayrıca üçlü olarak ifade edilir. Örneğin, "A isMarriedTo B" ise, bu "B isMarriedTo A" anlamına gelir. Ya da " C, D'nin Atasıdır " ve " D E'nin Atasıdır " ise, " C, E'nin Atasıdır ". Baykuşun eklediği bir başka yararlı şey, iki şeyin aynı olduğunu söyleme yeteneğidir, bu farklı şemalarda ifade edilen verileri birleştirmek için çok yararlıdır. Bir şemada" sired "ilişkisinin baykuş olduğunu söyleyebilirsiniz: sameAs in" fathered " Ayrıca, wikipedia'daki "Elvis Presley" BBC'de aynı olan iki şeyin aynı olduğunu söylemek için kullanabilirsiniz.Çok siteden veri toplamaya başlayabileceğiniz anlamına gelen çok heyecan verici (bu "Bağlantılı Veriler" dir).

OWL'yi , " C isAncestorOf E " gibi örtük gerçekleri çıkarmak için de kullanabilirsiniz .


21
Anlamsal Web katmanlarının bir görüntüsü: w3.org/2001/12/semweb-fin/swlevels.png Sadece referans içindir.
Timo Westkämper

8
Benim için hala belirsiz olan bir kısmı, RDFS ve OWL'nin ifade edebilecekleri arasında bir miktar örtüşme olduğu. Örneğin, bir baykuş: Sınıf rdfs: Sınıf'a çok benzeyebilir. (Örneğin, baykuş türü bir varlık: Sınıf genellikle rdfs: comment ve rdfs: subclassOf gibi çeşitli RDFS tahminlerinin konusudur.) OWL'nin RDFS'nin üstünde bir katman olduğunu anlamak için uğraşıyorum çünkü sınıfları tanımlarken, RDFS ile yapabileceklerinizi zenginleştirmenin bir yolu gibi görünmektedir.
Ian Griffiths

Kullandığınız OWL / OWL-2 profiline bağlı olarak, bilgi tabanınızı DL aksiyomlarıyla (örneğin özellik kısıtlamaları, ayrıklık ve daha fazlası) zenginleştirmek için 'ek' yeteneğiniz vardır.
Zhubarb

4
@IanGriffiths: Sınıf ve RDFS: aslında owl2 altında anlam, baykuş Klas (aynı zamanda çok daha fazla şaşırtıcı çifti) eqivalent: answers.semanticweb.com/questions/30954/...
Vladimir Alexiev

... OWL, RDFS, XSD ... birbirini tamamlayan dillerdir ... her biri alan adınızın açıklamasında rol oynar ve hepsi onu zenginleştirmek için katılır ...
Sergio

82

Kısacası:

  • RDF bir şeyin nasıl yazılacağını tanımlar
  • OWL ne yazacağını tanımlar

Önceki afişin yazdığı gibi, RDF size üçlüleri nasıl tanımlayacağınızı anlatan bir özelliktir.

Sorun, RDF'nin her şeyi tanımlamanıza izin vermesidir, böylece şöyle bir bildirim oluşturabilirsiniz:

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

Bu üçler geçerli RDF belgeleri oluşturur.

Ancak, anlamsal olarak, bu ifadelerin yanlış olduğunu ve RDF'nin yazdıklarınızı doğrulamanıza yardımcı olamayacağını anlıyorsunuz.

Bu geçerli bir ontoloji değil.

OWL spesifikasyonu, geçerli ontolojiye sahip olmak için RDF ile ne yazabileceğinizi tam olarak tanımlar .

Ontolojilerin birkaç özelliği olabilir.

Bu yüzden OWL (sürüm 1) OWL DL, OWL Lite, OWL Full gibi çeşitli sürümleri tanımlar.


28
Ancak OWL'nin RDF mağazanıza koyabileceğinizi kısıtlamayacağını unutmayın - OWL şeması bilgileri, kısıtlamaları zorlamak için değil, öncelikle çıkarım için kullanılır.
DNA

32

RDF, RDFS ve OWL, giderek karmaşıklaşan bilgi veya bilgiyi ifade etme araçlarıdır. Hepsi RDF / XML sözdiziminde (veya Turtle veya N3 gibi herhangi bir RDF serileştirme sözdiziminde) serileştirilebilir.

Bu teknolojiler birbiriyle ilişkilidir ve birlikte çalışabilir olması gerekir, ancak farklı kökenleri vardır, belki de aralarındaki ilişkinin kavranması karmaşıktır. Birinden veya diğerinden seçim yapmak, modellemekte olduğunuz durumun ne kadar karmaşıklık gerektirdiğine bağlıdır.

Etkileyiciliğin özeti

RDF : Örneklere ve türlerine eşlemeye odaklanan doğrudan temsil ( rdf:type). Verileri bağlamak ve üçlü oluşturmak için özel özellikler tanımlamak mümkündür. RDF verileri SPARQL ile sorgulanır. Turtle serileştirilmiş RDF örneği:

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

RDFS: Bazı durumlar yalnızca RDF tarafından kolayca modellenmez, örneğin alt sınıflar ( bir tür türü ) gibi daha karmaşık ilişkileri temsil etmek bazen ilginçtir . RDFS rdfs:subClassOf, rdfs:rangeveya gibi yapılarla bu tür durumları temsil etmek için özel araçlar sağlar rdfs:domain. İdeal olarak, bir akıl yürütücü RDFS anlambilimini anlayabilir ve ilişkilere dayanarak üçlü sayısını artırabilir: Örneğin, üçlüye sahipseniz John a Manve Man rdfs:subClassOf Humandaha sonra üçlüyü de oluşturmanız gerekir John a Human. Bunun RDF ile tek başına mümkün olmadığını unutmayın. RDFS verileri SPARQL kullanılarak sorgulanır. Kaplumbağa'da serileştirilmiş RDFS örneği:

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

BAYKUŞ: En yüksek düzeyde ifade. Sınıflar arasındaki ilişki, tanımlama mantıklarına (matematiksel teori) dayalı olarak resmi olarak modellenebilir. OWL büyük ölçüde muhakemeye dayanır, örneğin zincirleme özellikler veya sınıflar arasındaki kısıtlama gibi karmaşık yapıları ifade etmek mümkündür. OWL, RDF veri kümelerinin üstünde ontolojiler veya şema oluşturmaya hizmet eder. OWL, RDF / XML olarak serileştirilebildiğinden, teorik olarak SPARQL aracılığıyla sorgulamak mümkündür, ancak bir OWL ontolojisini bir DL sorgusu ile sorgulamak çok daha sezgiseldir (genellikle standart bir OWL sınıfı ifadesidir). Kaplumbağa'da serileştirilmiş OWL yapılarına örnek.

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

2
Alt sınıf "bir tür türü" değildir: bu bir metasınıftır. "X a Y. Y a Z." "X a Y. Y subClassOf Z" den farklıdır
Vladimir Alexiev

14

İlk olarak, daha önce belirtildiği gibi bir baykuş RDF'de serileştirilebilir.

İkincisi, OWL, üçlünün bileşenlerini resmi hesaplanabilir birinci dereceden açıklama mantığı kullanarak tanımlamak için aparat sağlayarak RDF'ye (kendi başına resmi bilinen gösterim için son derece sınırlı bir yetenek sağlar) ontolojik kabiliyet ekler. Buradaki posterlerin anlamı "anlamsal zenginlik" hakkında konuşurken.

Üçüncüsü, OWL-Full (OWL 1 için) rdfs: class ve owl: sınıfının eşdeğer olduğunu ve OWL-DL'de owl: class'ın rdfs: sınıfının bir alt sınıfı olduğunu fark etmek önemlidir. Aslında, bir OWL ontolojisini RDF için bir şema olarak kullanabileceğiniz anlamına gelir (resmi olarak şema gerektirmez).

Umarım bu daha fazla açıklığa yardımcı olur.


Çok iyi gönderi ... Oracle 11g'de RDF üçlülerini kaydetmek istiyorum, RDF için bir şema olarak OWL kullanabilir miyim?
Saad

10

RDF terimini kullanırken iki şeyi ayırt etmeniz gerekir:

  1. RDF'ye bir kavram olarak başvurabilirsiniz :

    Üçlü koleksiyonları kullanarak şeyleri / mantığı / her şeyi tanımlamanın bir yolu.

    Misal:

    "Anna'nın elmaları var." "Elmalar sağlıklı."

    Yukarıda iki kaynağı "Anna" ve "elma" açıklayan iki üçlü var. RDF (Kaynak Tanımlama Çerçevesi) kavramı, kaynakları (herhangi bir şeyi) yalnızca 3 kelime (terim) kümesiyle tanımlayabilmenizdir. Bu düzeyde, 3 kelimeden oluşan bir diziniz veya bir duvardaki bir resminiz veya 3 sütunlu bir tablo gibi bilgileri nasıl sakladığınız umurumda değil.

    Bu kavramsal düzeyde önemli olan tek şey, üçlü ifadeler kullanarak istediğiniz her şeyi temsil edebilmenizdir.

  2. RDF'ye kelime dağarcığı olarak başvurabilirsiniz

    Bir kelime dağarcığı, bir dosyada veya başka bir yerde saklanan terim tanımlarının bir koleksiyonudur. Bu tanımlanmış terimler, insanların verileri (kaynakları) daha kolay ve standart bir şekilde tanımlayabilmeleri için genel olarak diğer açıklamalarda tekrar kullanılma amacına sahiptir.

    Web üzerinde aşağıdaki standart kelimeleri bulabilirsiniz:

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

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

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

    RDF kelime dağarcığı, bireyleri / sınıf örneklerini (mümkün olan en temel düzeyde) tanımlamanıza yardımcı olan terimleri tanımlar. Örnek: rdf: tür, rdf: Özellik.

    Rdf: type ile bazı kaynakların bir sınıf örneği olduğunu açıklayabilirsiniz:

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

    Dolayısıyla RDF kelime haznesi, sınıf örneklerinin temel tanımlarını ve diğer bazı açıklamaları (üçlü ifade tanımı veya yüklem tanımı gibi ... genel olarak RDF kavramına bağlı olarak) hedefleyen terimlere sahiptir.

    RDFS sözcük dağarcığı, sınıfları ve aralarındaki ilişkileri tanımlamanıza yardımcı olan terim tanımlarına sahiptir. RDFS sözcük dağarcığı, RDF sözcük dağarcığı gibi sınıfların (bireylerin) örneklerini umursamaz. Örnek: A sınıfının B sınıfının alt sınıfı olduğunu tanımlamak için kullanabileceğiniz rdfs: subClassOf özelliği.

    RDF ve RDFS sözcük dağarcığı birbirine bağımlıdır. RDF terimlerini RDFS kullanarak tanımlar ve RDFS RDF'yi kendi terimlerini tanımlamak için kullanır.

    RDF / RDFS sözcük dağarcığı, kaynakların çok temel tanımlarını oluşturmak için kullanılabilecek terimler sağlar. Daha karmaşık ve doğru açıklamalara sahip olmak istiyorsanız OWL kelime dağarcığını kullanmanız gerekir.

BAYKUŞ kelime dağarcığı, daha ayrıntılı açıklamaları hedefleyen bir dizi yeni terimle birlikte gelir. Bu terim, RDF / RDFS sözcük dağarcığı terimleri kullanılarak tanımlanır.

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 .

Yukarıda da görebileceğiniz gibi, BAYKUŞ kelime dağarcığı rdf kavramını genişletir: Daha az soyut olan ve kaynakların daha doğru tanımlarını sağlayabilen yeni Özellik türleri oluşturarak özellik.

Sonuç:

  1. RDF, üçlü gruplar kullanarak kaynakları tanımlamanın bir konsepti veya bir yoludur.
  2. RDF üçlüleri farklı formatlarda (XML / RDF, Kaplumbağa vb.) Saklanabilir.
  3. RDF kavramı, tüm semantik web teknolojileri ve yapılarının (kelime hazineleri gibi) temel modelidir.
  4. RDF ayrıca, RDFS sözcük dağarcığıyla birlikte, kaynakların genel / soyut tanımlarını oluşturmak için kullanılabilecek bir dizi terim sağlayan bir kelimedir.
  5. OWL, kaynakların daha ayrıntılı tanımlarını oluşturmak için yeni terimler sağlayan RDF ve RDFS sözcük dağarcığıyla oluşturulmuş bir sözlüktür.
  6. Tüm anlamsal web sözcük dağarcığı (RDF, RDFS, OWL vb.) RDF konseptine saygı gösterilerek oluşturulur.
  7. Ve elbette BAYKUŞ kelime dağarcığının arkasında Web Ontoloji Dilini tanımlayan her türlü karmaşık mantık ve kavramlar vardır. BAYKUŞ kelime dağarcığı tüm bu mantığı pratikte kullanmanın bir yoludur.

9

RDF üçlü bir 'özne', 'yüklem', 'değer' tanımlamanın bir yoludur . Örneğin, söylemek istersem,

"benim adım Pierre"

Yazardım

<mail:me@where.com> <foaf:name> "Pierre"

Gördün <foaf:name>mü? FOAF'ın bir parçası ontolojisinin bir . Bir ontoloji, özellikleri, belirli bir deneğin sınıflarını tanımlamanın resmi bir yoludur ve OWL , bir ontolojiyi tanımlamanın (RDF) bir yoludur.

Bir Sınıf, bir alt sınıf, bir alan vb. Tanımlamak için C ++, Java vb.

class Person
{
    String email_as_id;
    String name;
}

RDF, bu tür ifadeleri tanımlamak için OWL kullanır.

Bu tür bir soru sormak için başka bir yer: http://www.semanticoverflow.com/


14
Katılmıyorum: "RDF, bu tür ifadeleri tanımlamak için OWL kullanır". RDF, OWL'yi hiçbir şekilde kullanmaz. Bu başka bir yol: OWL, RDF kullanan RDF Şemasını kullanır.
alexkr

@Stefano Koşacak insanları nerede buluyorlar, asıl soru bu.
Pascal Thivent

7

Anlamsal Web kavramını anlamaya çalışıyorum. RDF ve OWL arasındaki farkın tam olarak ne olduğunu anlamakta zorlanıyorum. OWL bir RDF uzantısı mıdır, yoksa bu ikisi tamamen farklı teknolojiler midir?

Kısacası, evet OWL'nin RDF'nin bir uzantısı olduğunu söyleyebilirsiniz.

Daha ayrıntılı olarak, RDF ile konu-yüklem-nesne üçlülerini tanımlayarak yönlendirilmiş bir grafiği tanımlayabilirsiniz. Özne ve nesne düğümlerdir, yüklem kenardır veya başka bir deyişle yüklem özne ile nesne arasındaki ilişkiyi açıklar. Örneğin:Tolkien :wrote :LordOfTheRings veya:LordOfTheRings :author :Tolkien, vb. Bağlantılı veri sistemleri bu üçlüyü bilgi grafiklerini tanımlamak için kullanır ve bunları saklamak, sorgulamak için yollar sağlar. Şimdi bunlar devasa sistemlerdir, ancak RDF'yi daha küçük projelerle kullanabilirsiniz. Her uygulamanın alana özel bir dili vardır (veya DDD terimleri her yerde kullanılabilir). Bu dili ontolojinizde / kelime dağarcığınızda tanımlayabilirsiniz, böylece uygulamanızın etki alanı modelini bir grafikle tanımlayabilirsiniz. bunun. Uygulamanızın kelime dağarcığını döndürdüğü verilere ve arama motorları tarafından bilinen bir kelime dağarcığına bağlayabilirsiniz. mikro veri(örneğin, bunu yapmak için RDFA ile HTML kullanabilirsiniz) ve böylece arama motorları uygulamalarınızı kolayca bulabilir, çünkü ne yaptığı hakkında bilgi işlenebilir. Anlamsal web böyle çalışır. (En azından ben böyle hayal ediyorum.)

Şimdi nesneye yönelik uygulamaları tanımlamak için türlere, sınıflara, özelliklere, örneklere vb. İhtiyacınız var ... RDF ile sadece nesneleri tanımlayabilirsiniz. RDFS (RDF şeması) sınıfları, kalıtım (ofc nesnelerine dayalı) tanımlamanıza yardımcı olur, ancak çok geniştir. Kısıtlamaları tanımlamak için (örneğin, Çinli aile başına bir çocuk) başka bir kelimeye ihtiyacınız vardır. OWL (web ontoloji dili) bu işi yapar. OWL, web uygulamalarını tanımlamak için kullanabileceğiniz bir ontolojidir. XSD simpleTypes'i entegre eder. Web uygulamanızı daha spesifik bir şekilde tarif etme sırası da
öyle RDF -> RDFS -> OWL -> MyWebApp.


Teşekkür ederim - bu çok yardımcı görünüyor. Sanırım söylüyorsun (lütfen bunu doğru anladıysam bana haber ver) (1). RDF, nesneler ( personA friendsWith personB) arasında doğrudan ilişkilerin belirtilmesine izin verir , bu (2) RDFS, object classes- ie arasındaki ilişkileri belirterek bunu genişletir class Person <has 'friendsWith' relationship> Person. Bu sınıfın aracılığıyla sonra ifade RDF yapmanızı sağlar: A:typeof:person friendsWith B:<typeof:person>. Ve (3), OWL ilişkilerin kısıtlamalarını belirtmenize izin verir mi?
Zach Smith

yani bir kişi maksimum 4 "friendsWith" bağlantısına sahip olabilir?
Zach Smith

@ZachSmith Evet.
inf3rno

Böyle iyi bir cevap - teşekkürler. Bu sayfadaki diğer her şeyi okumayı kolaylaştırır.
Zach Smith

@ZachSmith yw.
inf3rno

7

RDFS Esnek bir üçlü tabanlı formatına standartlaştırılması ve daha sonra bir kelime (örneğin "anahtar kelimeler" sağlayarak şeyler arasındaki ilişkileri ifade etmesini sağlar rdf:typeveya rdfs:subClassOfşeyler söylemek kullanılabilir).

BAYKUŞ benzer, ama daha büyük, daha iyi ve daha kötü. OWL, veri modeliniz hakkında çok daha fazla şey söylemenizi sağlar, veritabanı sorguları ve otomatik nedenlerle verimli bir şekilde nasıl çalışacağınızı gösterir ve veri modellerinizi gerçek dünyaya getirmek için yararlı ek açıklamalar sağlar.

1. Fark: Kelime Bilgisi

RDFS ve OWL arasındaki farklardan en önemlisi, OWL'nin bir şeyleri söylemek için kullanabileceğiniz çok daha büyük bir kelime dağarcığı sağlamasıdır .

Örneğin, OWL gibi RDFS tüm eski arkadaşlarını içerir rdfs:type, rdfs:domainve rdfs:subPropertyOf. Ancak, OWL size yeni ve daha iyi arkadaşlar verir! Örneğin, OWL size verileri ayarlanan işlemler açısından tanımlamanızı sağlar:

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

Veritabanları arasındaki denklikleri tanımlamanızı sağlar:

AcmeCompany:JohnSmith  owl:sameAs    PersonalDatabase:JohnQSmith

Özellik değerlerini kısıtlamanızı sağlar:

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

aslında, OWL kendi modelini alan veri modelleme ve akıl yürütmede kullanmak için çok yeni, sofistike kelime haznesi sağlar!

2. Fark: Sertlik

Bir başka önemli fark RDFS aksine OWL nasıl söyler sadece olmasıdır edebilirsiniz nasıl, aslında söyler belirli kelimeleri kullanmak olamaz kullanabilirsiniz. Aksine, RDFS size istediğiniz üçlüyü ekleyebileceğiniz dünyaya giden bir şey verir.

Örneğin, RDFS'de, istediğiniz herhangi bir şey bunun bir örneği olabilir rdfs:Class. Bunu söylemeye karar verebilir Beagle bir olduğunu rdfs:Classve daha sonra söylemek fino bir örneğidir Beagle :

Example: Beagle    rdf:Type    rdfs:Class

Example:Fido    rdf:Type    Example: Beagle

Sonra, beaglelar hakkında bir şeyler söylemek istediğinize karar verebilirsiniz, belki Beagle'ın İngiltere'de yetiştirilen köpeklerin bir örneği olduğunu söylemek istersiniz :

Example:Beagle    rdf:Type    Example:BreedsBredInEngland

Example: BreedsBredInEngland    rdf:Type    rdfs:Class

Bu örnekteki ilginç şey, Example:Beaglehem sınıf hem de örnek olarak kullanılmasıdır . Beagle , Fido'nun üyesi olduğu bir sınıftır , ancak Beagle kendisi başka bir sınıfın üyesidir: İngiltere'de Getirilen Şeyler.

RDFS'de, tüm bunlar tamamen yasaldır, çünkü RDFS hangi ifadeleri ekleyebileceğiniz ve ekleyemeyeceğinizi gerçekten kısıtlamaz. OWL'de, aksine, veya en azından bazı OWL tatlarında, yukarıdaki ifadeler aslında yasal değildir: bir şeyin hem sınıf hem de örnek olabileceğini söylemenize izin verilmez.

Bu, RDFS ve OWL arasındaki ikinci büyük farktır. RDFS herkes için ücretsizdir , her şey Vahşi Batı, Speak-Easies ve Salvador Dali ile dolu bir dünyaya dönüşür. OWL dünyası çok daha sert bir yapı oluşturur.

3. Fark: Ek açıklamalar, meta-meta-veri

Son bir saati telsiz üretim işinizi tanımlayan bir ontoloji oluşturmak için harcadığınızı varsayalım. Öğle yemeği sırasında, göreviniz saat imalat işiniz için bir ontoloji oluşturmaktır. Bu öğleden sonra, güzel bir kahveden sonra, patronunuz size son derece karlı saatli radyo işiniz için bir ontoloji inşa etmeniz gerektiğini söylüyor. Sabah çalışmasını kolayca yeniden kullanmanın bir yolu var mı?

OWL böyle şeyler yapmayı çok, çok kolaylaştırır. Owl:ImportEğer saat-radyo durumda kullanmak istiyorsunuz, ancak OWL ayrıca gibi ek açıklamaları zengin bir çeşitlilik veren şeydir owl:versionInfo, owl:backwardsCompatibleWithve owl:deprecatedPropertykolayca bir araya karşılıklı tutarlı bir bütün haline kullanılan bağlantı veri modelleri olabilen,.

RDFS'den farklı olarak, OWL tüm meta-meta-veri modelleme ihtiyaçlarınızı karşılayacaktır.

Sonuç

OWL size oynamak için çok daha büyük bir kelime haznesi verir, bu da veri modeliniz hakkında söylemek isteyebileceğiniz herhangi bir şeyi söylemenizi kolaylaştırır. Söylediklerinizi bugünün bilgisayarlarının hesaplama gerçeklerine göre uyarlamanıza ve belirli uygulamalar için (örneğin arama sorguları için) optimize etmenize bile izin verir. Ayrıca, OWL standart bir ek açıklama çerçevesi kullanarak farklı ontolojiler arasındaki ilişkileri kolayca ifade etmenizi sağlar. .

Tüm bunlar, RDFS'ye kıyasla avantajlardır ve genellikle bunları tanımak için ekstra çaba sarf etmeye değer.

Kaynak: RDFS ve OWL


4

WC3 belge nesnesi modelinde, belge soyut bir şeydir: metin, yorum, nitelik ve içinde yuvalanmış diğer öğeler içeren bir öğe .

Anlamsal ağda, bir dizi "üçlü" ile ilgileniriz. Her üçlü:

  • bir konu, üçlü ile ilgili olan şey, id, veritabanı birincil anahtarı - bir URI; ve
  • yüklem, "fiil", "özellik", "veritabanı sütunu" - başka bir URI; ve
  • Nesne , bir atom bir değer ya da bir tanım.

Şemalar W3C belge nesne modelinde olduğu gibi OWL semantik web'de. Çeşitli URI'lerin ne anlama geldiğini belgeler ve bir makine tarafından kontrol edilebilecek resmi bir şekilde nasıl kullanıldıklarını belirtir. Semantik bir ağ, tıpkı bir belgenin bir şema ile ilgili olabileceği veya geçerli olmayabileceği gibi, geçerli olan BAYKU için geçerli olabilir veya olmayabilir.

XML, DOM için olduğu gibi RDF semantik web'e aittir - bir üçlü setin serileştirilmesi.

Tabii ki, RDF genellikle bir XML belgesi olarak serileştirilir ... ancak RDF'nin "XML serileştirmesi" ile aynı şey olmadığını anlamak önemlidir . RDF".

Benzer şekilde, OWL, OWL / XML kullanılarak serileştirilebilir veya (bunun için üzgünüm) kendisi genellikle XML olarak serileştirilen RDF olarak ifade edilebilir.


3

Temel anlamsal web yığını zaten bu iş parçacığında açıklanmıştır. İlk soruya odaklanmak ve RDF'yi OWL ile karşılaştırmak istiyorum.

  • OWL, RDF ve RDF-S'nin süper setidir (üstte)
  • OWL, RDF ve RDF-S ile etkili bir şekilde çalışmayı sağlar
  • OWL bazı genişletilmiş kelime dağarcığına sahiptir
    • sınıflar ve bireyler ("örnekler")
    • özellikler ve veri türleri ("tahmin")
  • OWL, doğru muhakeme ve çıkarsama için gereklidir
  • BAYKUŞ üç lehçe lite, açıklama mantığı ve tam geliyor

BAYKU kullanmak, sadece birkaç gerçeği bilerek daha fazla anlam (akıl yürütme ve çıkarım) elde etmek için gereklidir. Bu "dinamik olarak oluşturulmuş" bilgiler ayrıca SPARQL gibi uyumlu sorgular için de kullanılabilir.

Bazı örnekler bunun aslında OWL ile çalıştığını gösterecek - bunlar 2015'te TYPO3camp Mallorca, İspanya'daki anlamsal web'in temelleri hakkındaki konuşmamdan alınmıştır .

kurallara göre eşdeğerler

Spaniard: Person and (inhabitantOf some SpanishCity)

Bu, a'nın bir Spaniardolması gerektiği Person(ve dolayısıyla çıkarım kısmındaki tüm özellikleri miras aldığı) ve en az bir (veya daha fazla) yaşaması gerektiği anlamına gelir SpanishCity.

özelliklerin anlamı

<Palma isPartOf Mallorca>
<Mallorca contains Palma>

Örnek uygulanması sonucunu göstermektedir inverseOfözelliklerine isPartOfve contains.

  • ters
  • simetrik
  • geçişli
  • parçalamak
  • ...

özelliklerin temelleri

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

Bu, her birinin Thing(bu senaryoda büyük olasılıkla a Human) tam olarak iki ebeveyni olduğunu tanımlar - kardinalite hasParentmülke atanır .

  • asgari
  • maksimum
  • kesin


2

Kaynak Tanımlama Çerçevesi (RDF) güçlü bir resmi bilgi gösterim dili ve Semantik Web'in temel standarttır. Temel kavramları ve ilişkileri (ör. Rdf: tip isA ilişkisine karşılık gelir) tanımlayan kendi kelime dağarcığına ve konu-yüklem-nesne (kaynak-özellik-değer) biçiminde makine tarafından yorumlanabilir ifadelere olanak tanıyan bir veri modeline sahiptir. üçlü, RDF üçlü denir, resim-tasvir-kitap gibi. RDF kelime dağarcığının kontrollü kelime dağarcığı ve temel ontolojiler oluşturmak için gerekli kavramlarla genişletilmesine RDF Şeması veya RDF Kelime Açıklama Dili (RDFS) denir. RDFS, sınıflar ve kaynaklar hakkında açıklamalar yazmayı ve üst sınıf-alt sınıf ilişkileri gibi taksonomik yapıları ifade etmeyi mümkün kılar.

Karmaşık bilgi alanları üretilmesini sağlamıştır RDFS mevcut olandan daha fazla yetenekleri gerektiren OWL . OWL sınıflar (birleşim, kavşak, ayrıklık, eşdeğerlik), özellik kardinalite kısıtlamaları (minimum, maksimum, tam sayı, örneğin, her insanın tam olarak bir babası vardır), zengin tipleme, özelliklerin özellikleri ve özel özelliklerin (geçişli, simetrik, fonksiyonel, ters fonksiyonel, örneğin, A ex: hasAncestor B ve B ex: hasAncestor C, A ex: hasAncestor C) 'yi belirtir, belirli bir özelliğin belirli bir sınıfın örnekleri ve alan ve aralık kısıtlamaları için benzersiz bir anahtar olduğunu belirtir. özellikler için.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.