【问题标题】:How to Query the entity type from dbpedia如何从 dbpedia 查询实体类型
【发布时间】:2019-09-11 09:29:59
【问题描述】:

我正在尝试使用 SPARQL 仅从 dbpedia 查询实体类型,但没有得到任何输出。我正在尝试通过以下方式查询 dbpedia。

sparql.setQuery("""
    PREFIX db: <http://dbpedia.org/resource/>
    select str(?text) as ?text where
    {
    db:Flipkart dct:description ?text 
    FILTER (lang(?text) = 'en')
    }
""")

我希望输出为“Company”或“Indian Company”或类似名称。有人可以帮忙吗?

【问题讨论】:

  • 我没有收到查询问题。您的查询正在尝试获取资源的描述 - 那么这应该如何返回类型?然后,您认为 DBpedia 中的实体存在dct:description 吗?您是否在浏览器中打开了实体的页面?唯一接近描述的属性是dbo:abstractrdfs:comment - 那么您从哪里获得该属性?
  • 顺便说一句,你肯定在这里做一些大学作业,并不是第一个在这里要求所有印度公司的查询返回:stackoverflow.com/questions/57865489/… 显然,这通常不是家庭作业的工作方式,其他人在做你的任务,但没关系......
  • 提交作业时请给我学分:prefix dbo: &lt;http://dbpedia.org/ontology/&gt; select distinct ?company where { { ?company a dbo:Company; dbo:location|dbo:locationCountry|dbo:country dbr:India } union { ?company a dbo:Company; dct:subject/skos:broader* &lt;http://dbpedia.org/resource/Category:Companies_of_India&gt; } } order by ?company
  • 我知道 Flipkart 的 dbpedia 页面上没有 dct:description。我想知道适用于各种实体的通用键。对于所有 dbpedia 页面,它表示实体类型:。我想要所有实体的
  • “我知道 dct:description 在 Flipkart 的 dbpedia 页面上不存在。” - 你是否在查询中使用它,然后想知道为什么结果是空的?没看懂

标签: python python-3.x sparql dbpedia


【解决方案1】:

这是一个示例查询:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbr: <http://dbpedia.org/resource>
PREFIX dbo: <http://dbpedia.org/ontology>
SELECT DISTINCT ?obj WHERE{
<http://dbpedia.org/resource/Jim_Halpert>  rdf:type ?obj
FILTER strstarts(str(?obj), str(dbo:))}

在这种特殊情况下,我正在寻找实体的所有类型,使用 rdf:type 作为关系,将实际类型作为对象。如您所见,dbpedia 中的类型通过前缀 str(dbo:) 来区分。

Jim_Halpert_type:

【讨论】:

    猜你喜欢
    • 2015-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多