sparql如何将查询分为另一个查询

sparql如何将查询分为另一个查询,sparql,rdf,semantic-web,owl,Sparql,Rdf,Semantic Web,Owl,我有这些数据 @prefix : <http://test.example/> . :alice :likes :beethoven. :alice :likes :verdi. :sofia :likes :beethoven. :sofia :likes :verdi. :sofia :likes :rossini. :ania :likes :verdi. :ania :likes :beethoven. :ania :likes :david. :david :likes

我有这些数据

@prefix : <http://test.example/> .

:alice :likes :beethoven.
:alice :likes :verdi.
:sofia :likes :beethoven.
:sofia :likes :verdi.
:sofia :likes :rossini.
:ania :likes :verdi.
:ania :likes :beethoven.
:ania :likes :david.
:david :likes :ania.
:david :likes :beethoven.
:david :likes :verdi.
:antonino :likes :verdi.
:antonino :likes :mozart.
:weirdo :likes :katyperry.
:beethoven a :recommendable.
:verdi a :recommendable.
:rossini a :recommendable.
:katyperry a :recommendable.
:mozart a :recommendable.
现在我想得到这些用户喜欢的项目(当然没有他们与特定用户共享的项目(
:ania

我知道我必须在另一个查询中包含一个查询,我自己也做了很多尝试,但没有成功,你能帮我吗

现在我想获得这些用户喜欢的项目(当然没有他们与特定用户共享的项目(:ania))

我知道我必须在另一个查询中包含一个查询,我自己也做了很多尝试,但没有成功,你能帮我吗

我认为需要记住的主要一点是子查询是首先计算的,也就是说,查询是从最里面的第一个到最外面的

因此,下面的查询:

prefix : <http://test.example>
select distinct ?user ?anotherUser ?item WHERE {
  ?anotherUser :likes ?item.
  filter not exists {?user :likes ?item}
  {select ?user ?anotherUser where {
    values ?user {:ania}
    ?anotherUser :likes ?anotherItem.
    filter (?anotherUser != ?user)
    filter exists {?user :likes ?anotherItem}
  }}
}
这就是你想要的,对吗

现在我想获得这些用户喜欢的项目(当然没有他们与特定用户共享的项目(:ania))

我知道我必须在另一个查询中包含一个查询,我自己也做了很多尝试,但没有成功,你能帮我吗

我认为需要记住的主要一点是子查询是首先计算的,也就是说,查询是从最里面的第一个到最外面的

因此,下面的查询:

prefix : <http://test.example>
select distinct ?user ?anotherUser ?item WHERE {
  ?anotherUser :likes ?item.
  filter not exists {?user :likes ?item}
  {select ?user ?anotherUser where {
    values ?user {:ania}
    ?anotherUser :likes ?anotherItem.
    filter (?anotherUser != ?user)
    filter exists {?user :likes ?anotherItem}
  }}
}

这就是你想要的,对吗?

你能告诉我你尝试了什么,为什么没有达到预期效果吗?你能告诉我你尝试了什么,为什么没有达到预期效果吗?这不是我想要的。在您的内部和外部查询中,
另一个用户是否引用了相同的变量?这不是我想要的。
另一个用户是否在内部和外部查询中引用了相同的变量?
----------------------------------
| user  | anotherUser | item     |
==================================
| :ania | :sofia      | :rossini |
| :ania | :antonino   | :mozart  |
| :ania | :david      | :ania    |
----------------------------------