2012-02-07 1 views
5

В документе Section 6.4 «Структура описания ресурса (RDF): понятия и абстрактный синтаксис» говорится, что «Ссылка URI в графе RDF (ссылка на URI RDF) ... создала бы допустимую последовательность символов URI (по RFC2396, разделы 2.1) , представляющий абсолютный URI с необязательным идентификатором фрагмента ... «Является ли «строка запроса» разрешенной в URI, используемой в RDF?

RFC 2396, раздел 2.1 касается только кодирования отдельных символов. Он не говорит о том, какие разделы стандартного URI разрешены в RDF.

В некоторых документах RDF, которые я видел, термин «абсолютный URI», по-видимому, относится только к форме domain.tld/path/name # optionalFragment URI, но без упоминания о том, является ли строка запроса (? Key1 = value1 & key2 = value2) (иногда называемый CGI-данными) разрешен или запрещен. Другая документация RDF использует термин «абсолютный URI» в отличие от относительного URI (/ just/a/path).

Поиск «строки запроса RDF URI» изобилует ложными ударами по таким вещам, как SPARQL.

Итак, мой вопрос: разрешена ли стандартная строка HTML-запроса в URI, используемом в RDF или RDFa?

Если нет, то почему бы и нет? Я понимаю, что URI не является URL-адресом и не обязательно будет использоваться для извлечения веб-страницы с сервера. Тем не менее, RDF-процессоры читают эти URI, и я думаю, что они могут оказать некоторую помощь в виде дополнительных метаданных, которые могут быть переданы через эти строки запроса.

[Обновить 2/9/2012] Вот мой вопрос: я ищу способ указать «силу» соединения. Например, не все foaf: одинаково хорошо знают всех. Возможно, мы только что встретились в течение нескольких минут на конференции. Или я, возможно, жил с кем-то годами. Все дело в ФАО. Однако, если бы я смог написать foaf: знает? Force = + 50, то процессоры, которые не знают, что делать с ключом прочности, могут игнорировать его, а те, которые являются «осведомленными о силе», будут иметь ценные дополнительные метаданные. Я мог бы создать словарь, который включает в себя термин «agreesWith», а затем значение силы = ключевое значение может варьироваться от 0 до 100 (с указанием процентов от соглашения). Затем я бы рассмотрел весь диапазон соглашений с одним термином словаря. {Примечание. Я подумал о том, чтобы диапазон варьировался от -100 до +100, чтобы охватить ряд разногласий. Однако для обратной совместимости нам понадобится термин «не согласен с», так что процессоры, которые не являются «осведомленными о силе», все равно будут знать разницу между «соглашением» и «несогласием».}

Как сейчас, кажется, что там не является оправдателем RDF, чтобы знать разницу между «едва встреченными» и «знает его лучше, чем он сам знает». Решение относиться к каждому разному URI предиката с другим значением в паре ключ-значение как совершенно отдельный и полностью несвязанный предикат, похоже, выбрасывает почти всю самую ценную информацию о соединении, все из-за простой записи кода и быстрой обработки.

Могут быть другие ценные использования для пар ключ-значение в строка запроса, кроме создания n полностью отдельный объект, предикат или объект: их можно было использовать для указания того, кто добавил конкретный объект в совместно отредактированный файл .RDF. Как известно, все рассудители RDF знают, что существует тройка, где-то там? У него нет дополнительной информации, на основе которой можно обосновать свои рассуждения. Зашифрованные парольные фразы могут использоваться для проверки достоверности источника, а не просто для того, чтобы доверять или не доверять всему домену.

ответ

7

Да.

(Что, вы хотите больше?)

RDF относится к вещам, использующим то, что принято называть «URL». Если вы хотите быть более точным, IRI (по сути, это способ включить в URL больше, чем ascii, поэтому вы можете использовать экзотические символы в своей панели браузера). Самый точный ответ слишком утомительный, чтобы относиться, так что предположим ИРИ.

RDF использует абсолютные ссылки. Его синтаксисы могут использовать относительные ссылки (например, foo/bar), но они разрешены относительно базы документов, чтобы стать абсолютными. Точно как html ссылки, на самом деле.

Вне синтаксиса RDF не касается внутренних элементов этих ссылок. Вы просто сравниваете их по характеру. Как следствие:

  • http://example.com/foo/bar == http://example.com/foo/bar
  • http://example.com/foo/bar?query=x == http://example.com/foo/bar?query=x
  • http://example.com/foo/bar != http://example.com/foo/bar?query=x
  • http://example.com/foo/bar#x == http://example.com/foo/bar#x
  • http://example.com/foo/bar != http://example.com/foo/bar#x
  • http://example.com/%66oo/bar != http://example.com/foo/bar

Обратите внимание, что вы не делаете даже получить нормализацию.

И, в частности, RDF не видит часть запроса как нечто особенное.

+0

Итак, если бы я должен был написать RDF-процессор, который обрабатывал бы любые URI с идентичными domainName.tld/path/name/частями как идентичные объекты, а затем обрабатывал любую строку запроса как просто дополнительные метаданные о конкретном соединении, то этот RDF-процессор было бы вне спецификации? Как вы думаете, будет ли интерес к RDF-процессору, который работал таким образом? Я не вижу логики при обработке example.com/foo/bar, как совершенно не связанной с example.com/foo/bar#x, чем просто упрощает программирование. RDF может быть намного богаче, чем эта система. – GrantRobertson

+0

Если вы применили какой-то степени нормализации это спорно. Однако игнорирование строки запроса определенно неверно. Предположим, что 'http: //example.com/? Personid = xxx' были идентичны для всех' xxx'. Но вы можете сделать явное выражение: вставить отношение (т. Е. Тройное), связанное с 'http: // example.com /'; или вы можете создать собственную функцию эквивалентности SPARQL 'ex: sameIgnoringQuery (x, y)'. – user205512

+0

ОК, я думаю, теперь я могу раскрыть свой секретный план. : ^) См. Мой оригинальный пост для получения дополнительной информации. – GrantRobertson

4

Чтобы подтвердить ответ выше, да.

URI являются чисто синтаксическими, поэтому применяются правила, перечисленные выше.

URI с использованием фрагмента не вызывают различий, и когда агент пытается разыменовать один, он решает его на другой URI (который является URL-адресом) путем удаления фрагмента.

Наконец, рекомендуются использовать ИРИ (интернационализируемые ресурсы идентификаторы) вместо URI, где можно

http://www.ietf.org/rfc/rfc3987.txt

Это разные указано спецификатором облегченных записи ограничений и ограничения.

+0

Большое вам спасибо. Если бы не этот форум, я бы никогда не слышал об ИРИ. Я знаю, что завтра буду читать. – GrantRobertson