如何使用 java 代码中的 rdfcat
how to use rdfcat from java code
在 jena api 中有 class rdfcat,它是一个转换数据文件格式的工具
,它可以像示例一样从命令行使用,
我需要从 java 代码内部执行该工具,
我尝试了代码但失败了。
public static void main(String[] args) {
rdfcat rdf=new rdfcat();
String[] t={"-x f:/foaf.owl -out ttl"};
rdf.main(t);
String string=rdf.getCheckedLanguage("owl");
System.out.println("************************************************************");
Map<String,String> m=rdf.unabbreviate;
Iterator iterator =m.keySet().iterator();
while(iterator.hasNext())System.out.println(iterator.next());
System.out.println("************************************************************");
System.out.println(string);
}
耶拿对此没有任何具体说明。命令行参数应该是各种参数的 array,但您只传递了一个。也就是说,
String[] t={"-x f:/foaf.owl -out ttl"};
是以一个个String为成员的数组。如果你要调用 rdfcat 的 main,你需要做:
String[] t={"-x", "f:/foaf.owl", "-out", "ttl"};
也就是说,这似乎是一件奇怪的事情。您几乎可以同样轻松但更灵活地将输入加载到模型中,然后以您想要的任何格式将其写出。
在 jena api 中有 class rdfcat,它是一个转换数据文件格式的工具 ,它可以像示例一样从命令行使用, 我需要从 java 代码内部执行该工具, 我尝试了代码但失败了。
public static void main(String[] args) {
rdfcat rdf=new rdfcat();
String[] t={"-x f:/foaf.owl -out ttl"};
rdf.main(t);
String string=rdf.getCheckedLanguage("owl");
System.out.println("************************************************************");
Map<String,String> m=rdf.unabbreviate;
Iterator iterator =m.keySet().iterator();
while(iterator.hasNext())System.out.println(iterator.next());
System.out.println("************************************************************");
System.out.println(string);
}
耶拿对此没有任何具体说明。命令行参数应该是各种参数的 array,但您只传递了一个。也就是说,
String[] t={"-x f:/foaf.owl -out ttl"};
是以一个个String为成员的数组。如果你要调用 rdfcat 的 main,你需要做:
String[] t={"-x", "f:/foaf.owl", "-out", "ttl"};
也就是说,这似乎是一件奇怪的事情。您几乎可以同样轻松但更灵活地将输入加载到模型中,然后以您想要的任何格式将其写出。