2011-10-11 14 views
5

Generuję plik RDF programowo w Jenie tj. Kiedy wstawiam dane do rdf (instancji) muszę mieć unikalny URI (który będzie odnosił się do zasobu), trochę jak klucz podstawowy w rdbms. Chcę wiedzieć, czy jest to możliwe do zrobienia w Jenie, kiedy utworzę zasób dla instancji, na której mogę wygenerować URI?Generowanie identyfikatorów URI w Jenie dla RDF

przykład:

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

- o ja sztywno (lub dane wprowadzone przez użytkownika) answer_id, a następnie dodanie do predefiniowanej URI. Zamiast kodowania twardego mogę je wygenerować (jak auto inkrementacja w mysql)?

+2

Podobne zapytania - http://answers.semanticweb.com/questions/516/generating-unique-ids-in-triple-store-ala-mysql-auto_increment - Dyskusja na autoinkrementacja identyfikatorów w Triple Stores ogólnie – RobV

Odpowiedz

1

Jeśli chcesz po prostu unikatowy identyfikator, można użyć coś jak UUID.randomUUID() lub UUID.fromString(name)

UUID jest w java.util pakietu

0

Używam URN do identyfikowania moich zasobów RDF, ponieważ adres URL dodaje niewiele wartości, ponieważ nie publikuję swoich zasobów. Istnieje biblioteka Jena do generowania UUID w postaci 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 
Powiązane problemy