如何从用于关联案例的ObjectProperty创建SubOjectProperty?

时间:2019-04-19 15:35:18

标签: java owl ontology owl-api

我正在使用OWL API和Java(Eclipse)开发一种算法。对于我的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.

2 个答案:

答案 0 :(得分:1)

  

但提示将参数ASSOCIATION强制转换为OWLClassExpression

那是不正确的。参数类型为OWLObjectPropertyExpression,并且必须接受类型为OWLObjectProperty的参数。

如果这不能帮助您解决问题,请发布完整的类,包括import语句和您使用的OWLAPI版本,以便可以复制这种情况。

答案 1 :(得分:0)

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