问题标签 [federated-queries]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
221 浏览

java - 在联合查询上构建 RDF 图?

我是 SPARQL 和 RDF 的新手。基本上,我必须设计基于 Wikidata 和 Dbpedia 的联合 SPARQL 1.1 查询。

这是我的简单查询。这将选择由莱昂纳多迪卡普里奥主演的电影。

我必须在上面构建一个图表。任何人都可以帮助我进行此类查询吗?我正在 Apache Jena 上对其进行测试。

0 投票
1 回答
1051 浏览

sparql - 如何使用 SPARQL 从 DBpedia 中提取数据

我正在尝试使用SERVICESPARQL 的功能从 dbpedia 中提取一些数据。

事实上,我想提取所有纽约剧院的名称、纬度和地段。要检查一个实例是否是一个剧院,我可以使用http://dbpedia.org/class/yago/Theater104417809​</a>。剧院的一个示例可以是http://dbpedia.org/resource/Grand_Theatre_(New_York_City)

如何使用service函数在 SPARQL 中获取我需要的内容?

**编辑**

我正在尝试的查询是以下查询,但没有返回任何值。

0 投票
1 回答
263 浏览

sparql - 比较联合查询中的标签

我有一个正在运行的 Wikibase 实例。我能够成功地使用 Wikidata 运行联合查询。我有一些比较这样的标签的查询:

但是,以上内容可以通过标签进行匹配和匹配:

1)我最初filter(contains(?wditemlabel, ?itemLabel))在 SERVICE 子句中,它没有返回任何结果。但是,如果我对其中一个变量(例如filter(contains("test string", ?itemLabel)))使用静态字符串,它似乎可以工作。为什么比较变量和字符串而不是两个变量时会起作用?

2)我希望查询在最后没有“分组依据”的情况下工作。但看起来没有它,会发生某种交叉连接/笛卡尔积,并且每个匹配的项目都会重复总次数(n * n)。查询的哪一部分导致了这种情况?

0 投票
1 回答
199 浏览

sparql - Blazegraph bigdata.war 2.1.5 允许来自“外部”的 SPARQL SERVICE

我在 OSX 系统上的 tomcat 上运行 bigdata 2.1.5。这给出了一个 /bigdata/ URI,它显示了 Blazegraph 的正在运行的 html 控制台。这个大数据实例“DBPedia”正在使用内部带有 DBPedia 三元组的日志。DBPedia 显示在控制台上,三元组是可查询的。

当我使用来自 - 比如说 - https://query.wikidata.org/ - URI server/bigdata/namespace/DBPedia/sparql 的那个大数据实例时 - 不使用那个 URI,分别。调用 SPARQL 引擎会引发找不到服务的异常。

Blazegraph 有一个页面 - https://wiki.blazegraph.com/wiki/index.php/FederatedQuery - 它以某种方式描述了为了运行联合查询而要做的事情(尽管我只想调用我的大数据实例从外部 - 这也是一个联邦)......你应该在 bigdata 的 web.xml 中更改(取消注释)一个参数化块,比如

我改变了那个块但没有成功。可能只是为了能够从该大数据实例调用另一个其 URI 必须被列入白名单的服务。所以我被困在弄清楚如何从 - 比如说 wikidata - SPARQL 引擎调用我的大数据实例......

任何人的想法?

0 投票
1 回答
784 浏览

sparql - 如何在 SPARQL 中将字符串与变量绑定

以下查询

"corelli"从 Europeana 知识库中的一些作品中计算出一些标题。但是,当我尝试将变量?surname与字符串绑定时,"corelli"它什么也不返回。

例如

FILTER REGEX表达式似乎在那里不起作用(我正在使用 Blazegraph 实例来计算此查询)。如果我使用str(?surname)而不是?surname.

为什么会这样?

任何人都知道可以做些什么来设置 ?surname 一些字符串值(我可能想从另一个端点收集)并让查询找到数据?

0 投票
2 回答
413 浏览

sparql - 在联合查询中使用 Wikidata 标签服务

我想知道是否可以在联合查询中使用 Wikidata 标签服务。例如,以下查询

返回空?itemLabels。我怎样才能在我的结果集中获得?itemLabels ?

0 投票
1 回答
213 浏览

sparql - 如何从 SPARQL 联合查询(服务关键字)返回特定变量?

我正在使用联合查询从远程服务器检索一些信息,但我不想检索我在联合查询中处理的所有变量(选择 *),我只想返回计数变量. 我怎样才能做到这一点?

代码:

如果不是联合查询,我会这样做:

但是在联合查询中我无法选择变量,那么有没有办法做我想做的事?

** 编辑 1 **

在@TallTed 回复之后,我注意到我可能跳过了一些细节以使问题变得简单,但事实证明细节很重要,所以我将描述整个情况。

我有一个本地数据集,其中包含有关生物过程和基因的三元组。我必须计算与每个生物过程相关的基因数量,并将该数字除以 Uniprot 中确定的关于相同生物过程(及其“子代”)的蛋白质总数。

为此,我首先查询我的本地数据集,计算每个生物过程的基因,然后运行联合查询来计算 Uniprot 中每个生物过程(及其“子代”)中所有已识别的蛋白质。

完整的 SPARQL 代码:

当我使用 Jena ARQ(一个查询引擎)运行这个查询时,变量?bp_iri在 HTTP 请求的时刻被一个特定的生物过程 IRI(每个生物过程一个 HTTP 请求)替换,如下图所示:

联合查询的 SPARQL 说明

请注意,在explain图像中,联合查询正在选择所有内容 (*),但问题是我不想检索我在联合查询中处理的所有这些关系,我只想检索计数但计数是一个聚合函数,只允许放在SELECT关键字前面。(我不想检索所有的关系,因为这些查询返回了很多三元组(数万,有时是数百万),并且没有必要将它们放在我的计算机中只是为了计数。)

为了解决这个问题,我尝试在联合查询中创建一个子查询,以仅选择计数 ( ?bp_total) 而不是所有三元组。使用的代码:

再次运行explain,我注意到当我在联邦查询中放置一个子查询时,变量?bp_iri并没有被生物过程 IRI 替换,如下图所示:

<code>解释</code>联合查询中的子查询

考虑到这一点,我怎样才能只从联合查询中检索计数?

对不起,很长的帖子。

0 投票
1 回答
191 浏览

sparql - 在联合查询中正确使用 VALUES

注意:可能的 GrapbDB 错误(见评论)

我在 GraphDB 中有这个知识库:

我试过这个联合查询

我从 Wikidata(即 Musashi 的 Marble 成员)得到了预期的结果。

如果我像这样切换模式的顺序:

我得到了许多误报结果(即,属于 Musashi 的其他猫的数据,而我只想得到 Marble。我猜是本地模式和远程模式之间的一种交叉产品)。

在SPARQL 1.1的官方文档中,他们说:

联合查询可以使用 VALUES 子句来约束从远程端点接收到的结果,该结果基于解决方案绑定来评估查询的其他部分。

(摘录内容丰富。感谢@TallTed 指出这一点)

那么,在联合时,VALUES只能作为最终过滤器使用吗?到底是怎么回事?

编辑:

  • 使用 GraphDB 执行查询
  • 这似乎是 GraphDB 查询优化器的一个错误(感谢:Stanislav Kralin)
0 投票
1 回答
199 浏览

tomcat - 具有受保护端点的 SPARQL SERVICE

我需要使用受保护的端点在 SPARQL 中制定联合查询,例如:

不幸的是,在 SERVICE 规范中没有提示如何做到这一点。https://mysqparlendpoint/sparql应该是 tomcat 上的 blazegraph,其访问是基本安全的。

如何制定此 SPARQL 查询访问使用凭据打开它的端点?

提前非常感谢!

0 投票
0 回答
414 浏览

sparql - dbpedia 和 wikidata 中的联合 SPARQL 查询:几个问题

我有以下查询:

我的问题是:

  • 如何更改查询以使用http://lod.openlinksw.com/sparql而不是http://dbpedia.org/sparql以获得更多结果?

  • 即使我使用了 DISTINCT 和 GROUP BY,仍有人在结果列表中出现不止一次(即“Anton Newcombe”)。为什么?

  • 在 dbpedia 中,一个资源可以有多个 URI,其中一些重定向到另一个。即dbp:Psychedelic_Rock附加了资源,但重定向到dbp:Psychedelic_rock,这实际上似乎是应该使用的 URI。如何在查询中解决此问题,而无需先手动查找DESCRIBE dbp:Psychedelic_Rock?大概有什么dbo:wikiPageRedirects