[oslc-core] Comments on OSLC Links Guidance Draft
Ian Green1
ian.green at uk.ibm.com
Mon Mar 8 08:23:33 EST 2010
Hello OSLC Core team
I'd like to understand the objectives & scope of the OSLC Core Guidance on
linking. I'm aware of pressure from my own workgroup (RM) that we need
answers to some basic questions, and wonder if OSLC Core might be able to
give an indication as to how far we might get in 2.0/2.1?
Here are some basic questions:
- what relationships do we want to bake into OSLC? A set of
relationships that have a broadly understood meaning that can support
integration scenarios. For example, what does "implementedBy" mean? The
RM team made a start on this last year: see [3]. Currently, OSLC does not
define any such types and so interoperation around links can only work
outside of current specs.
- How does a consumer discover links? Is this for all links, or
only those "known" to a certain authority?
- Does OSLC say anything about links to resources that do not
support OSLC-defined protocols?
- How to ensure that the OSLC protocols can be implemented in a
robust manner. For example, so that referential integrity can be
maintained.
Do we know which of these issues are in scope for 2.0 guidance?
thanks
-ian
----
I've got some more detailled comments on the current draft:
Quite a bit of discussion has been had in the past on link resources, as
described at [1]. One concern with this style is that there is "step
change" in complexity - from "simple" to "complex" link.
I see "link" as a low-level building block. Really, we are interested in
something bigger - "relationship" might be the word for that. A link (a
URI-valued property) is unidirectional and we know that this does not meet
even our most basic integration scenarios. For example, we need
navigability and discovery in both directions. The C/ALM 2009 practice of
making two links, one in each direction is known to be unsatisfactory:
- referential integrity
- needs two elements in the volcabulary ("implementedBy" and
"implements") (worse for n-ary relations)
- unclear ownership
I'm afraid that I don't understand the example of a complex link (the RDF
is not well-formed). Is the intention that the Podcast resource
describes the relationship between the Entry and the uploaded podcast (the
thing at .../uploads/962357642)?
This could be made to valid RDF as follows:
<oslc_blog:podcastLink>
<rdf:Description rdf:about=”http://example.com/uploads/962357642”>
<rdf:type>http://open-services.net/xmlns/example#Podcast
</rdf:type>
<dc:title>Podcast: JUnit versus TestNG for Java unit
testing</dc:title>
<oslc:contentType>auddio/mpeg</oslc:contentType>
</rdf:Description>
</oslc_blog:PodcastLink>
Interpreting this as "link properties" is not what I understand by link
properties - what we have here is a link to some uploaded data, and some
assertions about that uploaded data. Is that what is intended? Link
properties are properties of the relationship, not of the things that are
related.
A link property MUST have a resource that one can assert to have some
property - this means that the link MUST be an RDF resource - it has to
have a URI. I've seen two ways of doing this:
- make the link into a resource (a la the first drafts of the AM
and RM specs. This was not met with universal acceptance and was
retracted, subject to debate.) Something like:
<oslc:Link>
<rdf:subject/>
<rdf:predicate/>
<rdf:object/>
<rdf:type type of the link/>
other properties here
</>
- address the triple by "presenting" it (those are my words - see
Martin's blog on this [2]). This is the SPARQL Update approach.
[1] http://open-services.net/bin/view/Main/OSLCCoreLinksDRAFT
[2] Apologies, this is an IBM-only page.
http://w3.ibm.com/connections/blogs/03a1f6ee-f8ec-43a2-acd8-09001ad0ebb5/entry/partial_update_fatal_flaw_and_recovery?lang=en
[3] http://open-services.net/bin/view/Main/RmDiscussionLinkTypes
best wishes,
-ian
ian.green at uk.ibm.com (Ian Green1/UK/IBM at IBMGB)
Chief Software Architect, Requirements Definition and Management
IBM Rational
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
More information about the Oslc-Core
mailing list