文字列ベースのアプローチを使用することもできますが、次のような方法を強くお勧めします。
String SIOC = "http://sioc.com/ontologies/sioc#";
model.setNsPrefix("sioc",SIOC );
Property ID = model.createProperty( SIOC + "ID" );
入力とタイプミスの可能性を減らすためです。多くの一般的な語彙について、Jena には、一連の有用な定数を定義する定義済みの語彙クラスが既に用意されています。これらのほとんどは、com.hp.hpl.jena.vocabularyパッケージに含まれています。たとえば、のDCTerms
ような定数があるcreator
ので、次のようなことができます
Resource r = ...;
r.addProperty( DCTerms.creator, ... );
もちろん、Jena が事前定義できるのは、これらのクラスのうち非常に多くのクラスだけです。その他の場合は、Jena のschemagenを使用してそのような種類のクラスを生成できます。これはコマンド ライン ツールであり (ただし、プログラムで呼び出すこともできると思います)、語彙を定義する RDF または OWL ファイルを渡すと、.java
すべてのプロパティ、クラス、および個体の定数定数を含むファイルが返されます。語彙。シンプルな Model ベースのリソース、または OntModel ベースのリソースも取得できます。非常に構成可能で、私は多くのプロジェクトで使用しています。