shaclc: missing property shape
VladimirAlexiev opened this issue · 1 comments
VladimirAlexiev commented
Possibly related to #92.
This SHACLC:
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.
This uses the shaclconvert
CLI described in #92
HolgerKnublauch commented
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