Как owl:equivalentClass может быть определен в терминах owl:SymmetricProperty, rdfs:subPropertyOf и rdfs:subClassOf ?

#owl #rdfs

#owl #rdfs

Вопрос:

Читая книгу Semantic Web for the Working Ontologist , я наткнулся на пример, который я не могу понять.

owl:equivalenceClass может быть определен в терминах этих двух троек:

 owl:equivalentClass rdf:type owl:symmetricProperty.
owl:equivalentClass rdfs:subPropertyOf rdfs:subClassOf.
 

Я мог бы использовать помощь в понимании этого.

Ответ №1:

Первая тройка говорит, что если свойство P равно a owl:symmetricProperty , мы можем вывести тройку P owl:inverseOf P .

Вторая тройка говорит, что если свойство P является subPropertyOf, Q то из A P B мы можем сделать вывод A Q B .

Если класс C является подклассом D , то из x rdf:type C мы можем сделать вывод x rdf:type D . Теперь давайте объединим все это с owl:equivalentClass :

Потому owl:equivalentClass rdfs:subPropertyOf rdfs:subClassOf что тогда, когда у нас есть A owl:equivalentClass B , мы можем сделать вывод A subClassOf B , и потому owl:equivalentClass что является SymmetricProperty, мы также можем сделать вывод B subClassOf A .

Комментарии:

1. Это правильно, но также кажется ненужным усложнением — эквивалентные классы в OWL определяются как (два или более) классов, которые являются подклассами друг друга, поэтому вы можете представить одну и ту же семантическую модель с одним эквивалентным классом triple и этим определением эквивалентного свойства класса, чтобы позволить разработчику RDF делать выводы, или просто сериализуйте как две тройки подкласса и получите тот же результат — вероятно, быстрее, потому что логики знают, как эффективно обрабатывать аксиомы подкласса. Это также будет отображаться как нарушение профиля owl, если вы хотите использовать онтологию в owl reasoner.

2. А в рассуждении owl тройки ничего не добавляют — так что это помогает только для рассуждений rdf. Но зачем использовать свойство owl, если рассуждения будут только в rdf?