【问题标题】:Why is dbpedia-owl:wikiPageRedirects not returning the full set of redirect links? (Sparql)为什么 dbpedia-owl:wikiPageRedirects 不返回完整的重定向链接集? (Sparql)
【发布时间】:2015-02-27 12:31:51
【问题描述】:

我正在使用以下查询:

select ?value where { <http://dbpedia.org/resource/Paris>  dbpedia-owl:wikiPageRedirects* ?value } 

为了检索巴黎的wikiPageRedirects 属性。


基于dbpedia巴黎有超过20个重定向链接。为什么我只检索第一个?


【问题讨论】:

    标签: sparql dbpedia


    【解决方案1】:

    你的方向错了。

    select distinct *
    where { 
      ?x dbpedia-owl:wikiPageRedirects <http://dbpedia.org/resource/Paris>
    } 
    

    【讨论】:

    • 所以你把它定义为一个标签?我不太了解我对 sparql 还很陌生的查询。虽然效果很好
    • 所以当你在 dbpedia 中查找属性时,最好看看它们是如何定义的。如果您点击 dbpedia-owl:wikiPageRedirects 的链接,您会看到定义它的一种方式是作为标签。你应该阅读 SPARQL 手册,里面有很好的例子。
    • 实际上,如果您不想要标签,它也可以在没有第一行的情况下使用。你的方向错了。我误解了您的问题,尽管您需要链接的价值。
    • 对于标签,我明白没问题。但是你的意思是我的查询是颠倒的吗?
    【解决方案2】:

    Artemis's answer 是对的;查询中的“方向”是错误的。不过,值得多解释一下。在 DBpedia“页面”上,您会看到很多数据,例如:

    dbpedia-owl:area      105400000.000000 (xsd:double)  
    dbpedia-owl:country   dbpedia:France  
    dbpedia-owl:inseeCode 75056 (xsd:integer)  
    dbpedia-owl:mayor     dbpedia:Anne_Hidalgo
    

    这意味着 DBpedia 包含三元组,其中这些是谓词和对象。也就是说,DBpedia 包含一个三元组:

    dbpedia:Paris dbpedia-owl:country dbpedia:France
    

    另一方面,您还会看到诸如“is … of”之类的内容:

    is dbpedia-owl:beatifiedPlace of dbpedia:Daniel_Brottier
    is dbpedia-owl:billed         of dbpedia:René_Duprée
    

    这意味着 dbpedia:Paris 是带有这些主语和谓词的三元组的宾语。例如,DBpedia 包含三元组

    dbpedia:René_Duprée dbpedia-owl:billed dbpedia:Paris
    

    您看到的重定向属性如下所示:

    is dbpedia-owl:wikiPageRedirects of dbpedia:City_of_Love_(city)
                                        dbpedia:Département_de_Paris
                                        dbpedia:Departement_de_Paris
                                        dbpedia:FRPAR
    

    也就是说有一堆三元组的形式:

    ?something dbpedia-owl:wikiPageRedirects dbpedia:Paris
    

    这意味着您的查询需要

    select ?resource where {
      ?resource dbpedia-owl:wikiPageRedirects dbpedia:Paris
    }
    

    SPARQL results

    【讨论】:

    • 真的很有趣约书亚。我实际上是在使用 bpedia.org/sparql 中的示例练习您的 cmets。试图在三元组之间形成这些关系。
    • select * where {?x dbpedia-owl:country dbpedia:United_States} 例如,这将返回国家为美国的所有内容?
    • 最后一个问题“wikiPageRedirects, wikiPageInLinkCountCleaned”这些也是我也在提取的属性,但方式非常复杂。首先,我选择给定概念的所有属性,然后尝试在结果查询中搜索它们。
    • 是的,该查询将选择具有 dbpedia:United_States 值的事物作为 dbpedia-owl:country 的值。
    • @HaniGoc 我不确定您在第三条评论中要问什么,但听起来您可能需要一个子查询。您可能应该就此提出一个新问题。
    猜你喜欢
    • 2016-07-04
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多