Добавьте тип triple в rdf документ, используя D2RQ
Если я использую файл отображения d2rq по умолчанию (ttl), все мои столбцы отображаются в свойствах rdf. Например, идентификатор столбца становится свойством "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/
1 ответ
Я нашел решение для добавления второго (OWL) типа triple к свойству (решение для замены автоматически сгенерированного свойства, кажется, не доступно без прикосновения к коду).
Вы должны обновить свой 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]