2011-10-11 15 views
5

Sto generando un file RDF a livello di codice in Jena cioè quando sto inserendo i dati in rdf (istanze) ho bisogno di avere un URI univoco (che si riferirà alla risorsa), un po 'come la chiave primaria in rdbms. Voglio sapere è possibile farlo in Jena come quando creerò Resource per un'istanza che posso generare l'URI?Generazione di URI in Jena per RDF

Esempio:

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

- qui mi hardcoding (o input dell'utente) l'answer_id e poi aggiungendo a un URI predefinito. Invece di hardcoding posso generarlo (come l'incremento automatico in mysql)?

+2

questione connessa - http://answers.semanticweb.com/questions/516/generating-unique-ids-in-triple-store-ala-mysql-auto_increment - Discussione sugli ID incremento automatico nei negozi Triple in generale – RobV

risposta

1

Se volete ID solo unico, si può usare qualcosa come UUID.randomUUID() o UUID.fromString(name)

UUID è in java.util pacchetto

0

Io uso URN per identificare le mie risorse RDF poiché l'URL non aggiunge molto valore poiché non sto pubblicando le mie risorse. C'è una libreria Jena per generare UUID nel formato di URN.

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 
Problemi correlati