1

在 OSLC 2.0 规范方面,instanceShape 和 resourceShape 有什么区别?

oslc:instanceShape - 描述可能的属性、出现、值类型、允许的值和标签的资源形状的 URI。此形状信息在显示主题资源以及指导客户端执行修改时很有用。实例形状可能特定于与检索资源的请求关联的经过身份验证的用户、资源的当前状态和其他因素,因此不应被缓存。

资源形状- 通过提供一种或多种 OSLC 资源类型或实例的机器可读定义来满足这一需求。OSLC 创建工厂可以提供一个或多个资源形状,以便您知道创建资源允许和需要哪些属性。

所以我的理解是资源描述了属性是什么,但isnttanceShape只是资源形状的 URL?

4

1 回答 1

3

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 与“资源形状”

因此,如果您要问“与‘资源形状’这句话有什么区别oslc:instanceShape?”,答案是oslc:instanceShape用于链接到“资源形状”的属性/谓词。

oslc:资源形状

但是,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的资源的“形状”的资源形状,请求将返回描述可以出现在创建工厂资源本身上的属性的形状。(但是,创建工厂资源不太可能有链接,因为它的属性由 OSLC 规范明确定义,我想不出客户端需要向用户显示这些或修改它们。)http://example.com/types/1/factoryhttp://example.com/factoryShapeinstanceShape

结论:oslc:instanceShape链接到当前资源的资源形状,并oslc:resourceShape链接到可以在该上下文中创建或查询的资源的资源形状。


旁白:oslc:resourceShape vs oslc:ResourceShape

稍稍撇开:oslc:resourceShapeoslc:ResourceShape不同的是:oslc:resourceShape是链接到资源形状的属性,并且oslc:ResourceShape是用于rdf:type资源形状资源本身的值。

资源

CreationFactory 类型的资源表对属性说oslc:resourceShape:“Creation Factory 可以提供描述可能创建的资源形状的资源形状”。

OSLC 规范似乎没有明确描述oslc:instanceShape不同之处,但向 W3C 提交的 OSLC 资源形状说:“oslc:instanceShape 属性用于将任何描述的资源与描述其内容的形状资源链接起来”。

于 2015-08-25T13:17:36.820 回答