- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Sesame 通过 SPARQL 查询 RDF。我处理大文件(2GB、10GB)并随后执行多个查询。在处理如此大的文件时,我收到错误java.lang.OutOfMemoryError:Java堆空间。我使用参数 -Xmx3g 运行我的应用程序,但似乎对于这些文件来说还不够。也许我应该在每次查询后关闭存储库?
这是我的代码:
void runQuery() {
try {
con = repo.getConnection();
TupleQuery tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString);
TupleQueryResult result = tupleQuery.evaluate();
while (result.hasNext()) {
result.next();
}
result.close();
con.close();
} catch (Exception e) {
...
}
}
}
runTests() {
File dataDir = new File("RepoDir/");
repo = new SailRepository(new NativeStore(dataDir));
repo.initialize();
...
for (int j = 0; j < NUMBER_OF_QUERIES; ++j) {
queryString = queries.get(j);
runQuery();
}
...
repo.shutDown();
}
另外,对于这么大的文件,是否可以使用MemoryStore代替NativeStore?
发出错误的查询示例:
SELECT DISTINCT ?name1 ?name2
WHERE {
?article1 rdf:type bench:Article .
?article2 rdf:type bench:Article .
?article1 dc:creator ?author1 .
?author1 foaf:name ?name1 .
?article2 dc:creator ?author2 .
?author2 foaf:name ?name2 .
?article1 swrc:journal ?journal .
?article2 swrc:journal ?journal
FILTER (?name1<?name2)
}
最佳答案
这就是 SP2B 查询 4(在您的原始帖子中提供的信息会很有用,如果您希望人们能够提供完整的答案,请完成您的问题)。
5M 规模的 SP2B 查询 4 返回约 1840 万结果。 5M 数据集(海龟中)约为 500M,因此考虑到您指定的大小,我猜您正在尝试使用 25M 和 100M 数据集?
original authors甚至无法发布第四季度结果集的大小,因为没有任何东西可以计算它(至少在研究范围内)。考虑到数据集中该查询结果的比例因子,我想我们会在 25M 规模上获取大约 100m+ 结果,在 100M 规模上可能会获取多达 1B 个结果。
计算结果集所需的中间连接的大小巨大,难怪 3G RAM 不够用。 Sesame 是一个很好的系统,但我不知道在这种规模下回答该查询需要多少内存,或者即使它根本可以回答它。
据我所知,只有一个系统报告以 25M 的速度运行该查询,没有人以 100M 的速度运行该查询。这就是为什么 SP2B 是一个伟大但反常的基准。如果您尝试对三重存储性能进行基准测试,您可能会阅读更多相关背景 Material ,并且还可以研究 BSBM。
关于Java OutOfMemoryError 与 Sesame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19291415/
我正在尝试创建一个基于 Sesame 的 SPARQL 端点。我安装了 Tomcat、PostgreSQL,并部署了 Sesame 的 Web 应用程序。我创建了一个基于 PostgreSQL RDF
我想使用 Jersey 实现一些 RESTful Web 服务,这些服务通过 Sesame Java API 使用 SPARQL 从 RDF 三重存储访问数据。同时,我想使用 Sesame Serve
有些公共(public)方法像 count() 一样工作,有些我得到“卡住”错误 gem 'rdf', '=0.3.11.1' 需要'rdf' 需要'rdf/芝麻' 需要'rdf/ntriples'
我想将现有 Sesame 存储库中的所有数据复制到新存储库中。我需要迁移,以便在我的三重存储上使用 OWL 推理,这在内存存储库(我现有存储库的类型)中使用 OWLIM 是不可能的。 将所有三元组从存
如何防止我的 OpenRDF Sesame 2.6.5 RDF 存储通过 SPARQL 端点进行修改(插入/删除)? “选择”查询将通过 POST 请求完成。 禁止(通过 Sesame 的 WAR 的
我一直在测试 Sesame 2.7.2,当面对 DESCRIBE 查询不包含空白节点闭包这一事实时,我感到非常惊讶[编辑:正确的术语是 CBD for concise bounded descript
我是 SPIN 的新手,我阅读了文档并查阅了一些示例,但我想开始使用它。 我从 http://topquadrant.com 看到了一些工具对于 SPIN,但我已经使用 openrdf-sesame
我使用 Sesame 通过 SPARQL 查询 RDF。我处理大文件(2GB、10GB)并随后执行多个查询。在处理如此大的文件时,我收到错误java.lang.OutOfMemoryError:Jav
我之前使用的是 FUSEKI,现在改为 OpenRDF/Sesame。 一切正常,我只有一个问题。在一种方法中,我需要取回模型中存储库的完整数据库。该方法如下所示: private static
我不会确切地说它是有限的,但只要我能看到给出的建议是那种“如果你需要超越它,你可以改变后端存储......”。为什么?为什么芝麻在超过 150-200 米三元组时不如说 OWLIM 或 Allegrg
我有一些关于芝麻三元组的数据。当我使用 GUI 查询它时,无论查询多少次,返回的三元组序列都保持不变。当我以编程方式尝试相同的事情时,序列不断变化(尽管结果是相同的)。有人可以解释为什么会出现这种情况
假设 (s,p,o) 和列表,我想使用 Sesame 中的模型结构并检查是否可以使用主语 s、谓词列表并在末尾到达 o。 例如我们说有一条路径,如果对于(s,p,o)和{p1,p2,p3},存在以下三
我在 OS X 10.8 上的 Tomcat 7 中使用 booth Sesame .wars,但现在它不再工作了。我用两个新的 Sesame .war 设置了一个新的 Tomcat,但现在它使用旧的
我正在尝试使用 Sesame 存储库来存储我的本体。我想编写 JAVA 代码来加载此本体或仅对其运行查询以添加新的个体、属性等。但似乎 SeRQL 不提供更新操作。是否有一些 API 可以让我这样做?
我正在研究 Java 芝麻。在教程之后,我从一个非常小的例子开始。我正在尝试构建一个如代码所示的简单语句。我的问题是我不知道如何打印出该语句的主语或宾语。谁能帮我解决这个问题?这是我的代码: publ
我在 java 中有以下代码通过后端数据库 (postgreSQL) 查询 SPARQL 查询。 import rdfProcessing.RDFRepository; import java.io.
我正在使用 Sesame 作为三重存储;我想将三元组保存在 MySQL 数据库中。在 sesame 2.6.10 中,我在 WEB-INF\lib\文件夹中添加了 mysql-connector-ja
我正在用 Java 编写一个程序来使用 Sesame 的服务,但是当我调用登录时: @Override protected void doPost(HttpServletRequest request
我需要实现一个简单的java应用程序来在Seasame上执行一些查询。我想一开始尝试一些简单的事情,但我无法初始化存储库。我遵循官方指南,我的程序如下所示: public class Hello
我正在尝试使用 SPARQL 和 Sesame 2.7 查询存储库,但是当我运行我的代码时,出现以下错误 org.openrdf.http.client.SesameHTTPClient - Serv
我是一名优秀的程序员,十分优秀!