如何使用 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"};

也就是说,这似乎是一件奇怪的事情。您几乎可以同样轻松但更灵活地将输入加载到模型中,然后以您想要的任何格式将其写出。