问题标签 [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.
java - 如何在一个模型中加载两个本体
我发布了关于这个问题的其他问题......但我认为我已经接近解决方案了。我有这个代码只适用于“dbpedia.owl”的加载。当我添加另一个本体“yago.nt”时出现问题......我有“java.lang.OutOfMemoryError:Java堆空间”之类的错误......我试图修改Xmx值(我将它增加到2048m)。 .但我没有结果..我不知道我必须做什么...请帮帮我..如果您知道如何使用 TDB ,您可以发布应用于我的代码的代码吗?
sparql - 在 Jena OntMOdel 中添加个人并访问它。异常 ObjectFileStorage.read 不可能是大对象
我正在尝试将一些人添加到我现有的本体(OntModel)中,目的是为 DatatypeProperty 添加值/文字,并在运行时从 datatypeproperty 的范围内知道特定的数据类型。我的 OntModel 由 TDBStore 支持,链接到数据集(因此对 OntModel 的任何更改都会反映回我的 TDBStore/数据集)。根据以下代码添加个人:
当代码执行时,会添加文字并进行 sparql 查询:
给我以下结果:
但是当我尝试在第二次运行中使用相同的查询(这次没有创建任何个人)时,当程序尝试显示/访问结果时,我得到以下异常:
注意:查看添加的个人的其他查询执行正常。但是像“SELECT * WHERE { ?s ?o 1230}”这样的查询会导致同样的错误。
也像这样查询:“SELECT * WHERE { ?s ?o 10000.0}”或“SELECT * WHERE { ?s ?o 10000}”不会给出任何错误,但不会返回任何结果。
文字 10000 是使用以下语句添加的:
请帮我!!我在哪里错了.. 用于创建个人的程序是错误的吗?如果是!那么在运行时添加具有特定数据类型的文字还有其他可能的方法吗?
dataset - 将 OWL 文件中的更改与 Jena TDB 数据集同步
我正在使用 JENA TDB 存储读取为 OntModel 的 OWL 文件。相同的代码是:
因此,我面临一个问题,如果 owl 文件在外部更改(特别是当我们从 owl 文件中删除某些内容时),当应用程序未运行并再次重新运行应用程序时,数据集似乎处于不一致状态根据 owl 文件,因为从 owl 文件中删除的实体仍然存在ontModel
(因为那些旧条目存在于 TDB 中),这在我们的案例中是不希望的。
有没有办法克服这种问题?以便数据集与我的 OWL 文件保持一致?还是如上所示的方法不是创建TDB的正确方法?
jena - 如何过滤 TDB 中的大型 Jena 模型
我有一个不适合内存的大型 RDF 模型。我目前正在将整个内容加载到 TDB 中,但我想通过只关注一个子图(关于所有资源的所有属性,它们是子类或某些“根”概念的类型)来过滤它。
我尝试的是针对完整的 TDB 模型执行 DESCRIBE 语句,该模型描述了我感兴趣的图的子集({ ?x rdf:type/rdfs:subClassOf* ?type })。我遇到的问题是双重的:
在较小的 [sample] 数据集上,DESCRIBE 语句完成,但我不知道如何将生成的模型写回 TDB(我想丢弃所有其他数据)。我试图调用 tdbModel.setDefaultModel() 但它抛出异常。所以,我现在要做的是创建第二个 TDB 位置,获取默认模型,然后将 DESCRIBE 语句的结果添加到另一个模型中。有没有更好的办法?
在完整的数据集上,我认为 DESCRIBE 语句将导致超过 500k 三元组,并且它已经运行了几个小时而没有完成。有没有更有效的方法来做到这一点?
java - Apache TDB 如何存储 RDF 数据?
根据 Apache网站的说法, TDB“可以用作单台机器上的高性能 RDF 存储”。阅读文档我看不到它存储任何东西的位置。它是否只是将每个资源存储在本教程中概述的已定义目录中的自己的文件中?如果是这样,那似乎它不会很好地扩展。
jena - 我如何在 TDB 中存储多个本体
我正在开发一个需要在一个 TDB 中保存多个本体的项目。我试着用我自己的方式来做,但是没有用。请帮帮我..如果您知道如何使用 TDB ,您可以发布应用于我的代码的代码吗?
但我收到一个错误:Error1 信息:
错误2信息:
jena - 在 jena-tdb-0.9.4.jar 中找不到 TDBFactory?
我已经下载了 jena-2.6.4 zip 来管理三重商店。在这个 zip 中有lib
包含库的目录,并且jena-tdb-0.9.4.jar
是它们的数量。
但是,在尝试最简单的以下代码时
我有一个错误说TDBFactory
没有找到。即使显式导入import com.hp.hpl.jena.tdb.TDBFactory
也不起作用。该类未定义。
对此有任何想法吗?
版
这是错误消息返回
jena - 在什么情况下耶拿变成平行?
我已经在 Jena TDB 和 Jena In memory 三重存储上运行查询,在单核机器和具有 16 个 CPU 的机器上。我观察到在 16Cores 机器中 Jena 产生了很多线程来处理查询和推理操作。
所以我想知道,Jena 默认情况下是否并行运行?或者有没有办法强制或避免并行?
rdf - 如何有效地加载 rdf 文件进行查询
我将 Apache Jenatdbloader
用于基于查询的 Web 应用程序。我的网络应用程序选择一个特定的数据库(一个 Turtle 文件)并加载它。目前我正在使用标准tdbloader
来加载选定的文件。但是,当数据集很大时,加载大约需要十五分钟。有没有办法在更短的时间内有效地完成上述工作或提前加载?
jena - 使用 tdbloader.bat 上传 RDF 文件并使用 tdbquery.bat 进行查询
我想使用tdbloader.bat
( C:\apache-jena-2.10.0\bat
,在我的情况下) 上传 RDF 文件。我的海龟文件位于C:\apache-jena-2.10.0
,并命名为test.ttl
. 加载海龟文件的命令行是tdbloader.bat
什么?加载后,查询的命令行是tdbquery.bat
什么?
我使用了以下命令-
但它返回了 FileNotFound 异常。