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

sparql - 命名图和联合 SPARQL 端点

我最近遇到了SPARQL 1.1 联合扩展的工作草案,并想知道这是否已经可以使用命名图(不要减损上述草案的有用性)。

我对命名图的理解有点模糊,除了我从阅读规范中得到的唯一一件事包括关于合并的规则,在查询时与其他图相关的非合并。由于这不能完全满足我的理解,我的问题如下:

给定以下查询:

假设查询处理器/端点可以或应该在命名图的上下文中执行以下操作是否合理:

  1. 检查命名图是否在本地存在

  2. 如果没有,则执行以下操作(在上述查询的情况下,我将使用第二个命名图)

    GET /sparql/?query=EncodedQuery HTTP/1.1 主机:www.autotrader.co.uk 用户代理:my-sparql-client/0.1

其中 EncodedQuery 仅在子句中包含第二个命名图,并且FROM NAMED子句针对子句进行了WHERE相应的修改GRAPH(例如,如果GRAPH <http://www.vw.co.uk/models/used> {...}正在使用 a)。

只有当它不能执行上述操作时,才执行以下任一操作:

或者

  1. 返回适当的搜索结果。

OFFSET显然,围绕's 和LIMIT's可能还有一些额外的考虑

我还记得很久以前在遥远的星系的某个地方读到,任何 SPARQL 端点的默认图都应该是根据以下约定的命名图:

对于:http://www.vw.co.uk/sparql/应该有一个命名图:http://www.vw.co.uk代表默认图,因此按照上述逻辑,它应该已经可以使用命名图来联合 SPARQL 端点。

我问的原因是我想在上面的例子中开始促进跨域的联合,而不必等待标准,确保我不会做一些不合时宜或与其他东西不兼容的事情未来。

0 投票
1 回答
391 浏览

rdf - 芝麻 rdfstore 命名图

  • 我正在使用 sesame HTTP api 及其内存 rdf 存储。
  • 我在上下文/命名图中加载数据/三元组
  • 我使用命名图/上下文进行查询

我有两个问题:

  • 在同一个存储库中,一个图节点可以在不同的命名图之间共享吗?

    • 我的用例是我从graph1中过滤数据并将其放入graph2中。那么节点是否共享 b/w graph1 和 graph2?
  • 在 GET 操作期间查找命名图是 O(1) 操作吗?或者使用命名图有性能优势吗?

0 投票
3 回答
1552 浏览

sparql - 具有大量 UNION 的 SPARQL 查询的替代方案

我有一些命名图存储在 Virtuoso 中,我想从提供的列表中找到与最多术语匹配的图。

我的查询是以编程方式构建的,如下所示:

每个术语成为另一个 UNION 子句。

有一个更好的方法吗?查询变得又长又难看,当术语太多时,Virtuoso 会抱怨。

0 投票
2 回答
6938 浏览

sparql - 构造成命名图

我正在尝试使用 SPARQL Construct 查询从现有的命名图创建一个新的命名图。我正在查询的数据库包含http://graph.com/old一个现有的命名图。我使用Jena TDB作为数据库,通过Jena Fuseki端点访问。下面的查询给了我一个错误:

如果我从 CONSTRUCT 块中删除图形语句,查询将完美运行,但我想将三元组放入我指定的命名图形中,而不是默认图形。

据我所知,关于 CONSTRUCT 的 SPARQL 1.1 部分没有说明任何关于构建命名图的内容。有没有办法做到这一点?

0 投票
1 回答
1293 浏览

sparql - 单四边形 + 最基本的 SPARQL 查询 = Jena 中的 1 个结果,Sesame 中的 2 个结果 - 谁是对的?

仅将这个四边形添加到空商店:

然后执行这个 SPARQL 查询(取自 Bob DuCharme 的书 'Learning SPARQL',所以这必须是标准的 SPARQL 用于检索整个数据集的所有四边形,无论实现如何,对吧!?):

但是耶拿和芝麻的回答不同!!?这是我看到的:

Tomcat 6.0.37 上的 Jena Fuseki 控制台(版本 2.10.0 - 开箱即用,没有配置更改!) - (据我了解的正确答案):

Tomcat 6.0.37 上的 Sesame Workbench(版本 2.7.3 - 开箱即用,无配置更改!):只需使用工作台中的“添加”功能手动添加上述四边形(选择了“N-Quad”在“数据格式”下拉框中),在“输入您要上传的 RDF 数据”编辑框中,然后运行上述查询:

所以这对于开始关注 RDF 的人来说有点可怕——我在这里错过了什么?我认为 Sesame 不可能是“错误的”——所以我想它一定是我的“解释”(或者 Bob 的查询不是“标准 SPARQL”,因此不同的实现可以自由地返回不同的结果)——任何启示都会非常欢迎 :) !

0 投票
1 回答
666 浏览

sparql - tbloader vs SPARQL INSERT - 为什么命名图的行为不同?

ARQ、TDB 和 Named Graphs 的命令行工具的连接有一个奇怪的行为。如果在命名图中通过 tdbloader 导入数据,则无法通过 SPARQL SELECT 查询中的 GRAPH 子句进行查询。但是,当使用 SPARQL INSERT 在同一个图中插入数据时,可以进行此查询。

我有以下汇编器描述文件tdb.ttl

文件data.ttl中有一个数据集:

现在,我使用 tdbloader 插入这些数据,然后使用 SPARQL INSERT 插入另一个三元组,两者都在命名的图形数据中:

现在,可以通过以下方式使用 SPARQL 查询数据:

一切似乎都很完美。但现在我只想查询这个名为 graph data的特定名称:

为什么从 tdbloader 导入的数据丢失了?这个查询有什么问题?如何从两个导入中获取结果?

0 投票
1 回答
715 浏览

sparql - Generate Graph with sub-Graphs using sparql

I have the following situation in my RDF-store:

Named Graph: A

Named Graph: B

Named Graph: C

I now want to define a SPARQL Query which finds all Graphs where O1 is in the tripples, and stores those 3 Graphs + the tripples in a new Graph with the name A+B+C

NEW Named Graph: A+B+C

With Construct or insert Into i only found out how to build a graph out of tripples, bzw not how to build a graph which contains graphs?

Is this possible, if yes how?

Tank you

0 投票
2 回答
209 浏览

sparql - SPARQL 1.1 蕴含机制和使用 FROM 子句的查询

我目前正在记录/测试有关 SPARQL 1.1 蕴含机制的信息,并且该建议反复指出

范围图与活动图等效

但它没有指定活动图指的是什么:它是查询中使用的数据集吗?商店中所有图表的联合?

作为确定这一点的测试,我<http://www.example.org/>在 Sesame Memory 存储中使用 RDF Schema 和直接类型推理存储(v2.7.14)将此图 URIed

我一直在尝试以下查询(这意味着使用默认图,因此使用推理引擎)

正如预期的那样,它返回了所有三个实例

而查询:

只返回

在上述情况下,两个结果不应该相同吗?

如果数据和模式在存储中的两个图之间拆分(如<urn:rdfs-schema>and <urn:data>,甚至分散在更多图上)并且查询使用两个图(或与模式相关的图的子集) FROM 子句而不是默认图?

这意味着推理应该在整个商店中是全局的还是取决于查询数据集?

或者,该建议是否足够松散以使其成为依赖于实现的问题?

谢谢你的灯,

最大限度。

编辑这个问题被重定向到SPARQL 1.1 蕴含机制并使用 FROM 子句进行查询(后续)

0 投票
0 回答
115 浏览

sparql - SPARQL 1.1 蕴含机制和使用 FROM 子句的查询(后续)

这是SPARQL 1.1 蕴涵制度和使用 FROM 子句查询的后续问题

我目前正在记录/测试有关 SPARQL 1.1 蕴含机制的信息,并且该建议反复指出

范围图是图等价于活动图...

因此,推理范围图似乎取决于查询。

问题是:范围图是否源自查询的数据集(FROM/FROM NAMED 子句),还是指正在评估的三重模式的真​​实当前活动图上下文?

用下面的图

以下查询应该返回什么(例如,在 RDFS-entailment 制度下)并根据建议?

我应该取回所有三个资源:

要不就

因为三重模式上的活动图的范围是 NAMED 图,而推理公理在默认图中“定位”?

感谢您的洞察力,

最大限度。

0 投票
1 回答
662 浏览

java - 触发 Stardog 规则的 SPARQL 查询

我正在尝试自定义 Stardog 规则。自定义规则基本上如下所示:

我已经使用以下 java 代码上传了这个 ttl 文件:

由于我想将规则保存在单独的图表中,因此我已在http://url/rules图表中加载了规则三元组。默认图,tag:stardog:api:context:default在 Stardog 中表示,包含本体公理。当我使用以下 SPARQL 查询时,Stardog 规则按预期工作:

您可能想知道现在出了什么问题。我想我对 FROM 和 FROM NAMED 子句的理解有误。当我离开FROM <http://url/rules>查询时,我期望查询没有结果。然而,我仍然得到与原始查询一样的结果。这怎么可能?这就是我对这些条款的看法:

  • FROM <tag:stardog:api:context:default>:使用默认图中的本体公理
  • FROM <http://url/rules>:使用此特定查询中的规则
  • FROM NAMED <http://url/datasource>:实际需要查询的数据

所以我重复我的问题,为什么当我将第二个 FROM 子句排除在 SPARQL 查询之外时,我会得到正确的结果?仅供参考,我一直在使用推理类型 SL。

在@user1538695 回答后编辑

当我在模式(TBox)中保留规则时,我仍然需要添加FROM <tag:stardog:api:context:default>我的查询。我只想查询一个命名图并使用模式进行推理。如果不必明确提及默认图(模式),这难道不是可能的吗?这是我当前查询的样子: