在DBpedia上使用SPARQL属性路径

在DBpedia上使用SPARQL属性路径,sparql,dbpedia,Sparql,Dbpedia,我想知道DBpedia上的两个实体之间是否存在属性路径。这是我在snorql上尝试的一个示例查询: SELECT * WHERE { :Braveheart (:|!:)* :Mel_Gibson } LIMIT 100 查询遇到内存错误: Virtuoso 42000 Error TN...: Exceeded 1000000000 bytes in transitive temp memory. use t_distinct, t_max or more T_MAX_memory opti

我想知道DBpedia上的两个实体之间是否存在属性路径。这是我在
snorql
上尝试的一个示例查询:

SELECT * WHERE {
:Braveheart (:|!:)* :Mel_Gibson
}
LIMIT 100
查询遇到内存错误:

Virtuoso 42000 Error TN...: Exceeded 1000000000 bytes in transitive temp memory. use t_distinct, t_max or more T_MAX_memory options to limit the search or increase the pool SPARQL query: define sql:big-data-const 0 #output-format:application/sparql-results+json define input:default-graph-uri PREFIX owl: PREFIX xsd: PREFIX rdfs: PREFIX rdf: PREFIX foaf: PREFIX dc: PREFIX : PREFIX dbpedia2: PREFIX dbpedia: PREFIX skos: SELECT * WHERE { :Braveheart (:|!:)* :Mel_Gibson } LIMIT 100

我怀疑有人会建议设置本地dbpedia镜像。如果是这样的话,我想了解一些详细的步骤。

我认为您的查询对于您试图回答的问题来说有点错误。。。此外,因为它没有变量<代码>选择*<代码>不能显示任何东西(我认为这是一个错误,甚至编译),所以让我到

我认为这是MrimoSO的查询规划师中的一个bug,并报告它:

说到这里,我想指出的是,在实际案例中,你们可能对不仅仅指向前方的道路感兴趣。边的方向在很大程度上取决于建模。因此,考虑使用类似这样的查询:

ASK { dbr:Braveheart ((<>|!<>)|^(<>|!<>))+ dbr:Mel_Gibson }
ASK{dbr:Braveheart((|!)| ^(|!)+dbr:Mel|u Gibson}

该表达式表示沿其方向或相反方向跟随任何边(
^
)至少一步。(是的,我还想知道为什么属性路径没有针对任意边的简短语法;)

根据@JörnHees的回答,有两点:

  • 是无效的谓词标识符。对于Virtuoso,
    标识文档(在HTTP
    GET
    上返回
    200 OK
    的内容位置),这就是
    工作的原因。这不是一个解析问题,因为它更多地与标识符的语义有关

  • 公共DBpedia端点未配置为接受此类查询,因此出现错误

  • 使用
    而不是
    ,我们--

    前缀dbpedia: 问{dbpedia:Braveheart(|!)+dbpedia:Mel_Gibson} 两个备选实例,均由(我的雇主和的制作人)托管,为该查询生成解决方案:


    您的查询非常昂贵,因为它在大型RDF图中查找两个节点之间的所有路径。当然,您可以设置自己的Virtuoso并在本地机器上加载DBpedia。但是我想知道,如果您没有一台资源比公共DBpedia所在的机器更多的机器,这是否会有所帮助。详细步骤:ASK只返回
    true
    false
    ,对吗?我要做的是查看两个节点之间的所有属性路径。考虑到需要,SELCT不是合适的选项吗?那么您至少需要一个中间变量来“投影”出来。遗憾的是,属性路径中不允许变量,因此没有任何项目。您可以尝试
    选择distinct*{dbr:Braveheart(|!)*?n.?n?p?n2.?n2(|!)*dbr:Mel_Gibson.}
    ,但更糟糕的是:D
    SELECT * { dbr:Braveheart ?p dbr:Mel_Gibson }
    
    ASK { dbr:Braveheart ((<>|!<>)|^(<>|!<>))+ dbr:Mel_Gibson }
    
    prefix dbpedia: <http://dbpedia.org/resource/> 
    ASK { dbpedia:Braveheart (<#this>|!<#this>)+ dbpedia:Mel_Gibson }