Jika saya menggunakan file pemetaan d2rq default (ttl) semua kolom saya dipetakan ke properti rdf. Misalnya. ID kolom menjadi Properti "hasID" (setelah mengganti nama).

  <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>

Saya ingin mengganti triple properti rdf atau menambahkan triple tipe lebih lanjut sehingga hasil saya adalah

      <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>

Dokumentasi [1] menyatakan bahwa tipe dihasilkan secara otomatis.

Apakah Anda punya ide bagaimana mendapatkan hasil seperti itu? Saya membutuhkan perbedaan antara DatatypeProperty dan ObjectProperty sehingga mereka diimpor dengan benar di OWL-API [2].

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

2
user3579222 4 September 2016, 14:58
Saya telah meninjau kodenya. Saya pikir penggantian properti type tidak mungkin dilakukan tanpa mengubah kode (diatur di Mapping.java pada baris 261)
 – 
user3579222
5 September 2016, 21:21
1
Saya telah mengubah tag karena ini lebih terkait Jena daripada terkait owlapi. Owlapi memerlukan deklarasi karena OWL melakukannya - jadi perpustakaan yang sesuai dengan OWL harus berperilaku sama.
 – 
Ignazio
6 September 2016, 17:32
Sekarang ada ONT-D2RQ yang menangani semantik skema secara otomatis. Ini adalah solusi yang kompatibel dengan OWL-API.
 – 
ssz
12 November 2018, 22:52

1 menjawab

Jawaban Terbaik

Saya menemukan solusi untuk menambahkan triple tipe kedua (OWL) ke properti (solusi untuk mengganti properti yang dihasilkan secara otomatis tampaknya tidak tersedia tanpa menyentuh kode).

Anda harus memperbarui file ttl Anda dengan menambahkan properti triple tambahan (owldatatypeproperty tidak dibuat oleh d2rq, itu diperkenalkan oleh saya!):

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

Maka Anda harus memperluas definisi jembatan properti dengan merujuk ke properti tambahan:

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

Itu dia.

Deskripsi singkat disediakan di [1]

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

0
user3579222 6 September 2016, 12:37