Java 词组间的语义关系

Java 词组间的语义关系,java,sparql,semantic-web,dbpedia,Java,Sparql,Semantic Web,Dbpedia,如果我有一组单词(DBpedia资源)存储在arraylist中 如何构建SPARQL查询来查找这些术语之间所有可能的直接-间接关系? 主要的问题是我不知道我要搜索的关系类型是什么 假设我的arraylist包含3个单词:法国、巴黎、欧洲 如何编写一个查询,返回法国巴黎、巴黎欧洲和法国欧洲之间的直接关系(或2跳的间接关系) 希望我弄清楚我要找的是什么您可以做的是使用值为您的资源集设置一个变量,但要做两次,关系的每一端一次。然后使用一个变量作为谓词来查找关系是什么。比如: 选择?资源1?p1?中间

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

假设我的arraylist包含3个单词:法国、巴黎、欧洲 如何编写一个查询,返回法国巴黎、巴黎欧洲和法国欧洲之间的直接关系(或2跳的间接关系)


希望我弄清楚我要找的是什么

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

选择?资源1?p1?中间层?p2?资源2
哪里
{
价值观?资源1{:巴黎:法国:欧洲}
价值观?资源2{:巴黎:法国:欧洲}
过滤器(?资源1!=?资源2)
{
?资源1?p1?资源2
}
联合
{
?资源1?p1?中介。
?中介?p2?资源2。
}
}
结果是: