2011-04-15 20 views
3

我在java中使用jena製作了RDF的程序...我必須以字符串格式返回結果..然後在其他函數中,我必須將其作爲字符串格式並將其轉換爲模型或語句。 ......這是可能的......如果是這樣該怎麼做......可能有人幫助我一個示例代碼...使用Java程序將字符串轉換爲jena中的模型或語句?

在此先感謝

+1

你是什麼意思的'一個字符串'?一串英語?龜? – bmargulies 2011-04-15 10:16:55

+0

正常字符串...不是烏龜 – 2011-04-18 15:07:51

回答

5

如果你想要序列化的RDF少比你的完整模型,然後創建一個臨時內存模型,並複製到它想寫的語句。使用Model.write將這些語句轉換爲字符串(採用RDF/XML,Turtle或N-triples格式)。如果要加載包含RDF的字符串,請創建一個包含字符串的​​3210對象,並將其傳遞給Model.read方法。

+0

感謝您的回覆..它對我很有幫助 – 2011-04-17 14:25:28

0

根據最新的JavaDoc,將Reader作爲方法參數的兩個Model.read()方法都會說「使用這種方法往往是一個錯誤」,這一點很重要。我不知道爲什麼JavaDoc會這樣說,但它確實如此。我是用另一種方法是在一個InputStream傳遞,如圖所示(其中「是」是的InputStream):

// read(InputStream in, String base, String lang)... 

memModel.read(is, null,"TTL"); 

如果你需要首先把字符串轉換成一個InputStream,你可以使用:

InputStream is = new ByteArrayInputStream(str.getBytes()); 
相關問題