2016-09-04 4 views
2

デフォルトのd2rqマッピングファイル(ttl)を使用すると、すべての列がrdfプロパティにマップされます。例えば。列のIDはプロパティ "hasID"(名前の変更後)になります。D2RQを使用してタイプ3倍に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: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> 

ドキュメントであるように、RDFトリプルプロパティを交換したり、三重の更なるタイプを追加したい[1]タイプが自動的に生成されていると述べています。

このような結果を得るにはどうすればよいですか? OWL-API [2]に正しくインポートされるように、DatatypePropertyとObjectPropertyの区別が必要です。

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

+0

Iコードを検討しました。私はコードを変更せずに型プロパティの置換ができないと思います(261行目のMapping.javaで設定されています) – user3579222

+1

これはowlapi関連よりもJena関連のものですから、タグを変更しました。 OwlapiはOWLが宣言する必要があるため、OWL準拠のライブラリは同じように動作するはずです。 – Ignazio

答えて

0

私は自動生成されたプロパティを置換する(プロパティに三重溶液を型の第2(OWL)を追加するための解決策を見つけたが触れることなく利用可能ではないと思われますコード)。

あなたはトリプル追加のプロパティを追加して、TTLファイルを更新する必要が

(owldatatypepropertyはD2RQによって作成されていなかった、それは私が紹介されました!):

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

次にあなたがしてプロパティブリッジ定義を拡張する必要がありますadditonalプロパティを参照して:

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

それはそれです。

A短い説明が設けられている[1]

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

関連する問題