问题标签 [named-graphs]

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 回答
456 浏览

sparql - SPARQL:查询默认图

使用 RDF 查询语言 SPARQL,我试图找到一种方法来对不在命名图中的任何内容进行布尔查询(或任何其他查询)。

在空的命名图中找不到任何关于专门搜索的文档。还尝试用null<>empty无)替换。

0 投票
1 回答
120 浏览

graphdb - 使用 preload 或 loadrdf 工具将数据加载到 graphdb 时如何指定“命名图”?

使用 GraphDB 工作台,它可以指定“命名图”来加载 RDF。但是如何使用命令行工具、preload 或 loadrdf 指定“命名图”?谢谢!

0 投票
1 回答
216 浏览

graphdb - 使用图存储 API 从命名图中检索三元组

我正在尝试使用图形存储 HTTP 协议从存储库中的命名图形(名称是 URI)中检索所有语句。我在 Windows 10 上使用 8.10 版 GraphDB 安装。

安装报告 API 的可用性:/repositories/{repositoryID}/rdf-graphs/{graph}

但是,将 {graph} 替换为 URI 会导致报告 No Handler Found 错误或 noslash 错误(如果 URI 已编码)。

我尝试过未编码的 URI 和编码的 URI。引用的规范SPARQL 1.1 Graph Store HTTP Protocol建议 ?graph={graph} 可能是必需的,但这也失败了。

一些例子:

未编码

11:14:50.901 [http-nio-7200-exec-2] 警告 oswsmsDefaultHandlerExceptionResolver - 已解决 [org.springframework.web.servlet.NoHandlerFoundException:未找到 GET /repositories/foodandwine/rdf-graphs/ http://www的处理程序.w3.org/TR/2003/PR-owl-guide-20031209/food]

用 %2e 替换 ":"

11:14:59.583 [http-nio-7200-exec-10] 警告 osweb.servlet.PageNotFound - 找不到 GET /repositories/foodandwine/rdf-graphs/http%3e//www.w3.org/TR/ 的处理程序2003/PR-owl-guide-20031209/食物

用 %2e 替换 ":" 和用 %2f 替换 "/"

消息 URI 无效:noSlash

描述 由于被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性请求路由),服务器不能或不会处理请求。

我确信我错过了一些非常简单的事情,但如果能朝着正确的方向前进,我将不胜感激。

0 投票
1 回答
310 浏览

sparql - AllegroGraph SPARQL:从默认图和命名图中删除

使用 AllegroGraph 6.4.6

我正在尝试根据定义的四边形生成单个 SPARQL DELETE 查询:


我能够生成一个 SELECT 查询来确定所有四边形的存在:

  • 返回指定的所有四边形VALUES
  • <1> <2> <3> <4>不会被退回。

下一个查询是尝试创建 DELETE 查询,但有一些问题(注意选项 1选项 2注释):

  • 选项 1未注释时,将返回错误消息:

    /li>
  • 选项 2未注释时,仅删除指定的命名图三元组:

    /li>
  • 评论选项 1选项 2后,每个三元组都会被删除,即使是<1> <2> <3> <4>我们没有尝试删除的三元组。

    /li>
0 投票
0 回答
192 浏览

sparql - SPARQL 查询失败:SELECT FROM

我想尝试本文中的一些示例,但根据我使用的 SPARQL 查询处理器,我得到的结果非常不一致。我已经尝试了最基本的例子:

这适用于http://sparql.org/sparql.html,但我尝试过的所有其他处理器都失败了,例如http://sparql-playground.sib.swiss/https://dbpedia.org/sparql等.这些都没有结果。https://query.wikidata.org/产生错误Unknown error: NAMED clauses in queries are not supported in triples mode.

谁能解释为什么这个查询失败?

0 投票
1 回答
166 浏览

sparql - SPARQL:每个命名图中的语句数

以下查询返回存储库中的语句数:

有没有办法返回每个命名图的语句数?

以下查询不起作用,仅作为示例:

  • 我意识到COUNT不能在 中WHERE,也不能带变量。
0 投票
0 回答
242 浏览

sparql - SPARQL:将带有命名图的 CONSTRUCT 查询转换为 SELECT 查询

您无法使用SPARQL 1.1CONSTRUCT查询中指定GRAPH

  • 我将上面的查询称为GRAPH CONSTRUCT查询

我的想法是可以通过将GRAPH CONSTRUCT查询转换为SELECT查询来获得预期的结果。我们通常期望一个长度为 4 的数组表示一个 RDF 四边形,因此能够使用GRAPH进行CONSTRUCT会很有帮助。

转换的过程意义不大,考虑到所有极端情况,我对从GRAPH CONSTRUCT查询到SELECT查询的结果格式更感兴趣。

我也很感激一个答案,它解释了为什么使用SELECT查询很难做到这一点。


问题

考虑到所有极端情况,如何针对GRAPH CONSTRUCT查询格式化SELECT查询?

我们将假设SELECT查询结果将大致转换为如下所示的GRAPH CONSTRUCT结果,但我们不会担心被跟踪变量的格式或此转换的过程。

  • 伪代码粗略表示获取GRAPH CONSTRUCT结果的过程

示例答案

(参考顶部的GRAPH CONSTRUCT查询)

  • GRAPH CONSTRUCT中的所有文字都转换为唯一变量
  • WHERE中转换的文字的每个实例都转换为那些唯一的变量名称。
  • VALUES块被添加到WHERE的末尾,它表示所有转换后的文字
0 投票
2 回答
293 浏览

sparql - SPARQL 查询上下文中的“数据集”是什么?

SPARQL 规范提到该子句FROM可用于指定数据集。

FROMSPARQL 查询可以通过使用子句和FROM NAMED描述 RDF 数据集的子句来指定要用于匹配的数据集。

SPARQL 上下文中的“数据集”是什么?我对一般数据库非常熟悉,并且我原则上理解,然后对数据集执行对以 SQL 等语言表达的数据的查询,以解析该数据集的某个子集。

我试图理解以下查询:

所以从规范文档中我原则上理解

  1. 指定了 4 个数据集,并且(我认为)
  2. 定义了一个“RDF 数据集”

然而。FROM如果我省略andFROM NAMED子句,查询实际上会执行(但结果略有不同) :

这么清楚???已经指定了一个数据集。是通过prefix?

问题:

  1. 为什么RDF dataset与常规数据集(FROMvs FROM NAMED)的标识不同
  2. 前缀的 URI 实际上在FROM语句中被重用。FROM前缀和子句有什么区别?

这个问题 -在 SPARQL 查询中指定数据集- 展示了如何指定数据集,但没有解释在 SPARQL 查询的上下文中以及在 SPARQL 查询被解析为实际数据的上下文中这意味着什么。

这个问题 - SPARQL 查询中的 FROM 子句 - 提到没有 FROM 子句的 SPARQL 查询是针对默认数据集执行的。但是,为什么省略所有数据集仍然会导致查询返回数据呢?

0 投票
1 回答
271 浏览

sparql - SPARQL 在内存中查询 GRAPH 联合?

我在读一本书时遇到了这条线:

“SPARQL FROM 子句提供了另一种定义自定义联合图的方法。FROM 子句用于标识查询的默认图。最典型的用途是标识单个 RDF 图。但是,如果在查询中指定了多个 FROM 子句然后这些图的内容被合并(通常在内存中)以提供一个联合图,它将形成查询的默认图。因此,SPARQL 的这个特性可以提供另一种方法来组装一个有用的与图无关的数据集视图。 "

这里它说“这些图被合并(通常在内存中)以提供联合图”。

我是 Apache Jena 的新手,所以这让我想到这么大的 GRAPH 联合是否发生在内存中?

所以我使用 TDB 来存储我的图,并使用 SPARQL 查询它们,我想查询“在多个 FROM 子句中给出的 2 个特定图的 GRAPH 联合”或“所有命名图的 GRAPH 联合”:

这些 UNION 会在我使用 ARQ 查询 TDB 的 Java 代码中发生在内存中吗?

由于 Graphs 可能很多,这不会导致 OutOfMemory 错误很多次吗?

这似乎是菜鸟问题,请原谅我在耶拿的初学者经验。

0 投票
2 回答
282 浏览

sparql - GraphDB 上的图形 URI

SPARQL 图的概念对我来说仍然是抽象的。

图表是否类似于 SQL 表?一个三元组可以属于多个图吗?

有没有办法获取属于三元组的图的 URI?

有没有办法获取存储在 GraphDB 存储库中的每个图的 URI?获取默认图的 URI?

谢谢,