如何从ObjectProperty为关联案例创建SubOjectProperty?

问题描述 投票:0回答:2

我正在使用带有Java(Eclipse)的OWL API开发算法。对于我的ASSOCIATION案例,我需要从ASSOCIATION对象创建一个带有AGGREGATION和COMPOSITION的公理作为SubObjectProperty。但是从我的代码中我不断提示将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.
java owl ontology owl-api
2个回答
1
投票

但提示将参数ASSOCIATION转换为OWLClassExpression

那是不对的。参数类型是OWLObjectPropertyExpression,它必须接受类型为OWLObjectProperty的参数。

如果这无法解决您的问题,请发布完整的类,包括import语句和您正在使用的OWLAPI版本,以便可以复制该情况。


0
投票

谢谢。我按照建议使用df.getOWLSubObjectPropertyOfAxiom(AGGREGATION,ASSOCIATION)设法获得所需的输出。

© www.soinside.com 2019 - 2024. All rights reserved.