gpt4 book ai didi

sparql - TDB Jena 查询

转载 作者:行者123 更新时间:2023-12-04 06:03:29 24 4
gpt4 key购买 nike

我正在尝试使用 TDB 使用 Jena 在 Java 中进行查询。所以基本上我得到了一个 n3 文件名 song.n3 并且使用这个文件我想将它与 TDB 一起使用。所以我创建了一个在我的 Java1 文件夹(Netbeans 项目文件夹)中生成的目录,然后我有了实际 n3 文件的源。运行此代码后,我遇到错误“java.lang.NoClassDefFoundError”。基本上调试代码会导致由以下行引起的错误:Dataset dataset = TDBFactory.createDataset(directory);。我不太确定为什么会导致这个错误,可能是因为我的目录是空的,没有模型。

public static void main(String[] args) throws IOException {
String directory = "./tdb";
Dataset dataset = TDBFactory.createDataset(directory);
Model tdb = dataset.getDefaultModel();
String source = "C:\\Users\\Name\\Documents\\NetBeansProjects\\Java1\\src\\song.n3";
FileManager.get().readModel( tdb, source, "N3" );
String queryString = "PREFIX owl: <http://www.w3.org/2002/07/owl#> SELECT * WHERE { ?x owl:sameas ?y }";

Query query = QueryFactory.create(queryString);

QueryExecution qe = QueryExecutionFactory.create(query, tdb);
ResultSet results = qe.execSelect();

ResultSetFormatter.out(System.out, results, query);

qe.close();
}
}

最佳答案

这应该是您的 CLASSPATH 的问题,当我使用 TDB 时,我有以下脚本将 Jena-TDB 库加载到我的类路径中..

#!/bin/bash
CP="."
for i in ./TDB-0.8.9/lib/*.jar ; do
CP=$CP:./TDB-0.8.9/lib/$i
done
export CLASSPATH=$CP

bash但很容易翻译成 Windows 脚本。最重要的是,确保 /lib/ 中的所有 jar 目录在 CLASSPATH 中。无论如何,如果您提供完整的 java.lang.NoClassDefFoundError 会有所帮助。在显示未找到的类的地方,这会给你一个它缺少什么的提示。可能一些没有在 jena 发行版中提供的日志库。

另外,请注意 owl:sameas谓词。 SPARQL 和 RDF 区分大小写,正确的谓词是 owl:sameAs .

关于sparql - TDB Jena 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8659058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com