gpt4 book ai didi

java - 词集之间的语义关系

转载 作者:行者123 更新时间:2023-11-30 08:52:13 25 4
gpt4 key购买 nike

如果我有一组单词(DBpedia 资源)存储在 arraylist 中我如何构建 SPARQL 查询来查找这些术语之间所有可能的直接或间接关系?主要问题是我不知道我要搜索的关系类型是什么。

假设我的数组列表包含 3 个词,France,Paris, Europe我如何编写一个查询来返回 France-Paris 、Paris-Europe 和 France-Europe 之间的直接关系(或 2 跳的间接关系)

希望我弄清楚我在找什么

最佳答案

您可以做的是使用VALUES 为您的资源集设置一个变量,但是要两次,关系的每一端各一次。然后使用变量作为谓词来查找关系是什么。像这样的东西:

SELECT ?resource1 ?p1 ?intermediary ?p2 ?resource2
WHERE
{
VALUES ?resource1 { :Paris :France :Europe }
VALUES ?resource2 { :Paris :France :Europe }
FILTER(?resource1 != ?resource2)

{
?resource1 ?p1 ?resource2
}
UNION
{
?resource1 ?p1 ?intermediary.
?intermediary ?p2 ?resource2.
}
}

结果是:

screenshot of the results table

关于java - 词集之间的语义关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30256252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com