Зачем нам нужны и #, и / в IRI словаря?

Я пытаюсь выполнить некоторую работу с json-ld, и я встретил 2 типа словаря IRI:

Почему это? Это как-то связано с обработкой документов?


person inf3rno    schedule 26.06.2014    source источник


Ответы (1)


Словарь в вашем первом примере, вероятно (но не обязательно), использует 303 URI, во втором примере используется хеш URI.

Оба являются общими принципами проектирования URI словаря и решениями проблемы httpRange-14.

См. также раздел Выбор между 303 и хэшем.

person unor    schedule 26.06.2014
comment
Можно ли перейти по ссылке на хешированный словарь, загрузить график rdf о словаре и использовать селектор после хеш-метки (в текущем IRI), чтобы определить, о чем идет речь в текущей тройке RDF? - person inf3rno; 27.06.2014
comment
Например, является ли обычной практикой иметь что-то вроде этого: {"@type": "http://my.vocab#Person", name: "John Doe"} и автоматически извлекать словарь с помощью процессора jsonld, чтобы определить, какие ограничения имеет свойство name? Трудно понять, как создавать и анализировать документы jsonld, используя несколько словарей. - person inf3rno; 27.06.2014
comment
Я прочитал описание, поэтому IRI предназначены для веб-документов/ресурсов, а часть после # предназначена для вещей в реальном мире, которые должны иметь IRI, но которые не являются веб-документами, поэтому они не должны отправлять ответ. Забавно, но это еще больше меня смущает по поводу RDF-словарей. :Д :Д :Д - person inf3rno; 27.06.2014
comment
Например, у меня есть пекарня с хлебом, как мне ее смоделировать в Интернете? Я хочу получить информацию о 123-м хлебе, поэтому отправляю запрос GET /items/bread:123, который возвращает документ JSON-LD, я думаю, что-то вроде этого: { "@id": "/items/bread:123", "@type": "/vocab#Item", "label": "Bread", "weight": {"amount": 1, "measure": "kg"}}. Но где я должен разместить здесь /#things/123th-bread IRI, который представляет собой связь между реальной вещью и веб-ресурсом? Я думаю, что закончу лысым, изучая связанные данные с REST: D Кстати. отличный ответ! Должен ли я задать все это в другом вопросе? - person inf3rno; 27.06.2014
comment
@inf3rno: я думаю, было бы целесообразно создать еще один вопрос по этому поводу, да. -- Я не уверен, что понимаю ваш вопрос (и я не думаю, что в JSON-LD), но на вашем веб-сайте пекарни у вас будет /items/bread:123 в качестве URL-адреса для страницы о хлебе и с использованием метода хэш-URI , /items/bread:123#thing как URI о реальном хлебе. Поэтому, когда вы хотите сделать заявление о реальном хлебе, вы используете /items/bread:123#thing. - person unor; 27.06.2014
comment
Субъект и объект — это хорошо, но что будет предикатом между страницей и вещью? - person inf3rno; 27.06.2014
comment
@inf3rno: есть много свойств, которые можно использовать в разных словарях. Например, primaryTopic/isPrimaryTopicOf. - person unor; 27.06.2014
comment
О, я думал, что это для всего графика, а не для нескольких отношений в графике. Спасибо! - person inf3rno; 27.06.2014
comment
foaf:primaryTopic предназначен только для описания основной темы фактического веб-документа, не более того... rdf:about предназначен для описания связи между вещами и другими ресурсами RDF, которые о них. Итак, в примере /items/bread:123 rdf:about /items/bread:123#thing - person inf3rno; 30.06.2014
comment
@inf3rno: Основная тема веб-страницы о конкретном хлебе (/items/bread:123)… это конкретный хлеб (/items/bread:123#thing). -- AFAIK rdf:about - это нечто совершенно другое (это для объявления субъекта в сериализации RDF/XML; это не предикат, определенный в словаре RDF, который вы могли бы использовать в других документах RDF). - person unor; 01.07.2014