Резонер owlready2 не генерирует утверждения предполагаемых свойств объекта с правилом SWRL

Предположим, что онтология OWL содержит следующее правило SWRL:

has_part(?x, ?y) ^ participates(?x, ?z) -> participates(?y, ?z)

и следующие утверждения свойства объекта:

o1 has_part o2
o1 participates p1

Когда я запускаю средство рассуждений Hermit в Protege, я получаю следующее утверждение свойства предполагаемого объекта:

o2 participates p1

Однако, когда я загружаю ту же онтологию с помощью owlready2 и запускаю ее модуль рассуждений Hermit, я не получаю никаких утверждений о выводимых свойствах объекта. Например:

from owlready2 import *

onto = get_ontology("test.owl").load()
sync_reasoner()
onto.o2.get_properties()

не возвращает никаких свойств.

Я сохранил онтологию в формате RDFXML и могу получить правило SWRL с помощью owlready2.

Разве owlready2 Reasoner не поддерживает такой вывод?


person mrclutch31    schedule 04.05.2021    source источник


Ответы (1)


Решение: sync_reasoner(infer_property_values ​​= True)

person mrclutch31    schedule 04.05.2021