繁体   English   中英

如何将一个sparql查询的输出作为输入传递给另一个sparql查询

[英]How the pass the output of one sparql query as a input to another sparql query

我正在尝试使用第一个查询中的电影名称获取dbpedia电影链接,并在第二个查询中传递该链接以获取类似于此电影的电影。例如,Lagaan.Now而不是在第二个查询中手动传递链接一种方法来组合两个查询并将第一个查询的输出作为输入传递给第二个query.ie:电影lagaan的链接。如果第一个查询给出多个链接,例如:如果我正在搜索哈利波特它将返回多个哈利波特系列链接,所以,它应该处理该情况。

查询1

prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
        prefix dbpedia-owl: <http://dbpedia.org/ontology/>

          select distinct ?film where  {
          ?film a dbpedia-owl:Film .
          ?film rdfs:label ?label .
          filter regex( str(?label), "Lagaan", "i")
          }
          limit 10

查询2

PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
        select ?similar (count(?p) as ?similarity) where { 
          values ?movie { <http://dbpedia.org/resource/Lagaan> }
          ?similar ?p ?o ; a dbpedia-owl:Film .
          ?movie   ?p ?o .
        }
        group by ?similar ?movie
        having count(?p) > 35
        order by desc(?similarity)

编辑查询:

  select ?film ?similar (count(?p) as ?similarity) where {

  { 
          select distinct ?film where  {
          ?film a dbpedia-owl:Film .
          ?film rdfs:label ?label .
          filter regex( str(?label), "Lagaan", "i")
          } 
  }

         ?similar ?p ?o ; a dbpedia-owl:Film .
         ?film  ?p ?o .
        }
        group by ?similar ?film
        having count(?p) > 35
        order by desc(?similarity)

约书亚泰勒讲的纠正查询

select ?film ?other (count(*) as ?similarity) {
  {
    select ?film where {
      ?film a dbpedia-owl:Film ; rdfs:label ?label .
      filter contains(lcase(?label),"lagaan")
    }
    limit 1
  }
  ?film ?p ?o .
  ?other a dbpedia-owl:Film ; ?p ?o .
}
group by ?film ?other
having count(?p) > 25
order by desc(?similarity)

有没有办法组合两个查询并将第一个查询的输出作为第二个查询的输入传递。

SPARQL 1.1定义子查询。 内部查询的结果可用于外部查询,因此它们会“传递”给它们。 在你的情况下,你会有以下几点:

select ?similarMovie (... as ?similarity) where {

  { #-- QUERY 1, find one or more films
    select distinct ?film where {
      #-- ...
    }
  }

  #-- QUERY 2, find films similar to ?film
  #-- ...
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM