gpt4 book ai didi

java - 正则表达式 SPARQL 查询

转载 作者:行者123 更新时间:2023-12-01 16:57:59 24 4
gpt4 key购买 nike

这是我的 SPARQL 查询:

  String queryString = 
"SELECT ?URI "
+ "WHERE{ ?URI ?predicate ?object ."
+ "FILTER regex(?URI, \"p\", \"i\")}";


Query query = QueryFactory.create(queryString);
QueryExecution qexec = QueryExecutionFactory.create(query, model);
try
{
ResultSet results = qexec.execSelect();
while(results.hasNext()) {
QuerySolution soln = results.nextSolution();
Resource z = (Resource) soln.getResource("URI");
System.out.println(z.toString());
}
finally {
qexec.close();
}

如您所见,我想选择包含字母 P 的 URI 资源。我使用正则表达式过滤器,但我在输出中没有得到任何内容,甚至没有空指针异常。

最佳答案

当您对 URI 进行模式匹配时,由于它不是文字,因此您需要使用 str 将其转换为字符串。过滤此内容的一种方法是使用 contains:

Select ?uri
where {?uri ?p?o.
filter (contains(str(?uri), "p"))
}

或者您可以使用正则表达式:

Select ?uri
where {?uri ?p?o.
FILTER regex(str(?uri), "p", "i")}
}

关于java - 正则表达式 SPARQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159235/

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