【发布时间】:2018-06-23 13:50:09
【问题描述】:
我一直在熟悉 AKSW 的 https://github.com/SmartDataAnalytics/OWL2SPARQL,它非常易于使用,即使使用 Scala 和 sbt,但不会重写类表达式。
我 (and at least one other person!) 会发现类表达式 -> SPARQL 重写很有帮助。也许那是因为我(至少)做了双关语?例如,我需要找到所有提到任何(间接)含有化学“瑞舒伐他汀”作为活性成分的药片类别的所有药物处方人
:X a 'drug prescription' .
:X mentions 'rosuvastatin Oral Tablet' .
在哪里
- '药方'是http://purl.obolibrary.org/obo/PDRO_0000024
- 提及的是http://purl.obolibrary.org/obo/IAO_0000142
- '瑞舒伐他汀口服片'是http://purl.obolibrary.org/obo/DRON_00027869
“瑞舒伐他汀口服片剂”的超类和断言公理:
drug tablet
has_proper_part some (scattered molecular aggregate and
(is bearer of some active ingredient) and
(has granular part some rosuvastatin))
其中 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 查询?
如果不是,我想我可能会写一个属性链快捷方式......但这忽略了链中涉及的类的类型,对吧?
【问题讨论】:
-
“不重写类表达式”是什么意思。 - 这正是 OWL2SPARQL 的特性之一,或者不是?好的,基本上它将 OWL 类表达式转换为 SPARQL - 但我想知道,什么不能按预期工作?
-
查看这个问题:github.com/SmartDataAnalytics/OWL2SPARQL/issues/3 plusgithub.com/SmartDataAnalytics/OWL2SPARQL 的所有示例都是关于个人的断言,而不是关于类的断言。
-
@AKSW 谢谢。我找到了我草率但相关的代码并添加了帖子的链接
-
谢谢。明天我会检查代码/示例。