OSLC and LDP Overlap

OSLC v2 and LDP have some potentially overlapping capabilities that could result in current or future incompatibilities. These overlapping capabilities include:

  1. Paging
  2. Query
  3. Constraints
  4. Discovery

These capabilities are not part of LDP 1.0, but either have draft specifications, or are under consideration for LDP.Next. This document provides a place for the OSLC Core TC to explore the potential overlap and incompatibilities in order to understand the potential impact on OSLC and to ensure the TC is well prepared to contribute to the development of new LDP specifications to avoid accidental incompatibilities or overlap.

Paging

OSLC v2 currently defines a Resoruce Paging capability, and there is a W3C Linked Data Platform Paging 1.0 Working Group Note that will likely be part of LDP.Next. OSLC v3 currently references OSLC v2 paging for compatibility purposes. The difference between OSLC v2 paging and LDP paging needs to be analyzed to see if there are incompatibilities, or implications for paging changes that should be addressed in OSLC Core 3.0.

Query

OSLC v2 defines the query capability. For a number of reasons, this query capability was not taken forward in OSLC v3. Perhaps the primary reason is that the intent of OSLC v2 was to define a query capability that was simple to use and easy to implement. This perhaps proved more difficult to achieve in practice than originally anticipated. OSLC v3 currently references the v2 query capability for compatibility purposes. However, future server implementations of OSLC 3 may prefer to use a more broadly adopted approach to query based on something defined in LDP, possibly discoverable SPARQL endpoints. The W3C Linked Data Query Language Community Group is currently mostly inactive, but this indicates a desire to address an LDP query capability and may be an opportunity for future collaboration.

Constraints

OSLC 3.0 currently references ResourceShapes in Appendix A: Common Properties. W3C RDF Data Shapes Working Group recently published a draft of Shapes Constraint Language (SHACL). There are already significant incompatibilities between OSLC v2 ResourceShapes and SHACL that are summarized in the following table:

Note: only the differences are listed in the table.

Resource Shapes 2.0

SHACL

Notes

oslc:allowed - Valueoslc:allowedValues

oslc:allowedValue can be specified many times, sh:allowedValues use an rdf:List

Resource Shape

Shape

oslc:describes

sh:shapeClass

oslc:property

sh:property

dcterms:title, dcterms:description

rdfs:label rdfsrdfs:comment

question raised

oslc:hidden

Missing

oslc:isMemberProperty

oslc:name

Missing, but should not be required since its part of the property name itself.

oslc:maxSize

sh:minLength, sh:maxLength

used for string lengths

oslc:occurs

sh:minCount, sh:maxCount

oslc:propertyDefinition

sh:predicate

oslc:readOnly - (only applies to Resource valueType)

Missing

oslc:representation - Inline, Reference, Either (only applies to Resource valueType)

sh:nodeKindBlankNode, IRI, Literal

not clear this means the same thing,

oslc:valueType - XSD literal types,XMLLiteralResource, LocalResoruce, AnyResource

sh:datatype

oslc:range

sh:directValueType or sh:valueClass

directValueType does not include subclasses of the type

oslc:valueShape - The ResourceShape of a Resource valueType

sh:valueShape

Discovery

OSLC discovery currently covers discovery of LDPC creation factories, link previews, delegated creation and selection UI dialogs, and query capability. It is not clear what LDP.Next will cover in the area of discovery, but it may address the need to associate vocabularies and constraints with an LDPC. OSLC currently does this with the oslc:domain property on a ServiceProvider LDPC. Depending on what LDP addresses for discovery and how, this could result in overlap and possibly inconsistency between OSLC and future versions of LDP.

OslcAndLdp (last edited 2015-10-15 18:29:14 by jamsden)