首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache自动将对象属性合并在一起。

Apache自动将对象属性合并在一起。
EN

Stack Overflow用户
提问于 2017-10-08 11:28:21
回答 1查看 250关注 0票数 0

我在使用Apache方面很新。我在这里面临一个问题。

我使用Protege设计了一个RDF文件。基本上,我有三个对象属性,它们是关联、聚合和组合。聚合和组合都是关联的子属性。正如您在这里所能看到的那样,这三个对象可以很好地结合在一起。

但是,当我在Java中使用Jena时(下面是我的代码),生成的输出与预期的结果不同。

模型m= ModelFactory.createDefaultModel();字符串NS = "http://example.com/test/"; OntModel ontoModel =OntModel null;ObjectProperty ObjectProperty = ontoModel.createObjectProperty(NS + >" ASSOCIATION ");ObjectProperty聚合= ontoModel.createObjectProperty(NS +>“聚合”);AGGREGATION.addProperty(RDFS.subPropertyOf );ObjectProperty组合= ontoModel.createObjectProperty(NS +>“组合”);COMPOSITION.addProperty(RDFS.subPropertyOf,ASSOCIATION);

正如您在生成的输出中所看到的:

1)关联对象属性嵌套在聚合和组合下面。

2)聚合和合成子属性的生成方式不同。

这里的任何帮助都非常感谢。

抗议者产生的预期产出&用耶拿产生的产出

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-08 23:33:53

您显示的两个RDF文件在语义上是等价的。你所看到的是公理排序上的不同。OWL没有定义公理序列化的顺序,因此每个库都在这方面做出了自己的选择。

Protege依赖OWL来编写本体,OWL首先根据类型,然后根据它们的内容对公理进行排序--在这种情况下,公理中的子属性的IRI首先排序。

除非您使用的是非RDF工具,或者是将本体存储在版本控制系统中(在版本控制系统中,排序上的差异可能导致较大、不必要的差异),否则您可以忽略这些差异。您正在使用的代码正在按预期工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46630583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档