В чем разница между instanceShape и resourceShape?
В чем разница между instanceShape и resourceShape с точки зрения спецификации OSLC 2.0?
oslc: instanceShape - URI формы ресурса, который описывает возможные свойства, вхождение, типы значений, допустимые значения и метки. Эта информация о форме полезна для отображения предметного ресурса, а также для руководства клиентов при выполнении модификаций. Формы экземпляров могут быть специфичны для аутентифицированного пользователя, связанного с запросом, который извлек ресурс, текущее состояние ресурса и другие факторы и, следовательно, не должны кэшироваться.
Форма ресурса - удовлетворение этой потребности путем предоставления машиночитаемого определения одного или нескольких типов или экземпляров ресурсов OSLC. Фабрика создания OSLC МОЖЕТ предоставлять одну или несколько форм ресурсов, чтобы вы знали, какие свойства разрешены и необходимы для создания ресурсов.
Итак, я понимаю, что ресурс описывает свойства, но isntanceShape - это просто URL-адрес формы ресурса?
1 ответ
TL;DR: oslc:instanceShape
ссылки на форму ресурса для текущего ресурса, и oslc:resourceShape
ссылки на форму ресурса для ресурсов, которые могут быть созданы или запрошены в этом контексте.
OSLC: instanceShape
oslc:instanceShape
(свойство RDF или "предикат") используется для ссылки на форму ресурса ", которая описывает возможные свойства, вхождение, типы значений, допустимые значения и метки" текущего ресурса. То есть, если у вас есть ссылка (также известная как "тройная"):
<http://example.com/resources/1> oslc:instanceShape <http://example.com/shapes/A>
то это говорит о том, что форма ресурса, которая может быть получена путем запроса http://example.com/shapes/A
описывает форму ресурса, идентифицированного URI http://example.com/resources/1
, (Вероятно, вы увидите эту ссылку в ответе на запрос на URI этого ресурса http://example.com/resources/1
).
oslc:instanceShape против "Resource Shape"
Так что если вы спрашиваете "в чем разница между oslc:instanceShape
и фраза "Форма ресурса"? ", ответ таков: oslc:instanceShape
это свойство / предикат, который используется для ссылки на "форму ресурса".
OSLC: resourceShape
Однако есть и другое свойство / предикат, называемое oslc:resourceShape
, который вы упоминаете. Это используется для ссылки из ресурса "Фабрика создания" или "Возможность запроса", чтобы описать "форму" ресурсов, с которыми имеет дело фабрика или возможность. То есть он ссылается на форму ресурса ", которая описывает возможные свойства, вхождение, типы значений, допустимые значения и метки" ресурсов, которые можно создавать или запрашивать в этом контексте.
oslc:instanceShape против oslc: resourceShape
Теоретически, для фабрики творчества было бы возможно иметь обе эти ссылки, например:
<http://example.com/types/1/factory> rdf:type oslc:CreationFactory.
<http://example.com/types/1/factory> oslc:resourceShape <http://example.com/types/1/shape>.
<http://example.com/types/1/factory> oslc:instanceShape <http://example.com/factoryShape>.
Где запрашивать http://example.com/types/1/shape
вернет форму ресурса, которая описывает "форму" ресурсов, которые фабрика создания http://example.com/types/1/factory
может создавать и запрашивать http://example.com/factoryShape
вернет форму, которая описывает свойства, которые могут появиться в самом ресурсе фабрики создания. (Однако весьма маловероятно, что ресурс фабрики создания будет иметь instanceShape
ссылка, так как ее свойства четко определены в спецификации OSLC, и я не могу вспомнить ни одного случая, когда клиенту нужно было бы либо отобразить их пользователю, либо изменить их.)
Заключение: oslc:instanceShape
ссылки на форму ресурса для текущего ресурса, и oslc:resourceShape
ссылки на форму ресурса для ресурсов, которые могут быть созданы или запрошены в этом контексте.
В стороне: oslc: resourceShape против oslc: ResourceShape
Слегка в сторону: oslc:resourceShape
а также oslc:ResourceShape
разные: oslc:resourceShape
это свойство для ссылки на форму ресурса, и oslc:ResourceShape
это значение для использования для rdf:type
на Resource Shape сами ресурсы.
Источник
Таблица ресурсов для типа CreationFactory говорит, что для oslc:resourceShape
свойство: "Фабрика создания МОЖЕТ предоставлять формы ресурсов, которые описывают формы ресурсов, которые могут быть созданы".
Спецификации OSLC не содержат четкого описания того, как oslc:instanceShape
отличается, но представление форм ресурсов OSLC в W3C гласит: "Свойство oslc:instanceShape используется для связи любого описанного ресурса с ресурсом формы, который описывает его содержимое".