Я ознакомился с https://github.com/SmartDataAnalytics/OWL2SPARQL, AKSW, который довольно прост в использовании, даже с Scala и sbt, но не переписывает выражения классов.
I ( и вхотя бы еще один человек !) нашел бы выражение класса -> переписывание SPARQL полезным.Может быть, это потому, что я (по крайней мере) делаю наказания?Например, мне нужно найти всех лиц, отпускающих лекарства по рецепту, в которых упоминается любая таблетка препарата класса , в которой (косвенно) содержится химическое вещество "розувастатин" в качестве активного ингредиента
:X a 'drug prescription' .
:X mentions 'rosuvastatin Oral Tablet' .
, где
Суперклассы и утвержденные аксиомы для «устного таблетки розувастатина»:
drug tablet
has_proper_part some (scattered molecular aggregate and
(is bearer of some active ingredient) and
(has granular part some rosuvastatin))
, где розувастатин равен http://purl.obolibrary.org/obo/DRON_00018679 (а другие IRI можно увидеть в контексте RDF / XML на http://www.ontobee.org/ontology/rdf/DRON?iri=http://purl.obolibrary.org/obo/DRON_00027869)
Существуют ли другие инструменты, которые могут переписать выражение класса OWL в качестве запроса SPARQL?
Если нет, то я могу написать ярлык цепочки свойств ...но это игнорирует типы классов, участвующих в цепочке, верно?
У меня есть пример на https://github.com/turbomam/owl2sparql4turbo