问题标签 [graphdb]

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 投票
2 回答
155 浏览

graphdb - Graphdb 的 loadrdf 工具加载本体和数据非常慢

我正在使用 GraphDB loadrdf 工具来加载本体和相当大的数据。我将 pool.buffer.size=800000 和 jvm -Xmx 设置为 24g。我尝试了并行和串行模式。一旦回购总报表超过约 10k,它们都会放慢速度。它最终会减慢到 1 或 2 个语句/秒。有谁知道这是 loadrdf 的正常行为还是有办法优化性能?

编辑我增加了元组索引内存。请参阅我的 repo ttl 配置的一部分:

但不知何故,这个过程仍然放慢了速度。它以“全球平均速度:1,402 st/s”开头。但在“回购声明:61,831”之后放缓至“全球平均速度:20 st/s”。我给我的jvm:-Xms24g -Xmx36g

0 投票
2 回答
1433 浏览

graphdb - GraphDB sparql 端点通过 sesame / rdf4j SPARQLRepository 接口不可用

我们正在使用 RDF4J(以前称为 sesame)框架对远程 GraphDB 三元存储运行 sparql 查询。

这通过 rdf4j HTTPRepository 接口成功工作,该接口采用 Graphdb 服务器的 URL 和存储库 ID,但在使用 rdf4j SPARQLRepository 接口时失败,该接口将 sparlq 端点 url 作为参数。

在运行查询时,我们在查询验证中遇到异常

“获取服务器协议失败;此服务器上没有此类资源:http:///sparql?sparql?queryLn=SPARQL&query=",

http://<host:port>/sparql我们认为sparql 端点的 url 在哪里。这发生在 sesame 2.7.8 和 rdf4j M3 库中,同样发生在两个“开箱即用”上,即从启动脚本开始,安装 graphdb free 6.6.2 和 7.0.3。尝试通过 rdf4j SPARQLRepository 接口连接到 sparlq 端点http://factforge.net/sparql时也会发生这种情况,我们知道它在 graphdb 上运行。

我们认为实际的 sparql 端点的 url 可能不是 http:///sparql 而是我们在 graphdb 文档中找不到的其他东西。欣赏任何人可能照亮的任何灯。

编辑:针对 Factforge 的 sparql 端点执行的代码:

生成以下异常:

谢谢您的帮助

0 投票
1 回答
55 浏览

graphdb - 删除存储库因文件错误而失败

上下文:GraphDB 7.1.0

openrdf-console在请求删除存储库时使用,:

我收到错误/异常:

任何进一步尝试再次删除 repo 或向其中添加任何内容都会因相同的错误而失败。

0 投票
1 回答
140 浏览

graphdb - GraphDB jar 文件在哪里?

我正在尝试使用带有内置 Maven 的 Eclipse Neon 的 Maven 项目中的 GraphDB 存储库。我在哪里可以找到要放置在本地 Maven 存储库中的 GraphDB 运行时 jar 文件?为什么 Maven Central 不提供 GraphDB?

更新我已经创建了一个 GraphDB 存储库,它工作正常。现在我想在 Eclipse Neon 中设置一个 Maven 项目,以便以编程方式与存储库进行交互。Maven 中心不提供 GraphDB。Developer Hub 指示用户运行“MVN 安装”以将 GraphDB 运行时 jar 安装到本地 Maven 存储库中。由于我使用带有集成 Maven 的 Eclipse Neon,因此没有(我找不到)MVN 可执行文件来运行“MVN 安装”。所以我的问题是我应该手动将哪些文件传输到我的本地 Maven 存储库?

0 投票
2 回答
267 浏览

sparql - 查询评估花费了太长时间

我正在使用 GraphDB Free 7.1,并使用默认设置创建了一个存储库。我上传了一个包含 270 万个三元组的 ttl 文件。我正在尝试发出一个查询(不是很复杂,但很复杂),它应该返回 200k 个答案,而 Workbench 只显示 1k 个答案,GraphDB 日志显示一个异常

我正在使用的查询是:

由于查询超时设置为0,我不确定是什么原因导致查询中断异常;最有可能是记忆问题?非常简单的查询(例如返回某个类的所有实例)可以正常工作。

有什么提示吗?任何帮助,将不胜感激。如果需要,我可以提供更多详细信息。

最好的,尼克

0 投票
2 回答
112 浏览

sesame - 应用程序可以直接针对 GraphDB 的底层 RDF4J 数据库进行编程吗?

根据GraphDB 文档,可以直接针对其底层 RDF4J 数据库进行编程。两个独立的应用程序可以同时访问相同的数据库文件,这违背了我的直觉。这是否正确处理,包括并发写入?

我相信 GraphDB 使用的是较旧的 Sesame 2.9 版本。文件格式是否随着最新的 RDF4J 2.1 版本而改变?还是我需要改用这个较旧的 Sesame 版本?

我假设,如果以上所有内容都是正确的,那么与 HTTP 连接相比,会有很大的性能提升。是否有任何测试结果可以支持这一点?

0 投票
1 回答
44 浏览

graphdb - -Denable-debug-rules=true 不给出统计信息

根据http://graphdb.ontotext.com/documentation/standard/rules-optimisations.html,我给出了标志-Denable-debug-rules,文档说它应该至少每5分钟打印一次日志

不幸的是,事实并非如此,我需要弄清楚为什么推理需要这么长时间。

帮助?

具体文件是http://purl.obolibrary.org/obo/pr.owl我正在使用 owl2-rl-optimized

版本 graphdb-ee-6.3.1

0 投票
1 回答
741 浏览

graphdb - GraphDB:将 SnoMed CT 导入 GraphDB

我想将 SNoMed CT 数据加载到 GraphDB。任何人都可以指导将数据导入 GraphDB 吗?到目前为止,我已经安装了 GraphDB 工作台。

0 投票
1 回答
150 浏览

performance - graphdb 中批量加载的最佳设置

我一直在阅读文档,但无法确定批量加载的一般准则。

据我所知,将数据批量加载到 graphdb 的最佳方法是使用LoadRDF 工具

但是,我并不熟悉适当设置的一般规则。首先,如果您有一个带有 SSD 驱动器的“普通”服务器,那么什么样的解析速度是可以接受的?1.000 条语句/秒、10.000 条语句/秒还是更多或更少?

还有什么好的设置?例如,您可以设置 -Dpool.buffer.size 的默认值为 200.000 条语句,但是如果您有 10gig 的 ram,那么增加这个的经验法则是什么?如果您有 100 或 300 gig 的 ram?

另一个选项是 -Dinfer.pool.size,它设置为线程的最大值,因为 CPU 的最小值为 4。因此 1 个核心 = 4 个线程,32 个核心是 32 个线程。我认为这不需要任何额外的调整,或者只有在你想减少 CPU 负载并且如果你有 32 个内核时不超过 64 个线程时才会出现这种情况?

通过 turtle 文件还可以使用额外的选项,其中包含configs/templates中的示例,其中 owlim:cache-memory 和 owlim:tuple-index-memory 在加载期间可能有用,而其他设置在加载后更有用?

最后,如果您有 100 个单独的文件而不是一个大的龟文件和/或压缩文件是否会提高加载速度,还是只会减少初始磁盘使用量,这也很重要?

就我个人而言,我目前有一个 290gb 内存和 32 个内核和 1.8T raid 0 SSD 驱动器(加载后会有备份)的设置,并尝试从 SSD 到同一个 SSD 进行 30 亿三倍的初始加载,这以每秒 16.461 条语句的全球速度需要一段时间,但我不确定是否以及如何改进这一点。

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 查询。例如,要查找所有患者:

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

或者

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