2012-06-27 16 views
6

Ontology ile ProWege ile OWL'de yazılmış bir tane var. Fakat sınıflar arası ilişkiler oluşturmak için bir çözüm bulamıyorum. Tabii ki, bir "alt sınıf" ilişkisi var, ama kendi ilişkilerimi tanımlamak istiyorum. Bu yüzden bir sınıf hiyerarşisine sahibim ("alt sınıf" -ilişkilerinden oluşuyor) ama iki sınıfı birbirine bağlamak için bir ilişki, yani "has_Relation" oluşturmak istiyorum.Ontology: OWL - Sınıflar arası bağlantılar oluşturma

Amacım, "hangi sınıfın sınıfın ana sınıfı olduğu" bilgisini alabileceğim bir java programı yazmaktır. ve "hangi sınıf bir has_Relation bağlantısıdır?"

(I bireyler söz etmiyorum - Sadece sınıflar bahsediyorum)

önceden size yardım için çok teşekkür ederim!

Saygılarımızla Natan

cevap

7

Bunu yapmanın en kolay yolu bir açıklama özelliğini kullanmaktır. Protégé'de, başka bir sınıfla ilişkilendirmek istediğiniz sınıfı seçin, ardından Ek Açıklamalar sekmesindeki "Ek Açıklamalar" ın yanındaki +'u tıklayın. Ardından pencerenin sol üst köşesindeki ikinci düğme ile has_Relation özelliğini ekleyin. Daha sonra Varlık IRI sekmesini ve Sınıflar alt sekmesini seçin, ilişkilendirmek istediğiniz diğer sınıfı seçin ve işiniz bitti. Ancak, has_Relation bir nesne özelliği veya veri türü özelliği ise, bunu yapmayı tercih etmemelisiniz. Böyle bir durumda, "punning" kullanabilirsiniz, yani, Bireyler sekmesinde, ilişkilendirmek istediğiniz sınıflarla aynı adlara sahip yeni bireyler oluşturabilirsiniz. Sonra onları normal bireylermiş gibi ilişkilendirirsiniz. Bunun, OWL 2 DL'de izinli ve geçerli olduğuna dikkat edin.

+1

Çok teşekkür ederim, tam da ihtiyacım olan şey buydu. Ben zaten bu şekilde daha önce denedim, ama benim sorunum oldu, aynı zamanda "has_relation" aynı adı ile bir nesne özelliği vardı .. Ama şimdi: problem çözüldü! teşekkür ederim! :) – Natan

+0

Bu açıklama özelliklerini içeren sınıflara ait bireylerle eşleşen DL sorgularını ifade etmek mümkün mü? –