问题标签 [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 回答
616 浏览

sparql - 在结果中使用聚合计数和图形查询多个图形

是否可以计算多个命名图中三元组的出现次数并将结果作为表中的行返回?如:

这是我尝试过的查询。

但结果是:

我试图避免写出:

因为可能有数百个图表可供查询。

0 投票
1 回答
213 浏览

sparql - SPARQL 到 Jena SDB 中的命名图

我想用 SPAQRL 查询我的 Apache Jena Triplestore。假设我的日期集中有一个命名图“namedGraph”。现在我使用以下 SPAQRL 进行查询:

我得到了整个模型的<namedGraph>价值?src。到目前为止,一切都很好,但是当我使用这个 SPARQL 时:

没有结果。我究竟做错了什么?谢谢。

0 投票
1 回答
2137 浏览

graph - 从和从 SPARQL 中的命名图

我对 SPARQL 中的图形FROM和图形感到困惑。我确实在SPARQL SpecificationsFROM NAMED中阅读了与这两个构造相关的规范。我只是想确认我的理解。

假设一个 RDF 数据集位于 IRI II由。。。制成由。。。做成:

  • 默认图表G
  • 3个命名图{(I1,G1), (I2,G2), (I3,G3)}

现在,假设我有一个 SPARQL 查询:

因此,如果我理解,为了评估这个查询,SPARQL 服务可能会在后面构造活动图,这个活动合并将包含:

  • 一个默认图,它是和的I合并I1
  • 命名图I2

这种理解对吗?

0 投票
2 回答
883 浏览

sparql - 在 graphdb repo 中使用多个数据集的上下文

我正在从事研究牙齿修复程序(即填充物)成功的研究项目。我们正在从多家牙科诊所收集数据,并将所有数据汇总到 GraphDB 三重存储中。我的问题与如何使用 GraphDB 上下文以将所有数据存储在一个存储库中有关,但仍然能够在需要时单独查询每个实践。我正在使用 GraphDB 的免费版 7.0.3 版和 GraphDB 工作台。

当我在 repo 中导入数据时,它让我可以选择指定上下文。我的理解是,这本质上是整个 RDF 图的子图。正确的?但我有点不确定这与基本 URI 有何不同。在示例页面中,基本 URI 和上下文都是相同的。

我对如何设置 repo 的一般想法是给它一个基本 URI,并为每个练习数据集保持基本 URI 相同,但在加载每个练习时更改上下文。例如:

  • 加载练习 1 数据:
    基本 URI:www.example.com/dental-practices/
    上下文:www.example.com/dental-practices/practice-1

  • 加载练习 2 数据:
    基本 URI:www.example.com/dental-practices/
    上下文:www.example.com/dental-practices/practice-2

  • 加载练习 3 数据:
    基本 URI:www.example.com/dental-practices/
    上下文:www.example.com/dental-practices/practice-3

... 等等 ...

要查询所有数据的聚合(我想),我会使用未指定图形的 SPARQL 查询。例如,要查找所有患者:

但是,我将如何查询特定的做法?我会指定一个图表还是使用“来自”键。例如:

或者

最后,有谁知道哪里有解释如何有效使用上下文的页面/文档?

0 投票
1 回答
246 浏览

sparql - 使用 SPARQL 在三重存储中查找图

我一直在使用以下 SPARQL 查询来查找三重存储中的图形:

这似乎效率低下。

有没有更好的办法?

0 投票
1 回答
2827 浏览

sparql - SPARQL 插入新图

我是 SPARQL/图形数据库的新手,正在尝试将一些数据插入到我的图形数据库中的新命名图形中。

当我运行此查询时,会创建图“new_graph”,但它不包含任何数据。如果我使用 SELECT 语句运行相同的查询,它会返回它应该返回的数据,因此问题可能出在查询的 INSERT 部分。

0 投票
0 回答
346 浏览

sparql - 如何在 Jena TDB 中查询特定的命名图?

我在这里尝试耶拿的教程。我在这个问题上遇到了类似的问题,但它并没有解决我的问题。我已经将数据加载到 tdb 中,当我使用 查询时SELECT DISTINCT ?g {GRAPH ?g {}},结果如下:

但是当我尝试在 tdb 中使用以下查询进行查询时,我没有得到任何结果。

根据我上面提到的类似问题,@RobV 提到

如果您得到一个绝对 URI,那么您可以直接在原始查询中指定它,如果没有,则无法从命令行查询它。

我想问一下是真的吗?如果是这样,我如何使用 API 来执行这个查询?我的代码如下:

但我仍然得到现在的结果。我不确定如何选择多个模型,无论它是默认模型还是命名模型。

0 投票
1 回答
567 浏览

sparql - 在 Openlink Virtuoso 中加载和查询默认和命名的 RDF 图

我对OpenLink Virtuoso还很陌生,我对加载 RDF 图和通过 Java 和 Virtuoso Jena Provider 对它们执行 SPARQL 查询有一些疑问。

我在运行Ubuntu 16.04桌面版的 PC 上安装了Virtuoso 版本。06.01.3127另外,我使用 Virtuoso Jena Provider 3 和 Virtuoso JDBC 4 Driver。

我想运行调用默认图和命名图的 SPARQL 查询,如下所示:

因此假设存在一个默认图 ( http://test.org) 和一个命名图 ( http://testA.org)。

我尝试使用VirtDataset如下:

但是,它最终会出现以下错误:Model1.read(RDF1InputStream, null, "TTL");

DB.DBA.rdf_insert_triple_c缺少程序吗?我怎样才能解决这个问题?

作为替代方案,我尝试使用VirtGraph如下:

这似乎工作正常。

请注意,在GRAPHSPARQL 查询的声明中,我使用GRAPH ?gthenFILTER (?g=<http://testA.org>)来指定命名图。

如果我GRAPH <http://testA.org>改为使用,则根据查询结果解析查询,但GRAPH声明似乎被忽略。

GRAPH在 Virtuoso 的 SPARQL 查询中调用的正确方法是什么?

一般来说,我想知道在 Virtuoso 中处理 RDF 数据集和调用默认和命名 RDF 图的 SPARQL 查询的最佳实践是什么?

我已经对这些问题进行了谷歌搜索,但我没有看到一个有启发性的例子。

抱歉发了这么长的帖子,提前谢谢你!

0 投票
1 回答
466 浏览

sparql - SPARQL 查询在 Fuseki 中有效,但在 Jena TDB 中无效

我将我的数据组织在多个图表中。保存三元组的图表很重要。数据结构很复杂,但可以这样简化:

我的商店包含蛋糕,其中有不同蛋糕类型的层次结构,所有子类<cake>

根据用户在 UI 中创建它们的方式,它们最终会出现在不同的图表中。例如,如果用户“烤”了一个蛋糕,它就会出现在<http://example.com/homemade>图表中,如果他们“买”了一个,它就会出现在<http://example.com/shopbought>图表中。

当我从商店取回蛋糕时,我想知道每个蛋糕是自制的还是商店购买的。这没有属性,我想完全基于存储三元组的图形来检索信息。

我尝试了各种方法来实现这一点,但它们都不能在 Jena TDB 中工作。问题是所有蛋糕都以“商店购买”的形式返回。然而,所有查询都在 Fuseki 中工作(在确切的 sae 数据集上),我想知道这是 TDB 错误还是有其他方法。以下是简化的查询(没有变化):

版本 1:

版本 2:

任何想法为什么这在 Fuseki 中有效但在 TDB 中无效?

编辑: 我开始认为它与 GRAPH 关键字有关。下面是一些更简单的查询(在 Fuseki 和 tdbquery 中工作)以及我使用 Jena API 得到的结果:

0 个结果

0 个结果

x 结果

0 个结果

0 个结果

0 投票
0 回答
184 浏览

sparql - 查询命名图但从本体中获取标签

我的数据使用命名图进行分区。一张图包含我的本体和类的人类可读标签。数据又被分成许多图表,ex:data1, ex:data2, ... ex:data5000

现在我希望独立查询每个数据图,同时使用本体中的标签。首先,我认为这将是微不足道的,但后来我发现 SPARQL 中的范围界定可能有点令人困惑。举个简单的例子:

选择具有各自实例标签的所有实例。还从本体中检索与每个实例关联的可选类和类标签。

如果两个组的范围都class延伸,我希望以下查询可以解决问题:

如果类是绑定的,结果将是我想要的,因为这两个组是联合的;但是,由于作用域?class可以绑定到本体中的任何内容,如果它未绑定在第一组中。

我正在编写的查询有大约 15 个类似的可选字段(非常昂贵的连接......)。当我尝试用它重写时UNION,由于原始查询的大小,它很快变得非常笨拙。我也尝试过嵌套查询,但这给了我同样的范围问题。有没有人有一些我忽略的 SPARQL 技巧?任何有关如何解决此问题的建议将不胜感激。