我想将 Java 对象转换为 RDF XML。我正在使用耶拿 API。我不想调用任何 REST 电话。
在REST方法中,我们可以这样写:
@Produces(OslcMediaType.APPLICATION_RDF_XML)
因此它以 RDF XML 格式发送响应。
我无法使用它,因为我已经使用了一种 REST 方法。我可以调用另一个 REST 调用将对象转换为 RDF。但我不想再调用一次 REST 电话。
是否有人有其他解决方案将 Java 对象转换为 RDF XML?
最佳答案
您可以为您的类创建自己的 RDF 序列化器,并且可以使用 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")
关于java - 将 Java 对象转换为 RDF XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650100/