2011-10-11 13 views
5

Estoy generando un archivo RDF programáticamente en Jena, es decir, cuando estoy insertando datos en el rdf (instancias) necesito tener un URI único (que se referirá al recurso), algo así como clave principal en rdbms. Quiero saber si es posible hacer en Jena como cuando crearé un recurso para una instancia en la que pueda generar el URI.Generando URI en Jena para RDF

Ejemplo:

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

- aquí estoy hardcoding (o entrada de usuario) la answer_id y a continuación, añadiendo a un URI predefinido. En lugar de hardcoding, ¿puedo generarlo (como autoincremento en mysql)?

+2

pregunta relacionada - http://answers.semanticweb.com/questions/516/generating-unique-ids-in-triple-store-ala-mysql-auto_increment - Discusión sobre los ID de incremento automático en las tiendas triples en general – RobV

Respuesta

1

Si sólo desea la identificación única, puede usar algo como UUID.randomUUID() o UUID.fromString(name)

UUID está en java.util paquete

0

Utilizo URN para identificar mis recursos de RDF ya que las URL no agregan mucho valor ya que no estoy publicando mis recursos. Hay una biblioteca de Jena para generar UUID en la forma de 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