问题描述
希望你一切顺利。 这是我的图形数据库的基本结构。组件有估计方法,估计方法有参数,参数有数据源。
c -> em -> p -> ds
哪里,
c stands for components
em stands for estimation methods
p stands for parameters
ds stands for data sources
我能够以这样的结构化格式查询个人:
SELECT ?c ?em ?p ?ds WHERE {
?c wb:hasEstimationMethod ?em.
OPTIONAL {
?em wb:hasParameter ?p.
OPTIONAL{
?p wb:hasDataSource ?ds.
}
}
}
我使用 OPTIONAL 子句是因为估计方法可能没有任何参数,类似的参数可能没有任何数据源。
但是,例如,估计方法未知但我们知道参数的情况很少。因此,例如在这种情况下,组件将直接具有参数,而我更愿意为估计方法留出空白。所以这是我想要的输出,
c | em | p | ds |
---|---|---|---|
component-1 | 估计方法-1 | 参数-1 | 数据源-1 |
component-2 | 参数-2 | 数据源-2 | |
component-3 | 参数-3 |
如果您注意到最后两行缺少信息,如果是这种情况,这就是我希望在输出中包含的信息。换句话说,我想跳过层次结构中的一个步骤。
所以我的问题是,我如何首先查询 ?c wb:hasEstimationMethod ?em
但如果它没有任何值,我想告诉 SPARQL 使用查询 ?c wb:hasParameter ?p
并且类似地,如果它也没有任何值,做?c wb:hasDataSource ?ds
吗?
任何帮助将不胜感激!如果我没有使用正确的术语,请告诉我。祝你有美好的一天:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)