首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在WHERE子句SPARQL查询中对主题执行DISTINCT操作

在WHERE子句SPARQL查询中对主题执行DISTINCT操作
EN

Stack Overflow用户
提问于 2019-08-08 02:05:11
回答 1查看 130关注 0票数 0

我的数据模式是:<user> <:bought> <book>

我正在尝试编写一个推荐查询,用于向用户推荐新书。例如。如果用户u_a已经购买了图书b_1b_2。我发现所有购买了b_1b_2的用户(u_a除外),以及其他用户购买了其他书籍( b_1b_2除外)。

代码语言:javascript
复制
SELECT ?otherbooks (COUNT(*) AS ?t)
FROM <https://book_store1>
WHERE {
    <https://book_store1/userId/1495865> <https://book_store1/bought> ?booksbought .
    FILTER (?user != <https://book_store1/userId/1495865>)
    ?user <https://book_store1/bought> ?booksbought .
    FILTER (?otherbooks != ?booksbought)
    ?user <https://book_store1/bought> ?otherbooks .
    }
GROUP BY ?otherbooks
ORDER BY DESC (?t)
LIMIT 10

WHERE条款的第三行,即?user <https://book_store1/bought> ?booksbought .,我想写DISTINCT用户,即u_bu_c可能同时购买了b_1b_2。因此,我希望在随后的WHERE子句中将单个值作为u_b传递,并将u_c作为?user传递

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-20 11:30:25

调整您的计数以查看唯一用户,如下所示:

代码语言:javascript
复制
SELECT ?otherbooks (COUNT(DISTINCT ?user) AS ?t)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57400033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档