【发布时间】:2016-09-04 11:58:31
【问题描述】:
如果我使用默认的 d2rq 映射文件 (ttl),我的所有列都映射到 rdf 属性。例如。列 ID 变为属性“hasID”(重命名后)。
<rdf:Description rdf:about="http://www.semanticweb.org/adoxx/ontologies/2016/5/untitled-ontology-24#hasId">
<rdfs:label>hasId</rdfs:label>
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
</rdf:Description>
我想替换 rdf 属性三元组或添加进一步的类型三元组,以便我的结果是
<rdf:Description rdf:about="http://www.semanticweb.org/adoxx/ontologies/2016/5/untitled-ontology-24#hasId">
<rdfs:label>hasId</rdfs:label>
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty"/>
</rdf:Description>
文档 [1] 声明类型是自动生成的。
您知道如何获得这样的结果吗?我需要区分 DatatypeProperty 和 ObjectProperty,以便将它们正确导入 OWL-API [2]。
[1]http://d2rq.org/d2rq-language [2]https://sourceforge.net/p/owlapi/mailman/message/35333117/
【问题讨论】:
-
我已经查看了代码。我认为在不更改代码的情况下无法替换 type 属性(它在 Mapping.java 的第 261 行设置)
-
我已经更改了标签,因为它与耶拿的相关性比与 owlapi 的相关性更高。 Owlapi 需要声明,因为 OWL 需要 - 所以任何 OWL 兼容的库都应该表现相同。
-
现在ONT-D2RQ 会自动处理模式的语义。这是 OWL-API 兼容的解决方案。
标签: rdf apache-jena d2rq