-
Notifications
You must be signed in to change notification settings - Fork 10
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:
-
Paging
-
Query
-
Constraints
-
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.
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.
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.
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 |
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.