OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

oslc-promcode message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [oslc-promcode] Re: resource value-type and container resource lifecycle


Arthur,

Thank you for sharing your experience. It helps a lot. I didn't know oslc:representation property since they are not shown in shape table which are generated by ReSpec.

All members,

I will update shape document on Friday, unless you have any comment on it.
The changes would be:
- add oslc:representation property to links
- set them as oslc:Reference except

> promcode:target (from Artifact to Target) promcode:determines (from Target to Measure) promcode:observes (from Measurement to Measure).
- for these links, set them as oslc:Inline

Regards,
Kaz

-----Original Message-----
From: oslc-promcode@lists.oasis-open.org [mailto:oslc-promcode@lists.oasis-open.org] On Behalf Of Arthur Ryman
Sent: Thursday, June 11, 2015 6:55 AM
To: Funakoshi Kazuhiro(船越 和大)
Cc: oslc-promcode@lists.oasis-open.org
Subject: [oslc-promcode] Re: resource value-type and container resource lifecycle

Kaz,

We discussed this topic on the TC telecon yesterday. Here is a summary of what I said, and some additional clarification. Please refer to the current version of the spec [1].

Fig. 6 shows all of the resource types. All of the resources types except for Target and Measure are top-level resources. A top-level resource has a URI that you can GET, PUT, and DELETE.

Any property of a top-level resource that refers to another top-level resource should be described in the shape as having:
oslc:valueType = oslc:Resource
oslc:representation = oslc:Reference

Target and Measure are "inline resources". This means that they are created when their parent top-level resource is created, and they have URIs that are relative to the URIs of their parent top-level resource.

Artifact is the parent of Target and Measure resources.
Measurement is the parent of Measure resources.

I recommend that we give Target and Measure resources URIs that use fragment identifiers. The alternative is to use blank nodes (oslc:LocalResource), but that prevents references to Target and Measure, e.g. in SPARQL queries or PATCH requests. We should avoid blank nodes and use fragment identifiers.

For example, suppose http://example.com/promcode/item/42 is the URI of an Artifact resource and http://example.com/promcode/measurement/137
is the URI of a Measurement resource.  Then the URIs of Target and Measure resources might be:
http://example.com/promcode/item/42#target-3
http://example.com/promcode/item/42#measure-12
http://example.com/promcode/measurement/137#measure-58

There are three properties that refer to inline resources. These are:
promcode:target (from Artifact to Target) promcode:determines (from Target to Measure) promcode:observes (from Measurement to Measure).

These properties should be described in the shape as having:
oslc:valueType = oslc:Resource
oslc:representation = oslc:Inline

During the telecon, I referred to Target and Measure as "local resources", but that would only be correct if we used blank nodes for them. Experience has shown that blank nodes are problematic and should be avoided. The only situation in which a blank node should be used is when the URI of a resource is unknown. But that is not the situation here since we can easily created URIs using fragment identifiers.
Therefore, let's refer to Target and Measure as inline resources from now on.

When any resource is deleted, all of the resources that depend on it must also be deleted. This includes all top-level or inline resources.
Therefore, when an Artifact is deleted, the MeasurementContainer and all inlined Target resources must be deleted. When a Target is deleted, all inlined Measure resources must be deleted. When MeasurementContainer is deleted, all Measurement resources must be deleted. When a Measurement resource is deleted, all inlined Measure resources must be deleted.

Note that Target and Measurement link to distinct instances of Measure resources. Therefore, when comparing a Target to Measurements, we need to compare Measure resources by value, not reference.


[1] https://tools.oasis-open.org/version-control/browse/wsvn/oslc-promcode/shape/trunk/spec.html

-- Arthur

On Sun, Jun 7, 2015 at 9:57 PM, Kazuhiro Funakoshi <k-f@bk.jp.nec.com> wrote:
> Hi Arthur,
>
> We had a local discussion with sample implementation team last Friday.
> I think we had not discussed value-type specification in shape 
> documents yet, especially about those links from/to LDP container resources.
> One question is, which resources can be a local resource? We need 
> re-think of that.
>
> Followings are my poor understanding relates to LDP containers. Could 
> you please point out if they are wrong?
>
> When a Project resource is created, PlanContainer, ReportContainer, 
> ManagedItemContainer, RiskCollectionContainer and 
> IssueCollectionContainer will automatically be generated.
>
> These container resources should be identified with a URI, thus their 
> inbound links are restricted to be oslc:Resource (not oslc:LocalResource).
> Same for out-bound ldp:contains links, right?
>
> We need support deletion of resources like Artifact. When we delete an 
> Artifact, a MeasurementContainer and Measurement(s) may also be deleted.
> What happens to a Target? Since a Target may have exactly one 
> out-bound link to an Artifact, should the Target resource also be deleted?
>
> Thank you in advance,
> Kaz
>

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php 

Attachment: smime.p7s
Description: S/MIME cryptographic signature



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]