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


Help: OASIS Mailing Lists Help | MarkMail Help

oslc-core message

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

Subject: Re: [oslc-core] OSLC query, vote on query results container MUST be an LDPC

I recall the earlier discussions now. My thinking at the time was that, yes, this would make OSLC 3 incompatible with OSLC 2, in that existing OSLC 2 servers would be incompatible. However, a server that wanted to be compatible with OSLC 3, and that did not already provide a query base that was an LDPC could convert its existing query base to be an LDPC by adding the necessary link headers and properties, including an ldp:hasMemberRelationpredicate defining the existing query result relationship.

Since the additional link headers and properties could be ignored by clients, this change would be upwards compatible.

The advantage to going in this direction with the spec is that future clients could then rely on there being an ldp:hasMemberRelationpredicate to find the results; with OSLC 2 query, clients have to know or guess at the result predicate, since it is not well defined, and does vary between existing servers.  This existing variance is also why I do not believe we can do as Jim suggests and reduce the spec to requiring one fixed predicate such as rdfs:member.

That existing variance is a significant problem in writing generic OSLC query clients today, so I think the decision as to whether the spec says the result MUST or SHOULD be an LDPC is a tradeoff between the benefit in reducing this lack of precision in the 2.0 spec vs. the cost of making a server OSLC 3.0 compliant. Since there is no rush to make such OSLC 3.0 compliant servers, and since the change is upwards compatible, I now tend to lean to my original vote in the minutes found by David, and withdraw my suggestion of weakening it to a SHOULD. However, since a SHOULD clause does provide guidance to any future implementations, I do not feel this is critical, and I'd accept either SHOULD or MUST. I do think the spec should call out use of an LDPC here, as that is the obvious way to avoid perpetuating the problem of an undefined result predicate, and as David mentioned, we have other existing uses of the Linked Data Platform in TRS and Configuration Management, so the 3.0 specs do rely on LDP and LDPCs anyway.


From:        David Honey1 <DavidHoney@uk.ibm.com>
To:        "OSLC Core TC (oslc-core@lists.oasis-open.org)" <oslc-core@lists.oasis-open.org>
Cc:        Nicholas Crossley <nick_crossley@us.ibm.com>
Date:        10/04/2018 03:27 AM
Subject:        [oslc-core] OSLC query, vote on query results container MUST be an LDPC
Sent by:        <oslc-core@lists.oasis-open.org>

Following up an action from last week's meeting, I found the meeting minutes where we discussed whether the requirement for a query results container to be an LDPC was voted to be a MUST rather than a SHOULD: https://wiki.oasis-open.org/oslc-core/Meetings/Telecon2018.07.19

Here an excerpt from the minutes|:

14:22] Andrew Berezovskyi (KTH): Jim: why care about LDPC adoption in case of the Query (only)?
[14:23] Andrew Berezovskyi (KTH): RQM is one of the tools using a custom predicate
[14:24] Andrew Berezovskyi (KTH): ^(NIck)
[14:26] Andrew Berezovskyi (KTH): one option is that we make LDPC method a must, the oslc predicate can be a MAY; Martin thinks it would be good to have a "clean" implementation example. Jim: in reality most clients & servers would have to implement all options.
[14:27] Andrew Berezovskyi (KTH): Jim: we can adopt LDP as the memb pred specification mechanism, then express the default rdfs:member and oslc predicate as membership predicate and an equiv predicate membership declaration method respectively
[14:29] Andrew Berezovskyi (KTH): David: if nothing is provided, rdfs:member MUST be used. If a shape is given, a given predicate MUST be used. If we make LDPC a must, all v2.0 implementation will not be compliant with v3.0.
[14:30] Andrew Berezovskyi (KTH): Nick: that would not be the end of the world. we want compat for clients, not necessarily for the servers!
[14:31] Andrew Berezovskyi (KTH): David: the 2.0 spec was vague on some statements and just by clarifying them in 3.0, many servers may be incompatible with the 2.0 clients
[14:34] Andrew Berezovskyi (KTH): David: LDPC still can be a MUST and the clients will still be able to consume the results via shapes
[14:34] Andrew Berezovskyi (KTH): David: this will make the section simpler
[14:34] Andrew Berezovskyi (KTH): Jim: I don't see the much demand for LDPC in this context.
[14:35] Andrew Berezovskyi (KTH): David: I don't think SHOULD will be of any help to promote the use of LDPCs.
[14:37] Andrew Berezovskyi (KTH): Jim: MUST has risk of forcing some constraints that have no value prop
[14:39] Andrew Berezovskyi (KTH): OPC-UA
[14:41] Andrew Berezovskyi (KTH): strong points: strong specs of profiles and certification
[14:42] Andrew Berezovskyi (KTH): downside: 1200 pages+ in the ISO standards
[14:42] Andrew Berezovskyi (KTH): Jim: OSLC has a different philosophy
[14:43] David Honey (Persistent/IBM):
[14:44] Andrew Berezovskyi (KTH): Jim: is the LDPC MUST and no explicit membership predicate are incompatible
[14:44] Andrew Berezovskyi (KTH): Nick: again, that will make existing 2.0 servers non-3.0 compliant
[14:45] Andrew Berezovskyi (KTH): Jim: it will inhibit integration
[14:45] Andrew Berezovskyi (KTH): David: it would be just a few more triples
[14:45] Andrew Berezovskyi (KTH): Jim: products will be slow adopting this
[14:47] Andrew Berezovskyi (KTH): Andrew: I believe we should consider OSLC version header, as HTTP, TLS and others do
[14:50] Andrew Berezovskyi (KTH): Nick: versioning would allow gradual improvement. Jim: we need to encourage compatibility and have clients discover new capabilities.
[14:50] Andrew Berezovskyi (KTH): Andrew: what if we do two different capabilities and support discovery
[14:51] Andrew Berezovskyi (KTH): Nick: but that would place a lot of burden on the impl: new predicate, new endpoint etc. + old clients won't discover
[14:52] Andrew Berezovskyi (KTH): Andrew: agree, just trying to accomod Jim's discovery requirement
[14:54] Andrew Berezovskyi (KTH): Jim: what if we had the LDPC MUST, clients would check for LDPC and if none exists, you check for the oslc membership, finally, go for rdfs. Nick: RQM, DNG apps differ in the predicates; clients are already complicated because the spec was imprecise.
[14:56] Andrew Berezovskyi (KTH): David: would require verbose triples in the response. Jim: nothing esp. bad with this, there are some cases.
[14:57] Andrew Berezovskyi (KTH): Jim: is MUST/SHOULD on LDPC consistent here with the rest of the document?
[14:57] Andrew Berezovskyi (KTH): Jim: LQE uses rdf:member
[14:57] Andrew Berezovskyi (KTH): Nick: LQE is not a reference here
[14:58] Andrew Berezovskyi (KTH): David: the Q is whether LDPC requirement should be upgraded to a MUST or remain a SHOULD.
[14:59] Andrew Berezovskyi (KTH): David proposes a vote whether whether the LDPC requirement should be upgraded to a MUST.
[15:01] Nick Crossley (IBM): Propose that the spec say a query result MUST be an LDPC - and that the subsequent requirements fit in with that (for example, by using appropriate LDPC properties to use rdfs:member as a membership predicate by default)
[15:02] David Honey (Persistent/IBM): +1
[15:02] Jim Amsden: 0
[15:02] Andrew Berezovskyi (KTH): 0
[15:02] David Honey (Persistent/IBM): Seconded
[15:02] Nick Crossley (IBM): Nick: +1
[15:02] Martin Sarabura: +1
[15:03] Andrew Berezovskyi (KTH): Motion carried

Given Nick's concern that this makes the Query 3.0 spec incompatible with most implementations (an object he stated in that meeting), we may want to reconsider. I'd like to discuss this in today's meeting so I can wrap up the Query spec editorial work. This is the only open issue I am aware of.

Best regards,
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

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