【问题标题】:Add type triple to rdf document using D2RQ使用 D2RQ 将类型三元组添加到 rdf 文档
【发布时间】: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


【解决方案1】:

我找到了向属性添加第二个 (OWL) 类型三元组的解决方案(如果不接触代码,似乎无法使用替换自动生成的属性的解决方案)。

你必须通过添加一个额外的属性三元组来更新你的 ttl 文件(owldatatypeproperty 不是由 d2rq 创建的,它是我介绍的!):

map:owldatatypeproperty a d2rq:AdditionalProperty;
    d2rq:propertyName rdf:type;
    d2rq:propertyValue <http://www.w3.org/2002/07/owl#DatatypeProperty>;
    .   

然后你必须通过引用附加属性来扩展属性桥定义:

map:abc_ID a d2rq:PropertyBridge;
    .....
    d2rq:datatype xsd:integer;
    d2rq:additionalPropertyDefinitionProperty map:owldatatypeproperty;
    .

就是这样。

在 [1] 中提供了简短说明

[1]http://d2rq.org/d2rq-language#additionalproperty

【讨论】:

    猜你喜欢
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 2012-05-03
    相关资源
    最近更新 更多