2

我正在尝试编写一个 SPARQL 查询,该查询将允许我找到可以从给定节点访问的所有节点。目前每条边都有前缀http://www.foo.com/edge#并且有 3 个可能的边(使用、扩展、实现)。虽然我可以从 "?start (edge:uses | edge:implements | edge:extends)* ?reached" 中得到正确的结果,但我想将其简化为一个语句,在 edge: 之后使用某种通配符,这样如果我添加了更多的边缘类型,然后我就不需要扩展查询了。这可能吗?

4

1 回答 1

3

请参阅此SPARQL - 将结果资源限制为特定命名空间

如果您知道它总是在同一个命名空间中,您可能会看到如下所示:

?start ?edge ?reached
FILTER(REGEX(STR(?var), "^http://www.foo.com/edge#"))
于 2012-12-03T11:29:10.677 回答