2011-10-11 89 views
5

我在Jena以編程方式生成RDF文件,即當我在rdf(實例)中插入數據時,我需要有一個唯一的URI(它將引用資源),有點像主鍵在rdbms中。我想知道在Jena中可以做什麼,比如我將爲可以生成URI的實例創建資源?在Jena爲RDF生成URI

實施例:

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

- 我在這裏硬編碼(或用戶輸入)的answer_id,然後附加到一個預定義的URI。我可以生成它而不是硬編碼(像在mysql中自動增量)?

+2

相關的問題 - http://answers.semanticweb.com/questions/516/generating-unique-ids-in-triple-store-ala-mysql-auto_increment - 論三重存儲自動遞增的ID一般來說 – RobV

回答

1

如果你只想唯一的ID,你可以使用類似UUID.randomUUID()UUID.fromString(name)

UUIDjava.util

0

我使用URN來標識我的RDF資源,因爲URL沒有增加價值,因爲我沒有發佈我的資源。有一個Jena圖書館以URN的形式生成UUID

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