在SPARQL查询中使用图表上的FILTER

时间:2014-03-07 16:46:25

标签: filter sparql

我在知识库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>

非常感谢提前

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容对图表名称进行过滤:

   { GRAPH ?graph    {?subject ?predicate ?object .}
     FILTER( contains(str(?graph), "abc") )
   }

或使用不同的字符串测试。请注意str(...)