# A few newbie questions (shapes, SPARQL, vocabularies)

**URL:** <https://forum.open-services.net/t/a-few-newbie-questions-shapes-sparql-vocabularies/339>\
**Category:** OSLC\
**Created:** [January 15, 2020, 6:33pm UTC](https://forum.open-services.net/t/a-few-newbie-questions-shapes-sparql-vocabularies/339 "2020-01-15T18:33:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![svestal](https://forum.open-services.net/user_avatar/forum.open-services.net/svestal/32/303_2.png) [@svestal](https://forum.open-services.net/u/svestal)\
**Post date:** [January 15, 2020, 6:33pm UTC](https://forum.open-services.net/t/a-few-newbie-questions-shapes-sparql-vocabularies/339/1 "2020-01-15T18:33:04Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![andrew](https://forum.open-services.net/user_avatar/forum.open-services.net/andrew/32/28_2.png) [@andrew](https://forum.open-services.net/u/andrew)\
**Post date:** [January 16, 2020, 5:04pm UTC](https://forum.open-services.net/t/a-few-newbie-questions-shapes-sparql-vocabularies/339/2 "2020-01-16T17:04:30Z")

</div>

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](https://www.researchgate.net/publication/277023573_Recursion_in_RDF_Data_Shape_Languages), section 7 for a brief information of the relationship.
- OSLC has to support OSLC Shapes for compat reasons.
- [OSLC Shapes support](https://github.com/eclipse/lyo.validation) is in fact built on the [SHACL library](https://github.com/weso/shaclex). 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

- The main place for their development is [https://github.com/oslc-op/oslc-specs/tree/master/specs](https://github.com/oslc-op/oslc-specs/tree/master/specs)
- They are published on the website, see [https://open-services.net/specifications/vocabularies/](https://open-services.net/specifications/vocabularies/). NB! There was a mishap and some of the links are wrong, see [https://github.com/oslc-op/website/issues/265](https://github.com/oslc-op/website/issues/265)

---

<div class="post-metadata">

**Author:** ![ndjc](https://forum.open-services.net/user_avatar/forum.open-services.net/ndjc/32/87_2.png) [@ndjc](https://forum.open-services.net/u/ndjc)\
**Post date:** [January 16, 2020, 5:34pm UTC](https://forum.open-services.net/t/a-few-newbie-questions-shapes-sparql-vocabularies/339/3 "2020-01-16T17:34:25Z")

</div>

I would add only that you can see more information at [https://jazz.net/wiki/bin/view/LinkedData/PublishingRdfVocabularies](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.

---

<div class="post-metadata">

**Author:** ![jamsden](https://forum.open-services.net/user_avatar/forum.open-services.net/jamsden/32/31_2.png) [@jamsden](https://forum.open-services.net/u/jamsden)\
**Post date:** [January 16, 2020, 6:16pm UTC](https://forum.open-services.net/t/a-few-newbie-questions-shapes-sparql-vocabularies/339/4 "2020-01-16T18:16:50Z")

</div>

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](https://open-services.net/bin/view/Main/OslcSimpleQuerySemanticsV1), this may be incomplete and out of date.
