2017-04-27 27 views
1

JavaオブジェクトをRDF XMLに変換したい。私はJena APIを使用しています。私はRESTコールを呼びたくはありません。 REST方式でJavaオブジェクトをRDF XMLに変換する

、我々は書くことができます。

@Produces(OslcMediaType.APPLICATION_RDF_XML) 

だから、RDFのXML形式でレスポンスを送信します。

私はすでに1つのRESTメソッドに入っているので、これを使用することはできません。オブジェクトをRDFに変換するために別のREST呼び出しを呼び出すことができます。しかし、私は別のREST呼び出しを呼びたくはありません。

誰かがJavaオブジェクトをRDF XMLに変換する別のソリューションを持っていますか?

+0

イエナで使用されるシリアル化のフレームワークとは何かを呼び出し、クラスをシリアル化するには? Jacksonの場合は、ObjectMapperにアクセスして手動で内容をシリアル化することができます。私はそこを見つけようとしていますが、私はイエナにあなたに正確に伝える経験がありません。 –

+0

これは基本的にhttp://stackoverflow.com/questions/34098348/how-can-i-easily-convert-rdf-triples-to-from-an-idomatic-java-pojo-business-obje?rqの複製です。 = 1 – Michael

答えて

1

独自の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")

関連する問題