A few newbie questions (shapes, SPARQL, vocabularies)

The core spec talks about shapes but does not mention SHACL. Is there any specific/standard relationship between OSLC shapes and SHACL, other than RDF?

The core spec talks about queries and mentions that OSLC “does not require implementers to provide … a SPARQL query-engine.” Is there any specific/standard relationship between OSLC queries and SPARQL, other than RDF?

I found one or two mentions that the standard vocabularies could/would be represented in RDF/XML with an owl:ontology element. Is there a standard place where these can be fetched?

Hello Steve,

Welcome to the forum! Your questions are very much relevant.

SHACL:

  • There is no relation between OSLC Shapes and SHACL other than that Arthur Ryman was the key contributor to OSLC Shapes first and then to SHACL. See this publication, section 7 for a brief information of the relationship.
  • OSLC has to support OSLC Shapes for compat reasons.
  • OSLC Shapes support is in fact built on the SHACL library. SHACL shapes are supported too.

Query

  • Not depending on SPARQL is important to allow OSLC servers backed by SQL DBs but using RDF as an exchange format instead of JSON. SPARQL + RDF makes it very hard to still maintain an API or SQL backend.
  • Query is not going to be dropped or changed much, again due to compat reasons.

Ontology

I would add only that you can see more information at https://jazz.net/wiki/bin/view/LinkedData/PublishingRdfVocabularies about how OSLC recommends that RDF vocabularies are handled. That wiki also contains other best practice recommendations about RDF.

1 Like

OSLC Core 3.0 Section “Resource Constraints” does indicate that servers may use other approaches to constrain resources for a particular context or purpose, including SHACL.

There is a document that describes how to map OSLC Query to SPARQL, and that was used to formalize the OSLC query semantics. See https://open-services.net/bin/view/Main/OslcSimpleQuerySemanticsV1, this may be incomplete and out of date.