问题标签 [tdb]

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

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

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

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

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

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

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

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

0 投票
1 回答
402 浏览

solr - 我可以使用 Apache Jena 并使用 Apache Solr 持久化本体吗

我们有一个基于云的 Java 应用程序,它使用 Oracle DB 和 Apache Solr 进行文档索引/搜索。我需要实现一个本体,我打算使用 Apache Jena。对我来说这是一个未知的领域。根据文档,似乎使用 TDB,我们可以使用 Oracle DB 进行存储/查询,但我不清楚我们是否可以将 Apache Solr 用于相同目的。那可能吗?有什么优点/缺点?你能在这方面给我一个 TDB 和 Solr 之间的简要比较吗?

0 投票
1 回答
216 浏览

sparql - 从 TDB 中的数据集中查询模型

我的数据集中有很多模型,我想查询我在 SPARQL 查询中使用 graph 关键字的指定模型,但它给了我一个空的结果集,谁能帮我解决这个问题,好吗?

在这里我如何加载模型

0 投票
0 回答
368 浏览

performance - Fuseki 2 低性能

我使用 FUSEKI 2(最新版本)存储了 80GB 三元组,这实际上是一个 DbPedia 转储。我的问题发生在我运行以下查询时。返回需要超过 5 分钟,而在Snorql则需要不到一秒钟。

我的机器是 16GB RAM,我想我缺少一些配置。我担心这个查询在后台做一些推理。我很感激任何帮助。

我的配置文件是:

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

java - 使用 Jena TDB Api 查询 Agrovoc

我在我的 java 应用程序中查询 Agrovoc Agrovoc Rabbits 结果时遇到问题。虽然能够像概念一样检索有关兔子的信息。但是,当我尝试检索诸如概念标签、更广泛、更广泛的标签之类的属性信息时,我会得到他们的网址而不是他们的描述。所以我的问题是我如何获得描述,或者我会说我能够检索到的那些 url 的值。以及如何查询更广泛的概念,更窄的概念,用作条目术语属性。以及如何获取有关搜索查询的所有信息(如所有属性信息和描述)?我已经附上了我迄今为止能够实现的目标

这个 TDBCreator 文件为我创建 TDB 文件,而 Agrovoc.java 查询

附件是我得到的结果从我的java代码实现

我还尝试运行 Sparql 查询,但结果为空

0 投票
2 回答
707 浏览

java - 使用 TDB 的 apache Jena 中的 Java OutOfMemoryError

嗨,我一直在将 Jena 用于一个项目,现在我正在尝试查询一个 Graph 以存储在普通文件中,以便使用 Hadoop 进行批处理。

我打开一个 TDB Dataset,然后通过 LIMIT 和 OFFSET 的页面进行查询。

我输出每个文件有 100000 个三元组的文件。

然而,在第 10 档,性能下降,在第 15 档,性能下降了 3 倍,在第 22 档,性能下降到 1%。

我的查询是:

SELECT DISTINCT ?S ?P ?O WHERE {?S ?P ?O .} LIMIT 100000 OFFSET X

查询和写入文件的方法显示在下一个代码块中:

空变量在那里,因为我不知道那里是否可能存在泄漏。

但是,在第 22 个文件之后,程序失败并显示以下消息:

内存查看器在查询页面后显示内存使用量的增量:

在此处输入图像描述

在此处输入图像描述

很明显,Jena LocalCache 正在填满,我将 Xmx 更改为 2048m,将 Xms 更改为 512m,结果相同。没有改变。

我需要更多内存吗?

我需要清除一些东西吗?

我需要停止程序并分部分执行吗?

我的查询错了吗?

OFFSET与它有什么关系吗?

我在一些旧邮件帖子中读到,您可以关闭缓存,但我找不到任何方法来做到这一点。有没有办法关闭缓存?

我知道这是一个非常困难的问题,但我感谢任何帮助。

0 投票
0 回答
115 浏览

eclipse - JENA SPARQL WARN [main] (Log.java:80) - Binding.add:空值 - Eclipse 中的忽略错误

我正在尝试在 protege 中对我的自制本体运行 SPARQL 查询,我已将数据存储在 TDB 持久存储中,到目前为止,我假设数据已成功存储在其中。我已经在 J​​ena Fuseki 中对同一个本体文件运行了多个 SPARQL 查询,它们都在工作,但不幸的是,每当我尝试在这个数据集上运行相同的 SPARQL 查询时,它都会向我显示空值错误,如上面的问题所示。如果有人在这件事上帮助我并且非常具体,我将非常感激,因为我在语义网络领域相对较新且非常缺乏经验。以下是我的 TDB 文件的代码。

以下是我收到的例外情况:

0 投票
1 回答
69 浏览

rdf - 如何处理关联数据中的数据质量问题

我最近一直在探索关联数据,但我不断遇到一个又一个问题。为了克服访问外部端点时的性能延迟,我想在本地存储数据转储。

但是,我遇到的数据集大多存在问题。一个常见的问题是 URI 质量(例如,在 Jena 的 TDB 中导入时出错Bad character in IRI (space): <http://bio2rdf.org/genecards:BCR/ABL[space]...>:)

我该如何处理这样的问题?有没有办法清理此类数据转储,甚至删除此类有问题的三元组?

0 投票
1 回答
939 浏览

rdf - Jena Fuseki - 将 ttl 文件加载到数据集中的图形(新的或已经存在的)中

我正在使用 Apache Jena Fuseki 2.3.0。

我需要将我的数据拆分为不同的图表(两个),因此我必须指定数据集的图表以将数据加载到其中。

我需要使用 tdbloader 但我不知道如何在命令行上指定图形名称。我在这里阅读了文档,但找不到对数据集图名称的任何引用。

任何帮助都是值得的。谢谢。