[oslc-core] Clarity on resource definitions (feedback on blank node vs reference resources NEEDED) (was: Tracked Resource Set: comments)
Steve K Speicher
sspeiche at us.ibm.com
Mon May 20 16:46:01 EDT 2013
I'm splitting up the response to your comments so I can get this out in
front of the WG ahead of the meeting and since this clarifies the intent
of a few items which could affect some implementations in flight.
Let me know IMMEDIATELY if there we a different read on the options below
and if the proposed corrections cause implementation problems. I do not
see these as big shifts in the spec, just fixing up some missing edits.
See details below:
Thanks,
Steve Speicher
IBM Rational Software
OSLC - Lifecycle integration inspired by the web ->
http://open-services.net
From: John Arwe/Poughkeepsie/IBM at IBMUS
To: oslc-core at open-services.net
Date: 05/13/2013 03:37 PM
Subject: [oslc-core] Tracked Resource Set: comments
Sent by: "Oslc-Core" <oslc-core-bounces at open-services.net>
> http://open-services.net/wiki/core/TrackedResourceSet-2.0/
> > Resource definitions (general comments)
> 1: Read-only is False in all cases. In other words server
implementations are generally expected to make all these triples writable.
Not seeing why anything stronger than unspecified is needed at first
blush, and as potential implementers I'd actually expect most will be r/o
(True) not client-writable. [3]
They should all be true, not sure what happened here. Perhaps editor(s)
had it inverted, was in writable==False but clearly this was meant to all
Read-only==True.
> 2: Range is often filled in. I thought the current thinking was to
"almost always" leave it core:Any, and list in the description the
concrete types a client would commonly expect/hence "should" code for.
Yes this true and this approach is followed here. There are a few
properties that don't make sense with any other type of resource. See
suggested changes below
> 3: "n/a" representations for Resource value types is not a valid
combination. If the goal is to be open, use Either. Although in cases
where you truly want Local resources only, [4] appears to imply the only
possible representation is Inline [5].
See suggested changes below. Either should be used.
> > Tracked Resource Set resource def
> Table says Resource = Local [4], Representation = Inline [5] for
trs:changeLog. Text says "contain the triples for the referenced Change
Log (i.e., via a Blank Node, or an inline named Resource) " which is
actually more than what the table allows. Why are we in the business of
caring how servers represent the resources here? If the requirement is
that the CL triples come back on the TRS GET, fine that's covered in text.
I should be able to name (identify) the CL anything I like as long as you
get your steenkin triples back when/where the spec says you need them.
The table has a bug in it, it is intended to be Any (Local or Resource)
for trs:changeLog. The text needs to be updated to match. See below
> > "base" resource def
> 1: This could be read to suggest that rdfs:member is the only predicate
that can be used to enumerate the set. Is this true, or (as the examples
might also suggest) it is a general ldp:Container implying that the
membership predicate can vary by container?
> 2: Table says Resource = Local [4], Representation = Inline [5] for
trs:cutoffEvent, and range is filled in (consistent so far). Examples
however do not show blank nodes (as both [4] and [5] require according to
the core vocabulary document). Suspect you want Resource + Reference,
which is the standard enum pattern.
That is correct, intent is to be Resource + Reference. Side note, the
cutoff event is missing from the example and needs to be inserted.
Summary of the proposed changes to the resource description tables:
All
- Change Read-only to "True"
== Resource: TrackedResourceSet ==
trs:base
- none
trs:changeLog
- Change Value-type to Resource
- Change Representation to Either
rdfs:member
- Update description to say something such as "Or membership predicate
otherwise indicated by ldp:membershipPredicate"
trs:cutoffEvent
- Change Value-type to Resource
- Change Representation to Either
== Resource: ChangeLog ==
trs:change
- Change Value-type to Resource
- Change Representation to Either
- trs:change range is trs:Creation, trs:Modification, trs:Deletion
trs:previous
- Change Representation to Either
Change "Each object of a trs:change triple is a Local Resource" to "Each
object of a trs:change triple is a Resource"
rdf:type
- Change Representation to Reference
trs:changed
- Change Representation to Either
trs:order
- Change Representation to Either
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://open-services.net/pipermail/oslc-core_open-services.net/attachments/20130520/b54c5680/attachment-0003.html>
More information about the Oslc-Core
mailing list