Как создать SubOjectProperty из ObjectProperty для случая Ассоциации? - PullRequest
0 голосов
/ 19 апреля 2019

Я разрабатываю алгоритм с использованием OWL API с Java (Eclipse). Для моего случая ASSOCIATION мне нужно создать аксиому с AGGREGATION и COMPOSITION как SubObjectProperty из объекта ASSOCIATION. Однако из моего кода мне постоянно предлагается изменить объект ASSOCIATION на класс, в котором я не предпочел. Как я могу это исправить?

Я пытался использовать OWLSubObjectPropertyOfAxiom для создания аксиомы, но мне предложили привести аргумент ASSOCIATION к OWLClassExpression (я не предпочел это).

OWLObjectProperty ASSOCIATION = df.getOWLObjectProperty(IOR + "/ASSOCIATION");
OWLObjectProperty AGGREGATION = df.getOWLObjectProperty(IOR + "/AGGREGATION");
OWLObjectProperty COMPOSITION = df.getOWLObjectProperty(IOR + "/COMPOSITION");
OWLSubObjectPropertyOfAxiom axAssociation = df.getOWLSubObjectPropertyOfAxiom
(
df.getOWLObjectSomeValuesFrom(AGGREGATION, ASSOCIATION),
df.getOWLObjectSomeValuesFrom(COMPOSITION, ASSOCIATION)
);

I am expecting to be able to create an axiom for AGGREGATION to be a SubObjectProperty from ASSOCIATION object.

Ответы [ 2 ]

1 голос
/ 19 апреля 2019

, но предложено преобразовать аргумент ASSOCIATION в OWLClassExpression

Это неверно.Тип аргумента OWLObjectPropertyExpression, и он должен принимать аргументы, набранные как OWLObjectProperty.

Если это не поможет решить вашу проблему, пожалуйста, опубликуйте полный класс, включая операторы импорта, и версию OWLAPI, которую вы используете.используя, так что ситуация может быть воспроизведена.

0 голосов
/ 20 апреля 2019

Спасибо.Мне удается получить желаемый результат, используя df.getOWLSubObjectPropertyOfAxiom (AGGREGATION, ASSOCIATION), как было предложено.

...