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/factory
http://example.com/factoryShape
instanceShape
结论:oslc:instanceShape
链接到当前资源的资源形状,并oslc:resourceShape
链接到可以在该上下文中创建或查询的资源的资源形状。
旁白:oslc:resourceShape vs oslc:ResourceShape
稍稍撇开:oslc:resourceShape
和oslc:ResourceShape
不同的是:oslc:resourceShape
是链接到资源形状的属性,并且oslc:ResourceShape
是用于rdf:type
资源形状资源本身的值。
资源
CreationFactory 类型的资源表对属性说oslc:resourceShape
:“Creation Factory 可以提供描述可能创建的资源形状的资源形状”。
OSLC 规范似乎没有明确描述oslc:instanceShape
不同之处,但向 W3C 提交的 OSLC 资源形状说:“oslc:instanceShape 属性用于将任何描述的资源与描述其内容的形状资源链接起来”。