问题标签 [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 投票
0 回答
55 浏览

sparql - 如何将过滤后的三元组从一个图表移动到另一个图表?

我正在使用 jena-fuseki 服务器。例如,假设我的默认图表具有以下三元组。

现在我想将 title hasReleaseyear>2015 的三元组从这个默认图移动到命名图http://example.org/mynamedgraph

我可以构建我想要移动的三元组

我可以在网上看到的是 MOVE 操作会将“所有”三元组从默认移动到这个命名图。如何在将三元组从默认图移动到命名图之前过滤它们。

0 投票
1 回答
159 浏览

jena - 在 Jena Fuseki 的命名图中添加新三元组时的推理

我正在尝试使用 Jena Fuseki 的 API 创建一个FusekiServer使用 OWL 模型的,包装在Dataset.

我想在向其中添加新的三元组Dataset(使用 SPARQL)时进行 OWL 推理,同时仍然能够创建命名图。

在我接下来的两个示例中,模型的打开方式如下:

我试过的:

  1. 使用以下方法,在加载模型时以及使用 SPARQL 添加新的三元组时执行 OWL 推理。另一方面,不可能创建一个新的命名图(如果我尝试这样做,我会收到一条错误消息,指出不支持此操作:java.lang.UnsupportedOperationException: DatasetGraphOne.add(named graph)我从创建的方式中了解到这Dataset一点。)。
  1. 使用以下方法,在加载模型时执行 OWL 实现。确实可以在命名图或“基础”图中添加新的三元组。另一方面,正如 OWL 模型所描述和预期的那样,在添加新的三元组时(无论它们是添加到基础图还是命名图中),都不会做出新的推论。

示例中加载的两个文件是简单模型和一些示例个体如下:

test_schema.ttl

测试数据.ttl

我使用 SPARQL 插入的三元组以测试推理是否完成,它们只是如下内容:

ex:Alice ex:hasParent ex:Bob

为了看看他们是否都被推断出他们是的事实ex:Person

我见过用 Fuseki、TDB 和命名图进行推理吗?但问题更多的是关于 Fuseki TDB 和 Fuseki 的“汇编器”接口。我认为这个问题部分相关,但它没有为我的问题提供答案(这似乎更“基本”)。我还在 Jena 邮件列表上看到了线程Persisting named graphs in TDB with jena-fuseki,它部分地谈到了这个问题,但更面向 TDB 中命名图的持久性。

总结一下:如何使用 Jena Fuseki 编程 API 创建 SPARQL 端点,允许使用基本图和命名图概念,同时在添加新三元组时允许在运行时进行 OWL 推理?可能吗 ?我错过了什么吗?

0 投票
0 回答
92 浏览

rdf - 清除 GraphDB 免费中的命名图很慢

通过带有 clear(context) 函数的 rdf4j 清除具有多个三元组的命名图很慢。甚至,通过 graphdb 接口 http://localhost:7200/graphs 手动删除命名图也很慢。我尝试根据这些指南使用 JVM 内存。我的服务器有 64GB 内存,我用 40GB JVM 内存调用 graphdb,'graphdb.page.cache.size' 被设置为默认值 '17.8G':

但是清除命名图时没有时间改善。大约需要 40 秒。

有什么建议吗?

0 投票
1 回答
52 浏览

neo4j - Neo4j 持久命名图

我来自 RDF 世界,其中命名图是持久的,可以像三元组的集合一样使用。此外,您可以查询单个命名图或整个三元组。我正在 Neo4j 中寻找相同的功能(或实现它们的解决方法)。

Neo4j 的 Graph Catalog 有据可查。据我了解,Neo4j 中的命名图完全存储在内存中(重启后会丢失),其中包含您为分析目的定义的节点子集。

有没有办法在 Neo4j 中创建名为图形的持久性?与数据一起存储在磁盘中并允许快速访问节点子集的图(可以从命名图中添加或删除节点)。

0 投票
1 回答
96 浏览

merge - 用于合并 RDF 数据立方体的 SPARQL 查询

我正在从事一个存储 2 个 RDF 数据立方体的项目:

  • 气候数据立方体:湿度数据集、降雨数据集、温度数据集
  • 行业数据立方体:行业数据集 两个数据立方体都以命名图的形式存储在 GraphDB 数据库中。这些图表的每个数据集都具有相同的维度:时间和年份。现在我需要将这些数据集合并在一起进行数据探索。假设我们以下观测包含河内市 2016-2017 年的气候和工业数据:

图:http ://sda-research.ml/graph/climate

图:http ://sda-research.ml/graph/industry

现在我想合并 2 个输出图表,其中包含 2016-2017 年河内的湿度和行业价值。在 GraphDB SPARQL Endpoint 上,我使用了以下查询:

预期输出:

实际输出:

使用 UNION 时如何删除空值,或者您是否有任何查询可以提供正确的预期结果?

0 投票
1 回答
86 浏览

python - 无论如何,是否只能使用 python 从 aws neptune 备份/归档命名图形数据?

Neptune 具有快照功能,但它不会备份单个命名图,而是备份整个集群。无论如何它可以专门获得仅给出图形名称的备份吗?(sparql)

0 投票
2 回答
93 浏览

sparql - SELECT FROM DEFAULT 实际上是做什么的?

Sparql 有一个“默认图”的概念,当没有指定图上下文时查询它,并且它(取决于三重存储)可能是存储库中可用的适当图的联合,或者它可能是一个单独的“空图形”; 到目前为止,一切都很好。

但是 sparql 也有一个可以指定的关键字来代替图名,如DEFAULT

这个命令有什么作用?我只能将其解释为一种明确的方式来请求在根本没有 FROM 子句时会发生的相同事情。但这是正确的吗?我找不到有关它的文档。那么在更新查询中使用它,或者使用CLEAR,COPY等呢?谁能指出这个关键字的含义和预期用途的文档,或者至少阐明它为什么存在?

0 投票
0 回答
106 浏览

sparql - 使用命名图对三元组进行版本控制

我正在管理一个命名图(每个命名图模式有多个资源),并且需要更新命名图以进行版本控制图的任何更改。

首先,我有一个当前版本的命名图。

问题陈述:每当我收到一个 delta turtle 文件(ttl 将只有更改的三元组),必须创建一个名为 graph 的新版本,其中包含 delta 更改(当前版本 + delta)。 命名图版本图

我将命名图 v1 发布到一个新的命名图 V2。尝试 HTTP PUT 和 PATCH 进行更新,但它只是用增量文件替换它(我需要在新命名图中保留未更改的节点)。

是否可以使用我在 SPARQL 1.1 Graph Store HTTP Protocol 中阅读的 HTTP PATCH 来做到这一点:

然而,对于 PATCH,封闭的实体包含一组说明,描述如何修改驻留在源服务器上的 RDF 图内容以生成新版本。

感谢是否有人可以给我一些指示或想法以达到解决方案。谢谢。

0 投票
1 回答
22 浏览

sparql - Sparql 查询以在不知道名称的情况下从所有命名图中读取

我正在寻找对任何数据集运行 SPARQL 查询。我们不知道数据集中命名图的名称。

当您知道命名图的名称时,这些是大量文档和从命名图中选择的示例。有显示列出命名图的示例。

我们正在从 Java 运行 Jena,因此可以运行 2 个查询,第一个获取命名图,我们将它们注入第二个。

但是,当您不知道它们的名称时,您肯定可以编写一个从所有命名图读取的单个查询吗?

注意:我们希望避免使用默认图形,因为它们的行为似乎依赖于实现。