我在知识库Allegro Graph中有数千个四元组/三元组。我正在使用以下SPARQL查询来查找知识库中的特定图表
SELECT ?subject ?predicate ?object ?graph
FROM Named <http://www.abc.com/xyz/abc123graphname>
WHERE {GRAPH ?graph
{?subject ?predicate ?object .}}
这显示了图名= http://www.abc.com/xyz/abc123graphname的所有四边形。 但现在我想使用FILTER只显示图形名称以abc *开头的那些四边形。
,例如
<http://www.abc.com/xyz/abc123graphname>
<http://www.abc.com/xyz/abc425graphname>
<http://www.abc.com/xyz/abc324graphname>
请注意,我的知识库中有很多图名,例如
<http://www.abc.com/xyz/abc123graphname>
<http://www.abc.com/xyz/abc425graphname>
<http://www.abc.com/xyz/abc324graphname>
<http://www.abc.com/xyz/xyz123graphname>
<http://www.abc.com/xyz/samplegraphname>
<http://www.abc.com/xyz/vibergraphname>
非常感谢提前
答案 0 :(得分:1)
您可以使用以下内容对图表名称进行过滤:
{ GRAPH ?graph {?subject ?predicate ?object .}
FILTER( contains(str(?graph), "abc") )
}
或使用不同的字符串测试。请注意str(...)
。