【问题标题】:SPARQL query on multiple RDF files对多个 RDF 文件的 SPARQL 查询
【发布时间】:2018-10-25 19:54:14
【问题描述】:

我有一些编程基础,但我对 RDF 或 Sparql 完全陌生,所以我希望在接下来的内容中能够清楚。 我正在尝试从http://data.camera.it/data/en/datasets/ 下载一些可用的数据,所有数据都以 rdf-xml 格式组织在一个本体中。

我注意到这个网站有一个在线 SPARQL 查询编辑器 (http://dati.camera.it/sparql),并且使用他们的一些示例,我能够使用 Python 检索和转换一些我需要的数据。我使用以下代码和查询,使用 SparqlWrapper

from SPARQLWrapper import SPARQLWrapper, JSON
sparql = SPARQLWrapper("http://dati.camera.it/sparql")
sparql.setQuery(
    '''
    SELECT distinct ?deputatoId ?cognome ?nome ?data ?argomento titoloSeduta ?testo 
    WHERE {
    ?dibattito a ocd:dibattito; ocd:rif_leg <http://dati.camera.it/ocd/legislatura.rdf/repubblica_17>.

    ?dibattito ocd:rif_discussione ?discussione.
    ?discussione ocd:rif_seduta ?seduta.
    ?seduta dc:date ?data; dc:title ?titoloSeduta.
    ?seduta ocd:rif_assemblea ?assemblea.

    ?discussione rdfs:label ?argomento.

    ?discussione ocd:rif_intervento ?intervento.
    ?intervento ocd:rif_deputato ?deputatoId; dc:relation ?testo. 
    ?deputatoId foaf:firstName ?nome; foaf:surname ?cognome .
    }

    ORDER BY ?data ?cognome ?nome
    LIMIT 100
    '''
)
sparql.setReturnFormat(JSON)
results_raw = sparql.query().convert()

但是,我有一个问题,因为该网站只允许下载 10,000 个值。据我了解,此限制无法修改。 因此,我决定将数据集下载到我的计算机上。我尝试处理所有这些 rdf 文件,但我不知道该怎么做,因为据我所知,SparqlWrapper 不适用于本地文件。

所以我的问题是:

  1. 如何创建一个包含所有 RDF 文件的数据集,以便像处理单个对象一样处理它们?
  2. 如何查询此类对象以检索我需要的信息?这可能吗?
  3. 这种推理方式是否正确?

感谢任何有关如何解决该问题的建议。 谢谢!

【问题讨论】:

    标签: python sparql rdf ontology sparqlwrapper


    【解决方案1】:
    1. 从他们的下载区域下载所有 RDF/XML 文件,以及Virtuoso 中的load them into a local instance(这恰好是他们用于公共 SPARQL 端点的引擎)。您将拥有运行更新版本(v7.2.5.1 或更高版本)的优势,无论是Open Source 还是Enterprise Edition,都比他们拥有的版本(开源 v7.1.0,从 2014 年 3 月开始!) .

    2. 使用新的本地 SPARQL 端点,默认位于 http://localhost:8890/sparql。您可以将其配置为对结果集大小、查询运行时等没有限制。

    3. 似乎很可能。

    (P.S. 您可以鼓励 dati.camera.it (assistenza-dati@camera.it) 上的人升级他们的 Virtuoso 实例。还有大量的性能和功能增强功能等待着!)

    【讨论】:

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