我想将Java对象转换为RDF XML。我正在使用Jena API。我不想打电话给任何REST电话。
在REST方法上,我们可以写:
@Produces(OslcMediaType.APPLICATION_RDF_XML)
因此它以RDF XML格式发送响应。
我无法使用它,因为我已经在一个REST方法中。我可以调用另一个REST调用将对象转换为RDF。但我不想再调用另一个REST调用。
有没有人有另一种解决方案将Java对象转换为RDF XML?
答案 0 :(得分:1)
您可以为您的类创建自己的RDF Serializer,您可以使用Jena API。这是一个非常天真的例子:
public class Person {
String name;
int age;
Person(String name){
this.name = name;
}
String getIRI(){
return "http://example.com/"+name;
}
String serialize(String syntax){
Model model = ModelFactory.createDefaultModel();
Resource resource = model.createResource(getIRI());
// add the property
resource.addProperty(FOAF.name, name);
StringWriter out = new StringWriter();
model.write(out, syntax);
return out.toString();
}
}
要序列化课程,请致电Person p1 = new Person("Noor");.
p1.serialize("RDF/XML-ABBREV")