我在java中使用jena製作了RDF的程序...我必須以字符串格式返回結果..然後在其他函數中,我必須將其作爲字符串格式並將其轉換爲模型或語句。 ......這是可能的......如果是這樣該怎麼做......可能有人幫助我一個示例代碼...使用Java程序將字符串轉換爲jena中的模型或語句?
在此先感謝
我在java中使用jena製作了RDF的程序...我必須以字符串格式返回結果..然後在其他函數中,我必須將其作爲字符串格式並將其轉換爲模型或語句。 ......這是可能的......如果是這樣該怎麼做......可能有人幫助我一個示例代碼...使用Java程序將字符串轉換爲jena中的模型或語句?
在此先感謝
如果你想要序列化的RDF少比你的完整模型,然後創建一個臨時內存模型,並複製到它想寫的語句。使用Model.write
將這些語句轉換爲字符串(採用RDF/XML,Turtle或N-triples格式)。如果要加載包含RDF的字符串,請創建一個包含字符串的3210對象,並將其傳遞給Model.read
方法。
感謝您的回覆..它對我很有幫助 – 2011-04-17 14:25:28
根據最新的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());
你是什麼意思的'一個字符串'?一串英語?龜? – bmargulies 2011-04-15 10:16:55
正常字符串...不是烏龜 – 2011-04-18 15:07:51