@prefix schema: <http://schema.org/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix volipi: <http://data.sparna.fr/ontologies/volipi#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix skosthes: <http://purl.org/iso25964/skos-thes#> .
@prefix config-core: <http://data.sparna.fr/ontologies/sparnatural-config-core> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix config-datasources: <http://data.sparna.fr/ontologies/sparnatural-config-datasources> .
@prefix qb: <http://purl.org/linked-data/cube#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix dcat: <http://www.w3.org/ns/dcat#> .
@prefix euvoc: <http://publications.europa.eu/ontology/euvoc#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix scs: <https://data.sparna.fr/ontologies/sparnatural-config-shapes#> .
@prefix adms: <http://www.w3.org/ns/adms#> .
@prefix org: <http://www.w3.org/ns/org#> .
@prefix xls2rdf: <https://xls2rdf.sparna.fr/vocabulary#> .
@prefix shacl-play: <https://shacl-play.sparna.fr/ontology#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dash: <http://datashapes.org/dash#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix skosxl: <http://www.w3.org/2008/05/skos-xl#> .

<https://data.sparna.fr/ontologies/sparnatural-config-shapes#> a owl:Ontology;
  rdfs:label "Sparnatural SHACL configuration shapes"@en;
  dct:title "Sparnatural SHACL configuration shapes"@en;
  dct:description "This defines a subset of the SHACL specification combined with custom properties to define the necessary structure for the configuration of <a href=\"https://sparnatural.eu\">Sparnatural</a>"@en;
  owl:versionInfo "1.x";
  vann:usageNote "Use with sparnatural, https://sparnatural.eu"@en;
  dct:isRequiredBy <https://sparnatural.eu>;
  adms:status <http://publications.europa.eu/resource/dataset/dataset-status/COMPLETED>;
  owl:versionIRI <https://data.sparna.fr/ontologies/sparnatural-config-shapes#>;
  dct:conformsTo <https://www.w3.org/TR/shacl>;
  dct:created "2023-05-31"^^xsd:date;
  dct:modified "2023-05-31T00:00:00.000Z"^^xsd:dateTime;
  dct:creator "thomas.francart@sparna.fr";
  dct:publisher <http://sparna.fr>;
  dct:rigthsHolder <http://sparna.fr>;
  rdfs:seeAlso <https://docs.google.com/spreadsheets/d/195NKb43Ck1yPGrIK4H8_HYGw9GTPnbtY/export?format=xlsx>,
    <https://xls2rdf.sparna.fr/rest/convert?noPostProcessings=true&url=https%3A%2F%2Fdocs.google.com%2Fspreadsheets%2Fd%2F195NKb43Ck1yPGrIK4H8_HYGw9GTPnbtY%2Fexport%3Fformat%3Dxlsx>,
    <https://shacl-play.sparna.fr/play/doc?includeDiagram=true&url=https%3A%2F%2Fxls2rdf.sparna.fr%2Frest%2Fconvert%3FnoPostProcessings%3Dtrue%26url%3Dhttps%253A%252F%252Fdocs.google.com%252Fspreadsheets%252Fd%252F195NKb43Ck1yPGrIK4H8_HYGw9GTPnbtY%252Fexport%253Fformat%253Dxlsx> .

scs:Entity a sh:NodeShape;
  rdfs:comment """This node shape specifies how NodeShapes should be declared to be used for Sparnatural configuration.
It is required that NodeShapes are IRIs."""@en;
  sh:targetClass sh:NodeShape;
  sh:nodeKind sh:IRI;
  sh:closed false;
  rdfs:label "Entité Sparnatural"@fr, "Sparnatural entity"@en;
  sh:order 1;
  shacl-play:background-color "FD85FD";
  sh:property scs:P_1, scs:P_2, scs:P_3, scs:P_4, scs:P_5, scs:P_6, scs:P_7, scs:P_8,
    scs:P_9, scs:P_10, scs:P_11, scs:P_12, scs:P_13, scs:P_14, scs:P_15 .

scs:Property a sh:NodeShape;
  rdfs:comment """This node shape defines how PropertyShapes should be declared to be used for Sparnatural configuration.
It is required that PropertyShapes are IRIs, not blank nodes.
Note how the target of this shape is defined as all objects of sh:property predicate, to allow working with property shapes with no explicit type."""@en;
  sh:targetObjectsOf sh:property;
  sh:nodeKind sh:BlankNodeOrIRI;
  sh:closed false;
  rdfs:label "Propriété Sparnatural"@fr, "Sparnatural property"@en;
  sh:order 2;
  shacl-play:background-color "85C0FF";
  sh:property scs:P_17, scs:P_18, scs:P_19, scs:P_20, scs:P_21, scs:P_22, scs:P_23,
    scs:P_24, scs:P_25, scs:P_26, scs:P_27, scs:P_28, scs:P_29, scs:P_30, scs:P_31, scs:P_32,
    scs:P_33, scs:P_34 .

scs:TargetClass a sh:NodeShape;
  rdfs:comment "A Class targeted by a NodeShape"@en;
  rdfs:label "Classe cible"@fr, "Target class"@en;
  sh:order 3;
  sh:property scs:P_36, scs:P_37, scs:P_38, scs:P_39, scs:P_40 .

scs:P_1 sh:path rdf:type;
  sh:name "type"@en;
  sh:description "Class. Value must always be sh:NodeShape."@en;
  sh:order "1";
  sh:minCount 1;
  sh:nodeKind sh:IRI;
  sh:hasValue sh:NodeShape .

scs:P_2 sh:path rdfs:label;
  sh:name "label"@en;
  sh:description """The label of the entity to be displayed in Sparnatural. 
Labels are multilingual, and can provide multiple labels in different languages. Lhe label in the current user language is displayed;
If no label is given, the local part of the URI is used."""@en;
  sh:order "2";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934795;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934795 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934796;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934797 .

_:93bfb75edc4f4f60ad532f614afe1d934796 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934797 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934798;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934798 sh:datatype xsd:string .

scs:P_3 sh:path sh:order;
  sh:name "order"@en;
  sh:description "The order of this entity in the entity selection dropdown."@en;
  sh:order "3";
  sh:nodeKind sh:Literal;
  sh:datatype xsd:decimal .

scs:P_4 sh:path volipi:message;
  sh:name "tooltip 1"@en;
  sh:description """The preferred tooltip that will be displayed when this entity is hovered. This can contain HTML markup.
Tooltips are also multilingual, you can provide one tooltip per language, and the tooltip in the current user language is used."""@en;
  sh:order "4";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934799;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934799 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934800;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934801 .

_:93bfb75edc4f4f60ad532f614afe1d934800 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934801 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934802;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934802 sh:datatype xsd:string .

scs:P_5 sh:path sh:description;
  sh:name "tooltip 2"@en;
  sh:description "A tooltip that will be displayed when this entity is hovered, if no preferred tooltip is provided. This can contain HTML markup."@en;
  sh:order "5";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934803;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934803 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934804;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934805 .

_:93bfb75edc4f4f60ad532f614afe1d934804 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934805 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934806;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934806 sh:datatype xsd:string .

scs:P_6 sh:path volipi:iconName;
  sh:name "fontawesome icon code"@en;
  sh:description "The fontawesome icon code that will be displayed by Sparnatural, e.g. \"fa-solid fa-user\""@en;
  sh:order "6";
  skos:example "fa-solid fa-user";
  sh:maxCount 1;
  sh:nodeKind sh:Literal;
  sh:datatype xsd:string .

scs:P_7 sh:path volipi:icon;
  sh:name "icon url"@en;
  sh:description "A reference to an icon URL that will be displayed on Sparnatural. Use of this is discouraged, prefer volipi:iconName"@en;
  sh:order "7";
  sh:maxCount 1;
  sh:nodeKind sh:IRI .

scs:P_8 sh:path sh:targetClass;
  sh:name "target class"@en;
  sh:description "The actual URI of the class that this shape corresponds to, that will be inserted in the SPARQL queries. NodeShapes can either have sh:targetClass or they can be rdf:type rdfs:Class, in which case the URI of the NodeShape is assumed to be the URI of the class itself."@en;
  sh:order "8";
  sh:nodeKind sh:IRI;
  sh:node scs:TargetClass .

scs:P_9 sh:path sh:nodeKind;
  sh:name "node kind"@en;
  sh:description "If used on a NodeShape with value sh:Literal, then Sparnatural will treat this shape as a Literal and will not generate an rdf:type triple in the SPARQL query."@en;
  sh:order "9";
  sh:maxCount 1;
  sh:nodeKind sh:IRI .

scs:P_10 sh:path sh:datatype;
  sh:name "datatype"@en;
  sh:description "If used on a NodeShape, then Sparnatural will treat this shape as a Literal and will not generate an rdf:type triple in the SPARQL query."@en;
  sh:order "10";
  sh:maxCount 1;
  sh:nodeKind sh:IRI .

scs:P_11 sh:path sh:languageIn;
  sh:name "language in"@en;
  sh:description "If used on a NodeShape, then Sparnatural will treat this shape as a Literal and will not generate an rdf:type triple in the SPARQL query."@en;
  sh:order "11";
  sh:maxCount 1;
  sh:nodeKind sh:BlankNode .

scs:P_12 sh:path sh:uniqueLang;
  sh:name "unique lang"@en;
  sh:description "If used on a NodeShape, then Sparnatural will treat this shape as a Literal and will not generate an rdf:type triple in the SPARQL query."@en;
  sh:order "12";
  sh:maxCount 1;
  sh:nodeKind sh:Literal;
  sh:datatype xsd:boolean .

scs:P_13 sh:path sh:deactivated;
  sh:name "deactivated"@en;
  sh:description "If marked with sh:deactivated, a shape will be filtered out from the initial list of classes"@en;
  sh:order "13";
  sh:maxCount 1;
  sh:nodeKind sh:Literal;
  sh:datatype xsd:boolean .

scs:P_14 sh:path sh:or;
  sh:name "or"@en;
  sh:order "14";
  sh:nodeKind sh:BlankNode .

scs:P_15 sh:path rdfs:subClassOf;
  sh:name "subclass of"@en;
  sh:description "If the NodeShape is also a Class, it can have a subClassOf reference to the class(es) from which it will inherit the properties"@en;
  sh:order "15";
  sh:nodeKind sh:IRI;
  sh:node scs:TargetClass .

scs:P_17 sh:path _:93bfb75edc4f4f60ad532f614afe1d934807;
  sh:name "entity / shape"@en;
  sh:description "The entity from the configuration to which the property is attached. Note that this is expressed as an inverse property on the PropertyShapes, for ease of use when defining SHACL configurations in Excel tables."@en;
  sh:order "1";
  sh:minCount 1;
  sh:nodeKind sh:IRI;
  sh:node scs:Entity .

_:93bfb75edc4f4f60ad532f614afe1d934807 sh:inversePath sh:property .

scs:P_18 sh:path sh:path;
  sh:name "property"@en;
  sh:description "The property IRI, or the SHACL property path that this property shape is constraining."@en;
  sh:order "2";
  sh:minCount 1;
  sh:maxCount 1;
  sh:nodeKind sh:BlankNodeOrIRI .

scs:P_19 sh:path sh:order;
  sh:name "order"@en;
  sh:description "The order of this property in the property selection drpdown."@en;
  sh:order "3";
  sh:maxCount 1;
  sh:nodeKind sh:Literal;
  sh:datatype xsd:decimal .

scs:P_20 sh:path sh:name;
  sh:name "name"@en;
  sh:description """The name of the property to be displayed.
Labels are multilingual, and can provide multiple labels in different languages. Lhe label in the current user language is displayed;
If no label is given, the local part of the URI is used."""@en;
  sh:order "4";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934808 .

_:93bfb75edc4f4f60ad532f614afe1d934808 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934809;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934810 .

_:93bfb75edc4f4f60ad532f614afe1d934809 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934810 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934811;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934811 sh:datatype xsd:string .

scs:P_21 sh:path volipi:message;
  sh:name "tooltip 1"@en;
  sh:description """The preferred tooltip that will be displayed when this entity is hovered. This can contain HTML markup.
Tooltips are also multilingual, you can provide one tooltip per language, and the tooltip in the current user language is used."""@en;
  sh:order "5";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934812;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934812 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934813;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934814 .

_:93bfb75edc4f4f60ad532f614afe1d934813 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934814 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934815;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934815 sh:datatype xsd:string .

scs:P_22 sh:path sh:description;
  sh:name "tooltip 2"@en;
  sh:description "A tooltip that will be displayed when this entity is hovered, if no preferred tooltip is provided. This can contain HTML markup."@en;
  sh:order "6";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934816;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934816 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934817;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934818 .

_:93bfb75edc4f4f60ad532f614afe1d934817 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934818 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934819;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934819 sh:datatype xsd:string .

scs:P_23 sh:path _:93bfb75edc4f4f60ad532f614afe1d934820;
  sh:name "tooltip 3"@en;
  sh:description "The definition of the property, that can be used as tooltip, if no tooltips are provided on the shape"@en;
  sh:order "7";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934822;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934820 rdf:first sh:path;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934821 .

_:93bfb75edc4f4f60ad532f614afe1d934821 rdf:first skos:definition;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934822 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934823;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934824 .

_:93bfb75edc4f4f60ad532f614afe1d934823 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934824 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934825;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934825 sh:datatype xsd:string .

scs:P_24 sh:path _:93bfb75edc4f4f60ad532f614afe1d934826;
  sh:name "tooltip 4"@en;
  sh:description "A comment on the property, that can be used as tooltip, if no tooltips are provided on the shape, and there is no definition on the property"@en;
  sh:order "8";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934828;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934826 rdf:first sh:path;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934827 .

_:93bfb75edc4f4f60ad532f614afe1d934827 rdf:first rdfs:comment;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934828 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934829;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934830 .

_:93bfb75edc4f4f60ad532f614afe1d934829 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934830 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934831;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934831 sh:datatype xsd:string .

scs:P_25 sh:path dash:searchWidget;
  sh:name "search widget"@en;
  sh:description "An explicit search widget to use for this property. If no explicit search widget is specified, a default one is determined based on the sh:datatype and other characteristics of the property shape."@en;
  sh:order "9";
  sh:maxCount 1;
  sh:nodeKind sh:IRI;
  sh:in _:93bfb75edc4f4f60ad532f614afe1d934832 .

_:93bfb75edc4f4f60ad532f614afe1d934832 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreSearchProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934833 .

_:93bfb75edc4f4f60ad532f614afe1d934833 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreListProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934834 .

_:93bfb75edc4f4f60ad532f614afe1d934834 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreAutocompleteProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934835 .

_:93bfb75edc4f4f60ad532f614afe1d934835 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreBooleanProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934836 .

_:93bfb75edc4f4f60ad532f614afe1d934836 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreMapProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934837 .

_:93bfb75edc4f4f60ad532f614afe1d934837 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreStringEqualsProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934838 .

_:93bfb75edc4f4f60ad532f614afe1d934838 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreTimeProperty-Date>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934839 .

_:93bfb75edc4f4f60ad532f614afe1d934839 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreTimeProperty-Year>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934840 .

_:93bfb75edc4f4f60ad532f614afe1d934840 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreTimeProperty-Period>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934841 .

_:93bfb75edc4f4f60ad532f614afe1d934841 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreTreeProperty>;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934842 .

_:93bfb75edc4f4f60ad532f614afe1d934842 rdf:first <http://data.sparna.fr/ontologies/sparnatural-config-coreNumberProperty>;
  rdf:rest rdf:nil .

scs:P_26 sh:path dash:propertyRole;
  sh:name "role of the property (default label property)"@en;
  sh:description "If used with the value dash:LabelRole, indicate that this property shape describes the main label of the entities to which it is attached. This is used to fetch this property automatically in generated SPARQL queries, and to populate automatically dropdowns and autocomplete search with this property."@en;
  sh:order "10";
  sh:maxCount 1;
  sh:nodeKind sh:IRI;
  sh:hasValue dash:LabelRole .

scs:P_27 sh:path sh:class;
  sh:name "class (of the property value)"@en;
  sh:description "Defines the entity in the configuration that is the value of this property. References the URI of a class that is itself referred to by an sh:targetClass from a NodeShape."@en;
  sh:order "11";
  sh:maxCount 1;
  sh:nodeKind sh:IRI .

scs:P_28 sh:path sh:node;
  sh:name "node shape (of the property value)"@en;
  sh:description """Defines the entity in the configuration that is the value of this property. References a NodeShape that describes the target entity of the property.
If no sh:class or sh:node is found, then a default behavior is proposed"""@en;
  sh:order "12";
  sh:maxCount 1;
  sh:nodeKind sh:IRI .

scs:P_29 sh:path sh:deactivated;
  sh:name "deactivated"@en;
  sh:description "In case a property shape is marked as deactivated, it will not be shown in the interface"@en;
  sh:order "13";
  sh:maxCount 1;
  sh:nodeKind sh:Literal;
  sh:datatype xsd:boolean .

scs:P_30 sh:path sh:in;
  sh:name "sh:in"@en;
  sh:description "If sh:in is used on the property shape, its default widget will be a dropdown and the list content will be read from the configuration instead of being read from a SPARQL query"@en;
  sh:order "14";
  sh:maxCount 1;
  sh:nodeKind sh:BlankNode .

scs:P_31 sh:path <http://data.sparna.fr/ontologies/sparnatural-config-datasourcesdatasource>;
  sh:name "datasource (for lists and autocomplete)"@en;
  sh:description "The datasource to populate the widget of the property. If not provided, a default datasource is used."@en;
  sh:order "14";
  sh:maxCount 1;
  sh:nodeKind sh:BlankNodeOrIRI .

scs:P_32 sh:path <http://data.sparna.fr/ontologies/sparnatural-config-datasourcestreeChildrenDatasource>;
  sh:name "datasource (for tree childrens)"@en;
  sh:description "The datasource to populate the children node of a node in a tree widget"@en;
  sh:order "15";
  sh:maxCount 1;
  sh:nodeKind sh:BlankNodeOrIRI .

scs:P_33 sh:path <http://data.sparna.fr/ontologies/sparnatural-config-datasourcestreeRootsDatasource>;
  sh:name "datasource (for tree roots)"@en;
  sh:description "The datasource to populate the root nodes of a tree widget"@en;
  sh:order "16";
  sh:maxCount 1;
  sh:nodeKind sh:BlankNodeOrIRI .

scs:P_34 sh:path sh:or;
  sh:name "or"@en;
  sh:description """Indicates alternatives for either multiple datatypes (e.g. xsd:string or xsd:dateTime), or multiple sh:class/sh:node, or different node kinds (e.g. IRI or Literal). The expected values are nodes with either an sh:datatype or an sh:class or an sh:node or an sh:nodeKind. 2 levels of sh:or are supported to deal with properties that can be either IRI or literals, and then indicate the sh:class(es) of the IRI shape, and the sh:datatype(s) of the literal shape.
The actual list value of sh:or can be either a blank node or an IRI.

Example : property with 2 datatypes : ([sh:datatype xsd:string][sh:datatype xsd:dateTime]),
Example : property either IRI or literal ([sh:nodeKind sh:IRI; sh:class ex:class1][sh:nodeKind sh:Literal sh:or([sh:datatype xsd:string][sh:datatype xsd:date])])"""@en;
  sh:order "17";
  skos:example """Property with 2 datatypes : ([sh:datatype xsd:string][sh:datatype xsd:dateTime]),
Property either IRI or literal ([sh:nodeKind sh:IRI; sh:class ex:class1][sh:nodeKind sh:Literal sh:or([sh:datatype xsd:string][sh:datatype xsd:date])])""";
  sh:maxCount 1;
  sh:nodeKind sh:BlankNodeOrIRI .

scs:P_36 sh:path rdfs:subClassOf;
  sh:name "subClassOf"@en;
  sh:description "Indicates the superclass or superclasses of this class, from which this node shape inherits. When a class is selected in Sparnatural, the properties of its superclasses will be proposed."@en;
  sh:order "1";
  sh:nodeKind sh:Literal;
  sh:node scs:TargetClass .

scs:P_37 sh:path _:93bfb75edc4f4f60ad532f614afe1d934843;
  sh:name "is target of"@en;
  sh:description "A target class may be referenced by a NodeShape through sh:targetClass, or it can be itself a sh:NodeShape. The properties of the NodeShape are inherited by the subclasses."@en;
  sh:order "2";
  sh:nodeKind sh:Literal;
  sh:class sh:NodeShape .

_:93bfb75edc4f4f60ad532f614afe1d934843 sh:inversePath sh:targetClass .

scs:P_38 sh:path rdfs:label;
  sh:name "label"@en;
  sh:description "The label of the class, to be used if no rdfs:label is found on the node shape"@en;
  sh:order "5";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934844;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934844 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934845;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934846 .

_:93bfb75edc4f4f60ad532f614afe1d934845 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934846 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934847;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934847 sh:datatype xsd:string .

scs:P_39 sh:path skos:definition;
  sh:name "definition"@en;
  sh:description "The definition of the class, that can be used as a tooltip"@en;
  sh:order "3";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934848;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934848 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934849;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934850 .

_:93bfb75edc4f4f60ad532f614afe1d934849 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934850 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934851;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934851 sh:datatype xsd:string .

scs:P_40 sh:path rdfs:comment;
  sh:name "comment"@en;
  sh:description "A comment on the class, that can be used as a tolltip"@en;
  sh:order "4";
  sh:nodeKind sh:Literal;
  sh:or _:93bfb75edc4f4f60ad532f614afe1d934852;
  sh:uniqueLang true .

_:93bfb75edc4f4f60ad532f614afe1d934852 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934853;
  rdf:rest _:93bfb75edc4f4f60ad532f614afe1d934854 .

_:93bfb75edc4f4f60ad532f614afe1d934853 sh:datatype rdf:langString .

_:93bfb75edc4f4f60ad532f614afe1d934854 rdf:first _:93bfb75edc4f4f60ad532f614afe1d934855;
  rdf:rest rdf:nil .

_:93bfb75edc4f4f60ad532f614afe1d934855 sh:datatype xsd:string .
