SPARQL 前缀通配符

标签 sparql

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

最佳答案

看到这个SPARQL - Restricting Result Resource to Certain Namespace(s)

如果您知道它始终位于同一 namespace 中,则可能会出现如下所示的内容:

?start ?edge ?reached
FILTER(REGEX(STR(?var), "^http://www.foo.com/edge#"))

关于SPARQL 前缀通配符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13678069/

相关文章:

rdf - Sparql 查询 where 子句

wikipedia - 从 dbpedia 获取 sparql 中的日期

SPARQL - 选择 dbpedia 资源最相关的类别

java - Jena Fuseki 客户端

使用 wikiPageRedirects 的 sparql

SPARQL 选择变量前缀 "?"和 "$"

python - 在 python 中设置 rdf 三重存储的好解决方案?

rdf - DatatypeProperty、ObjectProperty 和 FunctionalProperty 之间有什么区别,我应该在什么时候使用它们?

java - JENA:端点返回内容类型:text/html

Pizza本体的SPARQL查询