【问题标题】:Run SPARQL Queries on Drupal Nodes在 Drupal 节点上运行 SPARQL 查询
【发布时间】:2011-05-03 20:23:11
【问题描述】:

有没有办法在为某些类型的节点生成的 RDF 上运行 SPARQL 查询? 例如,如果我有一个由 FOAF 本体描述的名为 People 的内容类型,我可以在 People 类型的节点上运行 SPARQL 查询吗?

【问题讨论】:

  • 您是说将数据从一个站点拉到另一个站点吗?通常,使用 SPARQL 进行查询需要一个端点来查询 (en.wikipedia.org/wiki/SPARQL)。如果您只是想在自己的站点上查询某种类型的节点,您可以使用视图 (drupal.org/project/views) 针对它们构建任何类型的查询。如果您尝试查询其他网站,则可能需要提供其他信息来澄清您的问题。
  • 没有。让我举一个我正在寻找的例子,比如说,我有一个名为 User 的内容类型的节点。内容类型有一个名为 Skill 的字段,我想运行 SPARQL 查询来查找具有某种技能的用户。

标签: drupal drupal-7 rdf sparql


【解决方案1】:

如果您尝试从一个站点查询到另一个站点(请参阅我的评论),您应该能够使用SPARQL Views module 实现此目的。 This recent article 为将 SPARQL 与 Views 结合使用提供了极好的参考。

【讨论】:

  • 没有。让我举一个我正在寻找的例子,比如说,我有一个名为 User 的内容类型的节点。内容类型有一个名为 Skill 的字段,我想运行 SPARQL 查询来查找具有某种技能的用户。
【解决方案2】:

Drupal 中的 RDF 只是将 Drupal 数据库中已经结构化的数据映射到 RDF 术语。它旨在提高系统之间的数据互操作性,以便您可以在两个不同的站点之间交换数据。

如果您在一个 Drupal 安装中工作,您应该能够在不使用 RDF 的情况下访问您需要的数据。

您所描述的查询听起来像是可以在不使用 SPARQL 的情况下处理的查询,而是使用视图(只是一个常规的内容视图),根据您想要的技能进行过滤。

【讨论】:

  • 对,我确实使用视图实现了查询。但是,我想知道 Drupal 中是否有 OWL/RDF 推理器支持?还是说drupal中的RDF只能用你上面说的,增加系统之间的数据互操作性?目前,我已将节点类 RDF 导出到外部推理器 (Jena)。
  • 是的,Drupal 核心中的 RDF 工作专注于站点之间的数据互操作性。可能还有其他人致力于将推理与 contrib 模块集成,但没有任何公开的 AFAIK。
【解决方案3】:

有一个RDF SPARQL Endpoint module,但不再维护。但是它的页面表明您

Drupal 7RDF Extensions (RDFx) 模块和SPARQL 模块一起使用,包括相同的功能。

RDFx 页面说:

可以使用SPARQL 模块在 SPARQL 端点中提供站点 RDF 数据

这些页面上的“最后更新”日期有些旧,但模块的最新开发版本都是 2013 年。

【讨论】:

    猜你喜欢
    • 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
    相关资源
    最近更新 更多