从DBpedia中提取信息

Tas*_*sos 1 python semantic-web sparql dbpedia

我正在开发一个项目,我想使用DBpedia.我有几百个DBpedia链接

什么是更好的时间使用:

  • 抓取这些页面并提取我想要的信息?
  • 使用Python的SPARQL查询查询数据?

Jos*_*lor 6

首先,请注意标识DBpedia资源的URI不是

与页面,但

与资源.其次,这将是多快使用SPARQL检索信息.SPARQL是RDF的查询语言,您希望获得RDF数据.您需要在SPARQL中获取有关FEMA的信息,这是一个描述查询:

describe
  dbpedia:Federal_Emergency_Management_Agency
Run Code Online (Sandbox Code Playgroud)

SPARQL结果

描述查询可以描述多个资源,因此您可以这样做,例如:

describe
  dbpedia:Federal_Emergency_Management_Agency
  dbpedia:Mount_Monadnock
  # more resources...
Run Code Online (Sandbox Code Playgroud)

SPARQL结果

如果您只想要某些资源的某些信息,您仍然可以使用select或construct查询执行类似操作,使用values并以编程方式注入您感兴趣的资源:

select ?label where { 
  values ?resource {
    dbpedia:Federal_Emergency_Management_Agency # put your values in here and
    dbpedia:Mount_Monadnock                     # ?resource will be bound to each
  }
  ?resource rdfs:label ?label .
  filter( langMatches( lang(?label), "EN" ))
}
Run Code Online (Sandbox Code Playgroud)

SPARQL结果

您还可以使用构造来获取模型中的三元组:

construct {
  ?resource rdfs:label ?label 
}
where { 
  values ?resource {
    dbpedia:Federal_Emergency_Management_Agency
    dbpedia:Mount_Monadnock
  }
  ?resource rdfs:label ?label .
  filter( langMatches( lang(?label), "EN" ))
}
Run Code Online (Sandbox Code Playgroud)

SPARQL结果