#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?