2011-10-11 6 views
5

私はRDFファイルをJenaでプログラムで生成しています。つまり、rdf(インスタンス)にデータを挿入しているときに、一意のURI(リソースを参照する) in rdbms。私はURIを生成することができるインスタンスのためにリソースを作成するときのように、Jenaで行うのが可能かどうかを知りたいですか?RDF用のJenaでURIを生成

例:

Resource resAnswer = ModelCreation.md.createResource(RDFResourcesURI.Answer_Resource_URI + answer.getAnswer_id()); 

- ここでIは、ハードコーディング(またはユーザ入力)answer_id、次いで、予め定義されたURIに付加しています。ハードコーディングの代わりに(mysqlの自動インクリメントのように)生成することができますか?あなただけのユニークIDは、あなたがUUID.randomUUID()またはUUID.fromString(name)

UUIDようなものを使用する場合

+2

関連の質問 - http://answers.semanticweb.com/questions/516/generating-unique-ids-in-triple-store-ala-mysql-auto_increment - トリプルストアでの自動インクリメントIDのディスカッション一般に – RobV

答えて

1

java.utilパッケージである

3

あなたがたURIにUUIDを回すためにそれを使用できるようにしたUUID http://www.ietf.org/rfc/rfc4122.txtためのURIスキームは、あります、例えば例えばurn:uuid:2238b240-f3eb-11e0-be50-0800200c9a66

また、UUIDをいくつかの接頭辞に追加することもできます。 http://my.example/id/2238b240-f3eb-11e0-be50-0800200c9a66

HTTPベースの一時URIは、それを解決可能にしたい場合に適しています。

0

私は私のリソースを公開していないので、私のRDFリソースをURLのadd notの価値として識別するためにURNを使用します。 URNの形式でUUIDを生成するJenaライブラリがあります。

scala> import com.hp.hpl.jena.shared.uuid.JenaUUID 
import com.hp.hpl.jena.shared.uuid.JenaUUID 

scala> val resourceURN = JenaUUID.generate().asURN() 
resourceURN: String = urn:uuid:0a9ac70c-2ad1-11b2-8012-10ddb1d60524 
関連する問題