2

デフォルトの 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: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] には、型が自動的に生成されると記載されています。

そのような結果を得る方法を考えていますか?OWL-API [2] に正しくインポートされるように、DatatypeProperty と ObjectProperty を区別する必要があります。

[1] http://d2rq.org/d2rq-language [2] https://sourceforge.net/p/owlapi/mailman/message/35333117/

4

1 に答える 1

0

プロパティに 2 番目の (OWL) タイプ トリプルを追加するための解決策を見つけました (自動生成されたプロパティを置き換えるための解決策は、コードに触れずには利用できないようです)。

追加の Property トリプルを追加して、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

于 2016-09-06T09:37:50.980 に答える