Sparql查询模式与过滤结果匹配

时间:2017-10-16 13:43:43

标签: sparql rdf semantic-web dbpedia

我是运行sparql查询的新手,我不是很有经验。我开发了一个java应用程序,它执行符合用户提供的给定模式的查询。 例如,我合成模式以便以这种简化的方式进行查询:" P(?X,?Y),Q(?X,?Z),Q(?Y,?Z)" 其中P和Q是在第一种情况下绑定两个人的属性"?x"和"?y",在第二个"?x"和"?z"在第三个"?y"和"?z"。例如,对元查询的可能答案是以下" isMarriedTo(?x,?y),livesIn(?x,?y),livesIn(?y,?z)" 我在YAGO上尝试过metaquery,但也在DBPEDIA上尝试过,但结果不是他们想要的。 这是我的查询:

SELECT DISTINCT ?x ?y ?z ?p ?q
WHERE{
GRAPH <http://dbpedia.org> {

     ?x ?p ?y.
     ?x ?q ?z.

  filter ( ?p != ?q )
  filter ( ?x != ?y )
  filter ( ?x != ?z )
  filter ( ?y != ?z )
  }
}LIMIT 20

我的目的是从这个查询中选择所有尊重这种模式P(?X,?Y)和同时Q(?X,?Z)的实例。 为了我的目的,我得到了一些不成功的结果,例如我想避免本体结果,例如&#34; ... rdf-schema#label&#34;我会对&#34;真实&#34;感兴趣结果具体而言。 以下是给出上述查询的结果网址。

Results with previous query

我希望得到的元组是具体的,包括&#34; hasGivenName&#34;,&#34; hasNeighbor&#34;,&#34; wasBornOnDate&#34;像这个。 例如,这些文件包含在此文件Yago scheme that include the properties that i'm interested to find binding

0 个答案:

没有答案