我通过在java中使用jena为RDF制作了一个程序......我必须以字符串格式返回结果......然后在其他函数中我必须将它作为字符串格式并将其转换为模型或语句...... .这可能吗...如果是这样怎么做...有人可以帮助我提供示例代码...
提前致谢
如果您要序列化的 RDF 小于您的完整模型,则创建一个临时内存模型并将要编写的语句复制到其中。用于Model.write
将这些语句转换为字符串(RDF/XML、Turtle 或 N-triples 格式)。当您要加载包含 RDF 的字符串时,请创建一个java.io.StringReader
包含您的字符串的对象并将其传递给Model.read
方法。
可能需要注意的是,根据最新的 JavaDoc,将 Reader 作为方法参数的两个 Model.read() 方法都说“使用此方法通常是错误的。”。我不知道为什么 JavaDoc 会这么说,但确实如此。我正在使用的另一种方法是传入一个 InputStream,如图所示(其中“is”是 InputStream):
// read(InputStream in, String base, String lang)...
memModel.read(is, null,"TTL");
如果需要先将 String 转为 InputStream,可以使用:
InputStream is = new ByteArrayInputStream( str.getBytes() );