Генерация URI в Йене для RDF - PullRequest
       40

Генерация URI в Йене для RDF

5 голосов
/ 11 октября 2011

Я генерирую RDF-файл программно в Йене, то есть когда я вставляю данные в rdf (экземпляры), мне нужен уникальный URI (который будет ссылаться на ресурс), что-то вроде первичного ключа в rdbms. Я хочу знать, возможно ли это сделать в Йене, например, когда я создам ресурс для экземпляра, который я могу сгенерировать URI?

Пример:

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

- здесь я жестко (или пользовательский ввод) answer_id и затем добавляю к предопределенному URI. Вместо жесткого кодирования я могу сгенерировать его (например, автоинкремент в MySQL)?

Ответы [ 3 ]

3 голосов
/ 11 октября 2011

Существует URI-схема для UUID http://www.ietf.org/rfc/rfc4122.txt,, поэтому вы можете использовать ее для преобразования UUID в URI, например, urn: uuid: 2238b240-f3eb-11e0-be50-0800200c9a66

В качестве альтернативы вы можете простодобавьте UUID к какому-либо префиксу, например, http://my.example/id/2238b240-f3eb-11e0-be50-0800200c9a66

Одноразовые URI на основе HTTP хороши, если вы хотите, чтобы он был разрешаем.

1 голос
/ 11 октября 2011

Если вам нужен только уникальный идентификатор, вы можете использовать что-то вроде UUID.randomUUID() или UUID.fromString(name)

UUID в java.util упаковке

0 голосов
/ 13 апреля 2015

Я использую URN для идентификации моих ресурсов RDF, так как URL-адреса не имеют большого значения, так как я не публикую свои ресурсы. Есть библиотека Jena для генерации UUID в форме 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
...