日本語の記事があまりにも少ないため、落ち着いたらスタートアップガイドをまとめる予定。
サンプルコード
public void testFunc2() { String BASE = "http://mybase#"; OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_LITE_MEM); model.setNsPrefix("mybase", BASE); //RDF:TYPE OntResource BLOG = model.createOntResource(BASE + "Blog"); //Property OntProperty hasName = model.createOntProperty(BASE + "hasName"); //Class OntClass ITBlog = model.createClass(BASE + "ITBlog"); ITBlog.setRDFType(BLOG); OntClass myBlog = model.createClass(BASE + "myBlog"); myBlog.setSuperClass(ITBlog); myBlog.addProperty(hasName, "Catalina Note"); myBlog.addProperty(DC.title, "Catalina Note"); RDFWriter wr = model.getWriter("RDF/XML-ABBREV"); wr.write(model, System.out, BASE); //以下でも可 //model.write(System.out, "RDF/XML-ABBREV", BASE); }
※1
ModelFactoryでModelオブジェクトを生成する際にOntModelSpecを指定しないと、次のようにrdfsの定義まで出力されてしまう。
(ただし、model.writeメソッドで出力する場合はされない模様)
※2
リソースのrdfTypeを定義することで、rdf:IDで出力される。
そうでない場合はrdf:aboutとなる。
ModelFactoryでModelオブジェクトを生成する際にOntModelSpecを指定しないと、次のようにrdfsの定義まで出力されてしまう。
(ただし、model.writeメソッドで出力する場合はされない模様)
<rdfs:Datatype rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"> <rdf:type> <rdfs:Class rdf:about="http://www.w3.org/2000/01/rdf-schema#Resource"/> …
※2
リソースのrdfTypeを定義することで、rdf:IDで出力される。
そうでない場合はrdf:aboutとなる。
実行結果
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:mybase="http://mybase#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <owl:Class rdf:ID="myBlog"> <dc:title>Catalina Note</dc:title> <mybase:hasName>Catalina Note</mybase:hasName> <rdfs:subClassOf> <mybase:Blog rdf:ID="ITBlog"/> </rdfs:subClassOf> </owl:Class> <rdf:Property rdf:ID="hasName"/> </rdf:RDF>
参考
Apache JenaAn Introduction to RDF and the Jena RDF API Jena I/O Mini HowTo assigning rdf:id in JENA
0 件のコメント:
コメントを投稿