【问题标题】:SPARQL: Given a dbpedia url, how can I determine if the entity is a person?SPARQL:给定一个 dbpedia url,我如何确定该实体是否是一个人?
【发布时间】:2017-03-02 01:26:16
【问题描述】:

如果我有一个 dbpedia 网址(即http://dbpedia.org/page/Abraham_Lincoln),我如何查询 SPARQL 以验证实体(在本例中为亚伯拉罕·林肯)是否是一个人?我突然想到,我可以返回所有 rdf:type 值,然后检查 foaf:Person 或 dbo:Person 是否在输出中,但只获得真/假响应会更方便。

【问题讨论】:

    标签: sparql dbpedia


    【解决方案1】:

    使用 SPARQL ASK 查询?这个答案应该是你自己在查看W3C recommendation时找到的

    ASK { ?s rdf:type <SOME_CLASS_URI> }
    

    注意,它当然允许更复杂的查询模式:

    ASK {
       { ?s rdf:type foaf:Person }
      UNION 
       { ?s rdf:type dbo:Person }
    }
    

    【讨论】:

    • ASK { values ?person { foaf:Person dbo:Person } ?s a ?person }。 (我只是喜欢使用 values 而不是 UNION,因为它更容易扩展,并使逻辑更清晰。
    • 根据 AKSW 的说法,这个问题“太明显了”,甚至不能问,所以如果没有任何异议,我会删除它。
    • 嗯,它本来可以找到的,但是很多人从来没有听说过除了 SELECT 查询之外的任何东西,所以可能有一些理由保留它。
    • 相当。对于刚开始使用 SPARQL 的人来说,这没有什么明显的。恕我直言,更多真实世界的示例通常很有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    • 2017-12-16
    • 1970-01-01
    • 2013-02-14
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多