2013-02-08 37 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