2011-05-22 17 views
7

Bunun çok aptalca bir soru gibi geldiğini biliyorum, ama bunu anlamaya çalışıyorum ve bunun üzerinde hiçbir şey bulamıyorum, ancak bunun yapılması gereken bir şey var gibi görünüyor.DL Manchester OWL Syntax bireyleri nasıl sorgulanır?

Manchester OWL Sözdizimi ve bir HermiT gerekçesini kullanarak bir OWL dosyasını API aracılığıyla sorgulayan bir şey geliştiriyorum. Alternatif olarak, bu dosyadaki sorgu sonuçlarımı kontrol etmek için Protege 4'teki DL Sorgusu sekmesinde de sorgular çalıştırıyorum. Dosya temelde eklenen veri örnekleri ile bir Arkadaşın Dostunun (FOAF) ontolojisidir.

Sorun: Bir örneği benzersiz tanımlayıcısına göre sorgulamanın bir yolunu bulamıyorum. URI olması gerektiği gibi, örn. Bu işin

Person and URI value "http://xmlns.com/foaf/0.1/Andrew_Kuchling" 

Person value "http://xmlns.com/foaf/0.1/Andrew_Kuchling" 

Person and URI value "Andrew_Kuchling" 

Person that "Andrew_Kuchling" 

hiçbiri: URI http://xmlns.com/foaf/0.1/Andrew_Kuchling ile bir Person nesnesi için, aşağıdaki sorguları çalıştı. (URI, girdiğiniz herhangi bir dizeye http://xmlns.com/foaf/0.1/ önekiyle oluşturulur ve URI aslında ontolojide özellik olarak tanımlanmaz).

FOAF'ta, bir posta kutusunun sha1sum'u mbox_sha1sum'dur. Posta kutuları bireylere benzersiz bir şekilde bağlıdır. o sorgu yanlıştır hissediyor çünkü

Person and mbox_sha1sum value "mbox_sha1sum-property-value-here" 

Ancak, hatta bu sorguyu yürütmek değildir: Yani şu sorguyu çalıştı. Bu Kişi için eklediğim mbox_sha1sum değeri aynıdır. Bireylerde var.

Bu sorguyu yürütmek yapar:

Person and firstName value "Andrew" 

Tüm veriler özelliklerinin uzman olmayan veri türlerini. Varsayılan olarak hazır bilgi olarak değerlendirilir.

Gerçekten neyi yanlış yaptığımı bilmiyorum. Birisi lütfen yardım edebilir mi?

+0

** Cevabı kabul et! ** – gsamaras

cevap

6

Ben bu soruyu bir yıl önce daha fazla post edilmiş biliyorum ama son zamanlarda aşağıdaki çözümü bana aynı soruyu sordu ve bulundu:

Sadece içine sorgulamak istediğiniz birey/üyesinin ismini koymak kıvırcık parantez:

{MyIndividualEntityName} 

hatta bir seferde birden fazla birey için sorgulayabilir Bu şekilde:

{IndividualName1,IndividualName2} 

bu sorgular sınıf Expre oluşturacak unutmayınız enumarated classes olarak adlandırılan ssionlar. Bu, bu sorgunun sonucunun, yalnızca sorgunuzda adlandırdığınız tüm bireylerin tüm süper veya alt sınıflarının bir listesi olmayacağı anlamına gelir. Bunun yerine, listelediğiniz kişilerden oluşan anonim bir sınıfa başvurur. Anonim bir sınıf, ontolojinizin dışından temin edilemeyen bir sınıftır, çünkü bu sınıf için başvurulan bir baykuş varlığı yoktur (başvurulan IRI yok).

OWL Manchester sözdizimi hakkında daha fazla bilgiyi W3C specification numaralı telefondan edinebilirsiniz.

+0

Tanrı sizi korusun! Bu işe yarıyor. – gsamaras