Jena
具有read
方法,可帮助从模型中的文件加载本体。使用Jena API
的virtuoso有类似的东西吗?
这将极大地帮助我在我已经存在的n-triple格式的本体商店中测试艺术家。
答案 0 :(得分:2)
如果您想从Virtuoso服务器读取本体,您将需要Virtuoso的类似“JDBC”的驱动程序,如下所述:http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtJenaProvider 下载时间为http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload#Jena%20Provider 虽然我更喜欢从源代码编译它 -
然后你可以做类似的事情:
VirtDataset dataSet = new VirtDataset("jdbc:virtuoso://localhost:1111/charset=UTF-8/","user","pass");
Model baseModel = dataSet.getNamedModel("http://my.graph.name/");
OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, baseModel);
这应该允许访问存储在Virtuoso中的所有RDF-Triples(一次一张图)。 如果您只想要RDF,请省略“OntModel”构造的最后一行。如果存储非常大,则相同,因为它将完整的本体加载到RAM中。
答案 1 :(得分:1)
Jena read
方法也可用于Virtuoso Jena提供商。
像下一个:
try {
String nfile = "1.nt";
Model model = VirtModel.openDatabaseModel("load:test", "jdbc:virtuoso://localhost:1111", "dba", "dba");
InputStream in = FileManager.get().open( nfile );
if (in == null) {
throw new IllegalArgumentException( "File: " + nfile + " not found");
}
model.read(new InputStreamReader(in), null, "N-TRIPLE");
model.close();
} catch (Exception e) {
System.out.println("Ex="+e);
}