PREFIX nom: <https://nomenclature.info/nom/>
PREFIX nomo: <https://nomenclature.info/nom/ontology/>
PREFIX nomShape: <https://nomenclature.info/nom/shape/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX skosxl: <http://www.w3.org/2008/05/skos-xl#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
shape nomShape:concept {
class = skos:Concept
targetSubjectsOf = skos:inScheme.
skos:inScheme hasValue=nom:
message="All concepts must be in the nom: concept scheme" [1..1].
nomo:level xsd:integer minInclusive=1 maxInclusive=6 !lessThanOrEquals=[skos:broader nomo:level]
message="(Non-top) concepts must have level that is greater than its parent's level" [1..1].
skos:topConceptOf|skos:broader hasValue=nom:|@nomShape:parentConcept
message="Concepts must either have skos:topConcept pointing to the nom: scheme, or have a parent that's in the same scheme" [1..1].
skos:prefLabel rdf:langString uniqueLang=true
message="Concepts can have only one preferred label per language" [1..*].
skos:prefLabel rdf:langString languageIn=["en"]
message="There must be a preferred label in English" [1..1].
skos:prefLabel rdf:langString languageIn=["fr"]
message="There must be a preferred label in French" [1..1].
skos:altLabel rdf:langString.
}
shape nomShape:parentConcept {
class = skos:Concept.
skos:inScheme hasValue=nom: [1..1].
}
Is converted to a SHACL where the property of the second shape is lost:
nomShape:parentConcept
a sh:NodeShape ;
sh:class skos:Concept ;
sh:property [] .
If I swap the textual order of the two SHACLC shapes, then one prop from the bigger shape is lost.
SHACLC support has been deleted from this TopBraid SHACL API because Jena already supports it. I suggest you create a new ticket on https://github.com/w3c/shacl/issues
Possibly related to #92.
This SHACLC:
Is converted to a SHACL where the property of the second shape is lost:
If I swap the textual order of the two SHACLC shapes, then one prop from the bigger shape is lost.
This uses the
shaclconvert
CLI described in #92