@prefix : <http://data.sparna.fr/ontologies/sparnatural-config-core#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <http://data.sparna.fr/ontologies/sparnatural-config-core#> .

<http://data.sparna.fr/ontologies/sparnatural-config-core> rdf:type owl:Ontology .

#################################################################
#    Annotation properties
#################################################################

###  http://data.sparna.fr/ontologies/sparnatural-config-core#beginDateProperty
:beginDateProperty rdf:type owl:AnnotationProperty ;
                   rdfs:comment """Use this annotation to relate a Sparnatural time property to another property that specifies how the start / beginning date is expressed on resources in the underlying graph.
That other property can itself be annotated with a sparqlString annotation in the case it corresponds to a property path."""@en ;
                   rdfs:label "begin date property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#defaultLabelProperty
:defaultLabelProperty rdf:type owl:AnnotationProperty ;
                      rdfs:comment """Use this annotation to relate a class in a Sparnatural configuration to a property that will be used as the default to fetch the labels of instances of this class. When a user selects this class as a column in the result set, if the class has this annotation set, everything behaves as if the user had selected also the corresponding property to be included.
The label property may have no domain specified if you don't want it to be proposed to the user.
The property must have a range specified to a single class."""@en ;
                      rdfs:label "default label property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#enableNegation
:enableNegation rdf:type owl:AnnotationProperty ;
                rdfs:comment "Set this annotation to \"true\" on a property to indicate that this property can be applied a negation pattern (FILTER NOT EXISTS { ... })"@en ;
                rdfs:label "enable negation"@en ;
                rdfs:range xsd:boolean .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#enableOptional
:enableOptional rdf:type owl:AnnotationProperty ;
                rdfs:comment "Set this annotation to \"true\" on a property to indicate that this property can be applied an optional pattern (OPTIONAL { ... })"@en ;
                rdfs:label "enable optional"@en ;
                rdfs:range xsd:boolean .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#endDateProperty
:endDateProperty rdf:type owl:AnnotationProperty ;
                 rdfs:comment """Use this annotation to relate a Sparnatural time property to another property that specifies how the end / stop date is expressed on resources in the underlying graph.
That other property can itself be annotated with a sparqlString annotation in the case it corresponds to a property path."""@en ;
                 rdfs:label "end date property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#exactDateProperty
:exactDateProperty rdf:type owl:AnnotationProperty ;
                   rdfs:comment """Use this annotation to relate a Sparnatural time property to another property that specifies how an exact date is expressed on resources in the underlying graph.
That other property can itself be annotated with a sparqlString annotation in the case it corresponds to a property path.

Time properties already annotated with a beginDateProperty or endDateProperty can also be annotated with this exactDateProperty in cases where the dates of the resources in the underlying graph can be expressed either as time periods or as exact dates."""@en ;
                   rdfs:label "exact date property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#faIcon
:faIcon rdf:type owl:AnnotationProperty ;
        rdfs:comment """The code of an icon in FontAwesome to be associated to an entity, typically a class. Exemples of codes are \"fas fa-user\" or \"fas fa-file\".
Search in FontAwesome at https://fontawesome.com/icons"""@en ;
        rdfs:label "fontawesome icon code"@en ;
        rdfs:subPropertyOf :icon .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#highlightedIcon
:highlightedIcon rdf:type owl:AnnotationProperty ;
                 rdfs:comment "An icon to be associated to an entity when it is highlighted. This is typically the same icon as the one indicated in the icon property, but with inversed colors."@en ;
                 rdfs:label "highlighted icon"@en ;
                 rdfs:subPropertyOf :icon .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#icon
:icon rdf:type owl:AnnotationProperty ;
      rdfs:comment "An icon to be associated with an entity, typically a class. This can be the URL to an icon file or another mean to specify an icon, like a reference in an icon library."@en ;
      rdfs:label "icon"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#isMultilingual
:isMultilingual rdf:type owl:AnnotationProperty ;
                rdfs:comment "Set this annotation to \"true\" on a property to indicate that the values can be multigual and require a filter on the language"@en ;
                rdfs:label "is multilingual"@en ;
                rdfs:range xsd:boolean .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#order
:order rdf:type owl:AnnotationProperty ;
       :order "An ordering information associated with this entity. This can be the display order of this entity within a list, or the display order of instances of the annotated class in list of instances, or predicates of the annotated property in a list of predicates, etc."@en ;
       rdfs:label "order"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#sparqlService
:sparqlService rdf:type owl:AnnotationProperty ;
               rdfs:comment "Set this annotation with an instance of Service as a value to indicate that this property needs to be executed within a SERVICE clause to the target endpoint."@en ;
               rdfs:label "SPARQL service"@en ;
               rdfs:range :Service .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#sparqlString
:sparqlString rdf:type owl:AnnotationProperty ;
              rdfs:comment """The equivalent SPARQL string that will be inserted in the final query instead of the annotated property or class.
When used to annotate a property, this annotation must contain a valid SPARQL property path (usually a single property), expanded without using any prefixes (i.e. full URIs in brackets).
When used to annotate a class, this annotation must contain a class URI, expanded without using any prefixes (i.e. full URIs in brackets), or a piece of SPARQL that can be inserted instead of the class URI, e.g;

\"<http://www.w3.org/2004/02/skos/core#Concept> ; <http://www.w3.org/2004/02/skos/core#inScheme> <http://myScheme> .\""""@en ;
              rdfs:label "sparql string"@en ;
              rdfs:range xsd:string .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#tooltip
:tooltip rdf:type owl:AnnotationProperty ;
         rdfs:comment "The content of the tooltip to be associated with a class or a property in the Sparnatural configuration."@en ;
         rdfs:label "tooltip"@en .


#################################################################
#    Object Properties
#################################################################

###  http://data.sparna.fr/ontologies/sparnatural-config-core#AutocompleteProperty
:AutocompleteProperty rdf:type owl:ObjectProperty ;
                      rdfs:subPropertyOf :SelectRDFTermProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#BooleanProperty
:BooleanProperty rdf:type owl:ObjectProperty ;
                 rdfs:subPropertyOf :SparnaturalProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#GraphDBSearchProperty
:GraphDBSearchProperty rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf :SearchProperty ;
                       rdfs:comment "Use this super property to classify properties in Sparnatural configuration for that will act like search properties but will generate GraphDB specific SPARQL criteria to search in a Lucene connector (i.e. using http://www.ontotext.com/connectors/lucene#query, etc.)"@en ;
                       rdfs:label "search property in GraphDB"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#JenaSearchProperty
:JenaSearchProperty rdf:type owl:ObjectProperty ;
                    rdfs:subPropertyOf :SearchProperty ;
                    rdfs:comment "Use this super property to classify properties in Sparnatural configuration for that will act like search properties but will generate Jena specific SPARQL syntax (i.e. the text:query operator, documented at https://jena.apache.org/documentation/query/text-query.html)"@en ;
                    rdfs:label "search property in Jena - NOT YET IMPLEMENTED"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#ListProperty
:ListProperty rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :SelectRDFTermProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#LiteralListProperty
:LiteralListProperty rdf:type owl:ObjectProperty ;
                     rdfs:subPropertyOf :SparnaturalProperty ;
                     rdfs:comment "This is deprecated starting from Sparnatural 8.3. Use ListProperty instead, with a datasource returning literals."@en ;
                     rdfs:label "literal list property"@en ;
                     owl:deprecated "true"^^xsd:boolean .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#MapProperty
:MapProperty rdf:type owl:ObjectProperty ;
             rdfs:subPropertyOf :SparnaturalProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#NonSelectableProperty
:NonSelectableProperty rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf :SparnaturalProperty ;
                       rdfs:comment """Use this super property to classify properties in Sparnatural configuration for which no value selection widget (list, autocomplete field, etc.) should be displayed. Only a \"Where\" option is available to traversePreOrder the entity in the graph.

This is typically used to link entities that serve as connectors between other entities but that don't have intrinsic selection criterias by themselves, such as blank nodes or Activities in the CIDOC-CRM model."""@en ;
                       rdfs:label "non-selectable property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#NumberProperty
:NumberProperty rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf :SparnaturalProperty ;
                rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a number selection should be displayed."@en ;
                rdfs:label "number property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#SearchProperty
:SearchProperty rdf:type owl:ObjectProperty ;
                rdfs:subPropertyOf :SparnaturalProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#SelectRDFTermProperty
:SelectRDFTermProperty rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf :SparnaturalProperty ;
                       rdfs:comment """The super-property of any property in a Sparnatural configuration for which an RDF term (URi or Literal) can be selected, through a list, an autocomplete field, or a tree.
Do not use this super-property directly, use its subproperties."""@en ;
                       rdfs:label "select RDF term property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#SparnaturalProperty
:SparnaturalProperty rdf:type owl:ObjectProperty ;
                     rdfs:comment "Any property used to configure Sparnatural"@en ;
                     rdfs:label "sparnatural property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#StringEqualsProperty
:StringEqualsProperty rdf:type owl:ObjectProperty ;
                      rdfs:subPropertyOf :SearchProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty
:TimeProperty rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :SparnaturalProperty ;
              rdfs:comment """The super-property of any property in a Sparnatural configuration for which a date range can be selected, using year or date picker.

Do not use this super-property directly, use its subproperties."""@en ;
              rdfs:label "time property"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Date
:TimeProperty-Date rdf:type owl:ObjectProperty ;
                   rdfs:subPropertyOf :TimeProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Period
:TimeProperty-Period rdf:type owl:ObjectProperty ;
                     rdfs:subPropertyOf :TimeProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Year
:TimeProperty-Year rdf:type owl:ObjectProperty ;
                   rdfs:subPropertyOf :TimeProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TreeProperty
:TreeProperty rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf :SelectRDFTermProperty .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#VirtuosoSearchProperty
:VirtuosoSearchProperty rdf:type owl:ObjectProperty ;
                        rdfs:subPropertyOf :SearchProperty ;
                        rdfs:comment "Use this super property to classify properties in Sparnatural configuration for that will act like search properties but will generate Virtuoso specific SPARQL criteria (i.e. using bif:contains and splitting the tokens)"@en ;
                        rdfs:label "search property in Virtuoso"@en .


###  http://www.w3.org/ns/sparql-service-description#endpoint
<http://www.w3.org/ns/sparql-service-description#endpoint> rdf:type owl:ObjectProperty ,
                                                                    owl:InverseFunctionalProperty ;
                                                           rdfs:domain <http://www.w3.org/ns/sparql-service-description#Service> ;
                                                           rdfs:comment """Relates an instance of Service to a SPARQL endpoint that implements the SPARQL Protocol service for the service. 

Defined by the SPARQL Service Description vocabulary at http://www.w3.org/ns/sparql-service-description#endpoint"""@en ;
                                                           rdfs:label "endpoint"@en .


#################################################################
#    Classes
#################################################################

###  http://data.sparna.fr/ontologies/sparnatural-config-core#NotInstantiatedClass
:NotInstantiatedClass rdf:type owl:Class ;
                      rdfs:subClassOf :SparnaturalClass ;
                      rdfs:comment """A \"Not-Instantiated-Class\" regroups all classes that are references to remote URIs, e.g. references to DBPedia URIs for indexing of LCSH languages, etc.
These URIs do not hold any information in the graph, but are useful to connect other entites.

  - a Not-Instantiated-Class cannot appear in initial list
  - a Not-Instantiated-Class must not yield an rdf:type criteria in the SPARQL query
  - a Not-Instantiated-Class can still be used to connect entites in the graph with a \"WHERE\" clause"""@en ;
                      rdfs:label "Not Instantiated Class"@en .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#SparnaturalClass
:SparnaturalClass rdf:type owl:Class ;
                  rdfs:comment "Any class used to configure Sparnatural."@en ;
                  rdfs:label "Sparnatural class"@en .


###  http://datashapes.org/dash#SearchWidget
<http://datashapes.org/dash#SearchWidget> rdf:type owl:Class .


###  http://www.w3.org/2000/01/rdf-schema#Literal
rdfs:Literal rdf:type owl:Class ;
             rdfs:subClassOf :SparnaturalClass ;
             rdfs:comment """The class rdfs:Literal is the class of literal values such as strings and integers. Property values such as textual strings are examples of RDF literals.

This is rdfs:Literal, provided here for being able to refer to it in Protege.

  - a Literal cannot appear in initial list
  - a Literal must not yield an rdf:type criteria in the SPARQL query
  - a Literal canot be used to connect entites in the graph with a \"WHERE\" clause
  - a Literal can only be used to place FILTER criterias on it"""@en ;
             rdfs:label "Literal"@en .


###  http://www.w3.org/ns/sparql-service-description#Service
<http://www.w3.org/ns/sparql-service-description#Service> rdf:type owl:Class ;
                                                          rdfs:comment "A SPARQL service made available via the SPARQL Protocol. This is defined in the SPARQL service description vocabulary : http://www.w3.org/ns/sparql-service-description#Service"@en ;
                                                          rdfs:label "SPARQL Service"@en .


#################################################################
#    Individuals
#################################################################

###  http://data.sparna.fr/ontologies/sparnatural-config-core#AutocompleteProperty
:AutocompleteProperty rdf:type owl:NamedIndividual ,
                               <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#BooleanProperty
:BooleanProperty rdf:type owl:NamedIndividual ,
                          <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#ListProperty
:ListProperty rdf:type owl:NamedIndividual ,
                       <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#MapProperty
:MapProperty rdf:type owl:NamedIndividual ,
                      <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#SearchProperty
:SearchProperty rdf:type owl:NamedIndividual ,
                         <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#StringEqualsProperty
:StringEqualsProperty rdf:type owl:NamedIndividual ,
                               <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Date
:TimeProperty-Date rdf:type owl:NamedIndividual ,
                            <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Period
:TimeProperty-Period rdf:type owl:NamedIndividual ,
                              <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TimeProperty-Year
:TimeProperty-Year rdf:type owl:NamedIndividual ,
                            <http://datashapes.org/dash#SearchWidget> .


###  http://data.sparna.fr/ontologies/sparnatural-config-core#TreeProperty
:TreeProperty rdf:type owl:NamedIndividual ,
                       <http://datashapes.org/dash#SearchWidget> .


#################################################################
#    Annotations
#################################################################

:AutocompleteProperty rdfs:comment """Use this super property to classify properties in Sparnatural configuration for which an autocomplete search field should be displayed to select a value.

The autocomplete suggestions can be configured using a datasource annotation, that will typically hold a reference to a SPARQL query to generate the autocomplete suggestions."""@en ;
                      rdfs:label "autocomplete property"@en .


:BooleanProperty rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a choice between \"true\" and \"false\" should be proposed."@en ;
                 rdfs:label "boolean property"@en .


:ListProperty rdfs:comment """Use this super property to classify properties in Sparnatural configuration for which a dropdown list should be displayed to select a value.

The list options can be configured using a datasource annotation, that will typically hold a reference to a SPARQL query to generate the list entries."""@en ;
              rdfs:label "list property"@en .


:MapProperty rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a map selection should be displayed."@en ;
             rdfs:label "map property"@en .


:SearchProperty rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a simple text field should be used to enter a string to be searched for."@en ;
                rdfs:label "search property"@en .


:StringEqualsProperty rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a simple text field should be used to enter a string to be searched for, in an exact way, case-insensitive."@en ;
                      rdfs:label "string equals property"@en .


:TimeProperty-Date rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a datepicker with day/month/year precision should be displayed to select the beginning and end of a time span."@en ;
                   rdfs:label "time property with a date-picker"@en .


:TimeProperty-Period rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a datepicker with year precision combined with an autocomplete field on period name should be displayed to select the beginning and end of a time span."@en ;
                     rdfs:label "time property with chronocultural period selection"@en .


:TimeProperty-Year rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a datepicker with year precision should be displayed to select the beginning and end of a time span."@en ;
                   rdfs:label "time property with a year-picker"@en .


:TreeProperty rdfs:comment "Use this super property to classify properties in Sparnatural configuration for which a tree selection widget should be displayed."@en ;
              rdfs:label "tree property"@en .


###  Generated by the OWL API (version 5.1.18) https://github.com/owlcs/owlapi/
