[dxwg] Profile Composition and Languages

VladimirAlexiev has just created a new issue for https://github.com/w3c/dxwg:

== Profile Composition and Languages ==
Submitting a new USE CASE, strongly related to ID3

---
### Profile Composition and Languages
Status:

Identifier: ID52 (proposed)

Creator: Vladimir Alexiev, Ontotext

Deliverable(s): AP Guidelines, Content Negotiation

## Tags
content_negotiation profile representation composition

## Stakeholders
data consumer, data producer

## Problem statement
As stated by ID3, the response of a server can conform to multiple profiles.
However, I believe it is unclear how these profiles should **compose**.
Different languages for defining profiles have different "composition" capabilities.
Possible profile languages and composition mechanisms should be described.

Examples:
- SHACL has [shape importing](http://book.validatingrdf.com/bookHtml011.html#ch050ImportingShapesGraphs) (using `owl:imports`), and ShEx has [importing](http://book.validatingrdf.com/bookHtml010.html#sec118). If `sh1` imports `sh2`, should the resulting profile be called `sh1&sh2` or just `sh1`?
- SHACL has [shape deactivation](http://book.validatingrdf.com/bookHtml011.html#sec126). Should such be expressible in Profile Representation?
- ShEx validation is based not just on shape definitions but also on [shape maps](http://book.validatingrdf.com/bookHtml010.html#sec110), which sort of define the nodes to be validated. Should a profile capture both of these?
- Should a profile correspond to a shapes file, or can it correspond to an individual shape?
- JSON-LD Frames are the closest thing to Profiles in the JSON-LD world. I assume a profile can be a JSON-LD Frame?

## Existing approaches
The [Expected RFC](http://profilenegotiation.github.io/I-D-Accept--Schema/I-D-accept-schema#example_4) states one such mechanism for XML schemas:
> the elements in namespace urn:example:namespaces:ns1 must conform to XML schema http://example.com/schema/schema-1 and the elements in namespace urn:example:namespaces:ns2 must conform to XML schema http://example.com/schema/schema-2
- It is unclear how applicable/useful is this separation by namespace. Eg [NIEM](https://en.wikipedia.org/wiki/National_Information_Exchange_Model#NIEM_modeling_and_schema_concepts) includles a lot more advanced mechanisms for composing XML schemas.
- It is unclear whether 

## Requirements
* Give examples of different languages that can be used to express profiles
* Describe how profiles can be composed: is it limited to conjunction, or are there more mechanisms?
* Give examples of applying profiles expressed in different languages (eg SHACL and JSONLD Frame) to the same payload
* Describe how profiles expressed in different languages interact. Eg if a SHACL schema describes field mandatoriness and dependencies but a JSONLD Frame excludes some for these fields, are only the remaining fields validated, or will this cause a violation?

## Related use cases
ID3, RPFDF, RPFN


Please view or discuss this issue at https://github.com/w3c/dxwg/issues/162 using your GitHub account

Received on Thursday, 8 March 2018 09:55:45 UTC