Я пишу настольное приложение с использованием технологий Gnome, и я достиг стадии . Я начал планировать поддержку Semantic Desktop.Назначение URI для ресурсов RDF
После многого мозгового штурма, набросания идей и моделей, написание заметок и много читающих о RDF и смежных вопросах, я, наконец, придумал проект плана .
Первое, что я решил сделать, это определить способ предоставления URI ресурсов, и именно здесь я хотел бы услышать ваш совет.
Моя программа состоит из двух частей:
1) на нижний уровень, определяются схема RDF. Это стандартный набор классов и свойств , которые могут быть расширены пользователями, которые хотят получить дополнительные опции (используя язык определения, переведенный в RDF).
2) На высоком уровне пользователь определяет ресурсы, используя эти классы, и свойства .
Там нет никаких проблем с более низким уровнем, так как модель данных общественности: Даже если пользователь решает добавить новое содержание, она очень полезна для поделиться им и сделать приложение других людей имеют больше возможностей. Проблема заключается в со второй частью. На более высоком уровне пользователь определяет задачи, встреч, встреч, планов и расписаний. Они могут быть частными, и пользователь может предпочесть иметь любую информацию в URI, раскрывающую источник информации.
Так вот вопросы у меня на уме:
1) Какой URI схемы я должен использовать? У меня нет веб-сайта или любого веб-сайта страниц, поэтому использование http не имеет смысла. Похоже, что не имеет смысла использовать любой другой стандартный IRI-зарегистрированный URI. Я рассматривает два варианта: использовать некоторые пользовательские, мой собственный, URI имя схемы для государственных ресурсов, а также использовать голую URN для частных, что-то вроде это:
urn : random_name_i_made_up : some_private_resource_uuid
Но мне было интересно ли пользовательская схема URI - хорошее решение, я открыт для прослушивания идей от вас :)
2) Как скрыть частные ресурсы? С одной стороны, может быть очень полезным для URI, чтобы сообщить, откуда взялась задача, особенно когда задачи разделены и делегированы между людьми. С другой стороны, это не считают конфиденциальность. Затем я подумал: могу ли я/использовать два разных стиля URI в зависимости от настроек пользователя? Это создало бы несоответствие . Я не уверен, что делать здесь, так как у меня нет никакого опыта работы с URI. Надеюсь, у вас есть несколько советов для меня.
Спасибо, я буду использовать UUID, как вы предлагаете. Сам URI не будет содержать никаких данных местоположения, но совместное использование ресурсов будет по-прежнему возможно: через некоторую внешнюю службу, например, HTTP/XMPP, пользователи подключаются друг к другу и могут отправлять ресурсы друг другу с помощью протокола. Затем ресурс может иметь сведения, позволяющие получить к нему доступ. Таким образом, частный ресурс по-прежнему остается частным, если не делиться с другими людьми :) – cfa45ca55111016ee9269f0a52e771