日本語の記事があまりにも少ないため、落ち着いたらスタートアップガイドをまとめる予定。
サンプルコード
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 件のコメント:
コメントを投稿