【发布时间】:2017-10-08 11:28:21
【问题描述】:
我对使用 Apache Jena 非常陌生。我在这里遇到了问题。
我使用 Protege 设计了一个 RDF 文件。基本上,我有三个对象属性,即 ASSOCIATION、AGGREGATION 和 COMPOSITION。 聚合和组合都是 ASSOCIATION 的子属性。正如您在 Protege 中看到的那样,这三个对象很好地一起生成。
但是,当我将 Jena 与 Java 一起使用时(以下是我的代码),生成的输出与预期结果不同。
模型 m = ModelFactory.createDefaultModel(); 字符串 NS = "http://example.com/test/";
OntModel ontoModel = >ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, null); ObjectProperty ASSOCIATION = ontoModel.createObjectProperty(NS + >"ASSOCIATION"); ObjectProperty AGGREGATION = ontoModel.createObjectProperty(NS + >"AGGREGATION"); AGGREGATION.addProperty(RDFS.subPropertyOf, ASSOCIATION); ObjectProperty COMPOSITION = ontoModel.createObjectProperty(NS + >"COMPOSITION"); COMPOSITION.addProperty(RDFS.subPropertyOf, ASSOCIATION);
正如您在生成的输出中看到的那样:
1) ASSOCIATION 对象属性嵌套在 AGGREGATION & COMPOSITION 下方。
2) AGGREGATION & COMPOSITION 的子属性生成方式不同。
非常感谢这里的任何帮助。
Expected output generated from Protege & output generated with Jena
【问题讨论】:
标签: java jena ontology protege