将turtle文件加载到OpenRDF存储库
我试图使用OpenRDF/Sesame框架将一个turtle文件(.ttl)加载到存储库中,我编写的代码如下-将turtle文件加载到OpenRDF存储库,rdf,sesame,Rdf,Sesame,我试图使用OpenRDF/Sesame框架将一个turtle文件(.ttl)加载到存储库中,我编写的代码如下- public class RepositoryAPI { public static void main(String[] args) { File dataDir = new File("C:\\Temp\\sesameRepo\\KB_Exemplar"); try { Repository repo = createRepository(dat
public class RepositoryAPI {
public static void main(String[] args) {
File dataDir = new File("C:\\Temp\\sesameRepo\\KB_Exemplar");
try {
Repository repo = createRepository(dataDir);
addRDFToRepository(repo);
} catch (RepositoryException e) {
e.printStackTrace();
}
}
private static Repository createRepository(File dataDir) throws RepositoryException {
Repository repos = new SailRepository(new MemoryStore(dataDir));
repos.initialize();
return repos;
}
private static void addRDFToRepository(Repository repo) {
File file = new File("C:\\LDMVelocityWork\\KB_Quality_Exemplar_BE_Ownership.ttl");
String baseURI = "http://data.jpmchase.net/cib/cia/KBQualityExemplar";
try{
RepositoryConnection con = repo.getConnection();
try{
con.add(file, baseURI, RDFFormat.RDFXML);
} catch (IOException e) {
e.printStackTrace();
}
finally {
con.close();
}
}
catch (OpenRDFException e) {
}
}
}
名为KB_Exemplar的目录正在生成,但在创建的文件中没有任何正确的值。名为“memorystore.data”的文件的内容有些奇怪。请找人检查一下,让我知道我写的代码是否正确。你的代码有很多地方看起来很奇怪 首先,您声明您正在尝试加载一个Turtle文件,但您有以下代码:
File file = new File("C:\\LDMVelocityWork\\KB_Quality_Exemplar_BE_Ownership.ttl");
String baseURI = "http://data.jpmchase.net/cib/cia/KBQualityExemplar";
try{
RepositoryConnection con = repo.getConnection();
try{
con.add(file, baseURI, RDFFormat.RDFXML);
} catch (IOException e) {
e.printStackTrace();
}
finally {
con.close();
}
}
catch (OpenRDFException e) {
}
它告诉Sesame从给定的Turtle文件中读取,但在这一行将其视为RDF/XML:
con.add(file, baseURI, RDFFormat.RDFXML);
这几乎肯定会抛出一个错误,但您在外部catch块(您捕获的是OpenRDFException
)中没有执行任何操作,因此您隐藏了这个错误,几乎肯定没有数据被添加到存储库中
您的代码最有可能执行以下add()
调用:
con.add(file, baseURI, RDFFormat.TURTLE);
另外,您需要向外部catch块添加一些实际的错误处理逻辑,这样您就不会隐藏错误
第二,你声明如下:
conn.export(new TurtleWriter());
名为KB_Exemplar的目录正在生成,但位于
创建的文件没有任何正确的值。内容
那个名为“memorystore.data”的文件有些奇怪
Sesame存储库格式不是供人阅读的,它是RDF数据的二进制表示形式,并索引到该数据中
如果希望以人类可读的格式返回数据,则可以编写代码来执行此操作。例如,要将数据作为海龟返回,您可以执行以下操作:
conn.export(new TurtleWriter());
谢谢,我现在在查询存储库时遇到了一个问题,请检查我刚才问的这个问题,你能提供一个答案吗-