将Java对象转换为RDF XML

时间:2017-04-27 06:25:33

标签: java rdf jena apache-jena

我想将Java对象转换为RDF XML。我正在使用Jena API。我不想打电话给任何REST电话。

在REST方法上,我们可以写:

@Produces(OslcMediaType.APPLICATION_RDF_XML)

因此它以RDF XML格式发送响应。

我无法使用它,因为我已经在一个REST方法中。我可以调用另一个REST调用将对象转换为RDF。但我不想再调用另一个REST调用。

有没有人有另一种解决方案将Java对象转换为RDF XML?

1 个答案:

答案 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")