2013-02-08 130 views
2

我已经看到了一些例子,其中有可能在RDF/XML中转换已知序列化,但是当输入格式(例如XML/Turtle/N3)未知时,有什么方法实现转换?将任何RDF序列化转换为RDF/XML

我写,其接收不同的序列化RDF的工具(龟/ XML/N3),但是当我请从方法耶拿Model

model.read(InputStream in, "", "") 

,也有例外。

+1

请您详细说明一下吗?例如:1)示例输入RDF,2)结果RDF的外观,3)最重要的 - 你得到了什么错误。示例代码也不错:) – paulsm4 2013-02-08 18:26:22

+0

@ paulsm4 一些典型的错误/异常:org.xml.sax.SAXParseException:内容在prolog&java.lang.NoClassDefFoundError中不允许:antlr/TokenStream(即使jar在内部lib和Classpath)。 1)我从JMS收到的消息可以是任何RDF(XML,N3,Turtle)。我需要在任何情况下将任何类型的传入消息转换为RDF/XML。 – 2013-02-12 21:16:38

回答

3

这是一个输入流 - 你必须告诉它的格式。 model.read(in, base, "TURTLE")。它不嗅探流。您可以在try-catch中执行一系列model.read,直到不会导致异常。

+0

AndyS的这个解决方案似乎可行,但在性能方面有什么妥协。例如。如果我有lang(Turtle,XML,N3)列表,我会遍历它来创建模型,除非我得到一个。 – 2013-02-12 21:19:50