Автоматически добавлять записи с инкрементными значениями в RDF - PullRequest
2 голосов
/ 02 сентября 2010

Я хочу записать записи "анонимных" анонимных пользователей:

user:1 vocab:likes record:123234 .
user:2 vocab:likes record:124534 .

Есть ли способ добавить инкрементные значения в rdf / turtle без явного их указания?

Ответы [ 2 ]

4 голосов
/ 02 сентября 2010

Я не думаю, что в модели данных RDF нет ничего, что позволяло бы вам создавать последовательные URI.Может быть, вы могли бы взглянуть на следующие шаги RDF , чтобы увидеть, что-то происходит.Наиболее близкими могут быть списки RDF, которые я настоятельно не рекомендую, их трудно обрабатывать на уровне приложений.

Я бы тоже не стал использовать bNodes, поскольку они во многом ограничат возможности вашего приложения.Вы не сможете выполнять дальнейшее связывание объекта после того, как создали его.Я всегда избегаю создания bNodes, когда это возможно.

В большинстве случаев есть хеш-функция, которую вы можете использовать для создания URI.Например, если ваше приложение обрабатывает уникальные идентификаторы пользователей, вы можете сделать:

user:msalvadores vocab:likes record:hashRecordId1 .
user:significance vocab:likes record:hasRecordId2 .

Для записей, если у вас есть уникальная часть информации, используйте ее для генерации URI или в худшем случае используйте URI на основе метки времени.

Это не самое умное решение, но оно работает.

2 голосов
/ 02 сентября 2010

Я не уверен, что правильно понял, что вы ищете. Предполагая, что вам нужен какой-то анонимный ресурс для предметной части user:n, вы можете использовать пустые узлы, например:

[] vocab:likes record:r123234 .
[] vocab:likes record:r123234, record:r124534 . # this anon. user likes two records
...