В чем разница между 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 используется для связи любого описанного ресурса с ресурсом формы, который описывает его содержимое".

Другие вопросы по тегам