Business Maps as an Ontology

This document assumes you're familiar with ontologies in terms of their use to model data in the semantic web context, otherwise please head to the Ontology section of the Business Maps Concepts documentation.

Earlier in the Business Maps Framework Explanation we said that Business Contexts are divided into puzzle pieces: Things, Personas, Interfaces, Workflows, Actions, and Values. We also explained that Things make up a mini-ontology of a given Business Context. To reduce barrier to entry we publish the Business Maps Meta-Ontology, which is an ontology used as a backbone for each Business Context ontology. This document explains the meta-ontology, allowing you to navigate for a deeper understanding whether it's out of curiousity or whether you'd like to tweak the ontology for your own use case.

At the top of the turtle serialization of the Business Maps Meta-Ontology we'll see the prefixes that will help us combine different ontologies in a more concise fashion. As you'll see we're only using some common ontologies that are well known within the field, RDF, RDFS, OWL, XML Schema, and SHACL

@prefix : <https://businessmaps.io/ontology/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@base <https://businessmaps.io/ontology/> .

Business Context

Starting out with the Business Context which is an OWL Class, the properties of which can teach us a bit about its functions. Aside from the name each Business Context also can be a childContextOf or a parentContextOf of another Business Context allowing us to have bi-directional hierarchical relationships between contexts. This can be leveraged to further organize one's business logic, and even create the concept of a department. Each Business Context can also providesValueStream or consumesValueStream allowing us to connect different contexts via Value Streams. Of course each Business Context also hasThing, hasPersona, hasPersona, hasAction, hasWorkflow, and hasValue.

###  https://businessmaps.io/ontology/BusinessContext
:BusinessContext rdf:type owl:Class ;
                 rdfs:subClassOf [ rdf:type owl:Restriction ;
                                   owl:onProperty :childContextOf ;
                                   owl:someValuesFrom :BusinessContext
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :consumesValueStream ;
                                   owl:someValuesFrom :ValueStream
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :hasAction ;
                                   owl:someValuesFrom :Action
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :hasInterface ;
                                   owl:someValuesFrom :Interface
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :hasPersona ;
                                   owl:someValuesFrom :Persona
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :hasThing ;
                                   owl:someValuesFrom :Thing
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :parentContextOf ;
                                   owl:someValuesFrom :BusinessContext
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :providesValueStream ;
                                   owl:someValuesFrom :ValueStream
                                 ] ,
                                 [ rdf:type owl:Restriction ;
                                   owl:onProperty :name ;
                                   owl:someValuesFrom xsd:string
                                 ] ;
                 rdfs:comment "A distinct operational domain within an organization"@en ;
                 rdfs:label "BusinessContext"@en .

Thing

A Thing is an OWL Class that has a name and can have Attributes through the property hasAttribute. Each Thing falls within some Business Context through the inContext property, and has an Interface through the representedBy property.

###  https://businessmaps.io/ontology/Thing
:Thing rdf:type owl:Class ;
       rdfs:subClassOf [ rdf:type owl:Restriction ;
                         owl:onProperty :hasAttribute ;
                         owl:someValuesFrom :Attribute
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :inContext ;
                         owl:someValuesFrom :BusinessContext
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :representedBy ;
                         owl:someValuesFrom :Interface
                       ] ,
                       [ rdf:type owl:Restriction ;
                         owl:onProperty :name ;
                         owl:someValuesFrom xsd:string
                       ] ;
       rdfs:comment "An entity within a business context representing a core concept or data element"@en ;
       rdfs:label "Thing"@en .

Attribute

An Attribute is an OWL Class that has a name and connects to our Things through the belongsToThing property. Additionally, each Attribute must have an AttributeType as its type through the hasType property, and can have an AttributeShape through the hasShape property

###  https://businessmaps.io/ontology/Attribute
:Attribute rdf:type owl:Class ;
           rdfs:subClassOf [ rdf:type owl:Restriction ;
                             owl:onProperty :belongsToThing ;
                             owl:someValuesFrom :Thing
                           ] ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :hasShape ;
                             owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                             owl:onClass :AttributeShape
                           ] ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :hasType ;
                             owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                             owl:onClass :AttributeType
                           ] ,
                           [ rdf:type owl:Restriction ;
                             owl:onProperty :name ;
                             owl:someValuesFrom xsd:string
                           ] ;
           rdfs:comment "A property or characteristic of a business context's thing"@en ;
           rdfs:label "Attribute"@en .

AttributeType

An AttributeType is an OWL Class whose subclasses give us primitives that we can use to specify the types of our Attributes, those subclasses are:

  • String: A textual type, which can be used for things like names, titles, status...
  • Integer: A numeric type without a decimal place, i.e. 156
  • Decimal: A numeric type with a decimal place, i.e. 18.2
  • Boolean: A binary logic type, i.e. True or False
  • Time: A type that holds time in the hh:mm format
  • Date: A type that holds dates in the YY-MM-DD format
  • DateTime: A type that holds both a date and a time in the YY-MM-DDThh:mm:ss.sss format
  • Duration: A type that represents a duration of time that can be expressed using years, months, days, hours, minutes, and seconds
  • List: An ordered list of things
  • Set: An unordered list of unique things
  • Enumeration: Options, for example a status can be either To Do, Doing, or Done
  • Reference: A type used to reference other Things, which is how we can define relationships between Things
###  https://businessmaps.io/ontology/AttributeType
:AttributeType rdf:type owl:Class ;
               rdfs:subClassOf [ rdf:type owl:Restriction ;
                                 owl:onProperty :typeOf ;
                                 owl:someValuesFrom :Attribute
                               ] ;
               rdfs:comment "The type of an attribute. Can be primitive, reference, collection, or other extended types"@en ;
               rdfs:label "AttributeType"@en .
 
###  https://businessmaps.io/ontology/String
:String rdf:type owl:Class ;
        rdfs:subClassOf :AttributeType ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :applicableShape ;
                          owl:someValuesFrom :MaxLengthShape
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :applicableShape ;
                          owl:someValuesFrom :MinLengthShape
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :applicableShape ;
                          owl:someValuesFrom :PatternShape
                        ] ,
                        [ rdf:type owl:Restriction ;
                          owl:onProperty :mapsToXSD ;
                          owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                          owl:onDataRange xsd:string
                        ] ;
        rdfs:comment "A primitve type that represents text"@en ;
        rdfs:label "String"@en ;
        :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/Integer
:Integer rdf:type owl:Class ;
         rdfs:subClassOf :AttributeType ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MaxExclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MaxInclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MinExclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MinInclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :mapsToXSD ;
                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:integer
                         ] ;
         rdfs:comment "A primitve type to represent whole numbers without a decimal"@en ;
         rdfs:label "Integer"@en ;
         :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/Decimal
:Decimal rdf:type owl:Class ;
         rdfs:subClassOf :AttributeType ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MaxExclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MaxInclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MinExclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :applicableShape ;
                           owl:someValuesFrom :MinInclusiveShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :mapsToXSD ;
                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:decimal
                         ] ;
         rdfs:comment "A primitve type for numbers with a decimal part"@en ;
         rdfs:label "Decimal"@en ;
         :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/Boolean
:Boolean rdf:type owl:Class ;
         rdfs:subClassOf :AttributeType ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :mapsToXSD ;
                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange xsd:boolean
                         ] ;
         rdfs:comment "A primitive type that represents binary logic, True/False, Yes/No..."@en ;
         rdfs:label "Boolean"@en ;
         :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/Time
:Time rdf:type owl:Class ;
      rdfs:subClassOf :AttributeType ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MaxExclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MaxInclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MinExclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MinInclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :mapsToXSD ;
                        owl:someValuesFrom xsd:time
                      ] ;
      rdfs:comment "A primtive type that represents time without a date, the format is hh:mm:ss.sss. The letter Z is used to indicate Coordinated Universal Time (UTC). All other time zones are represented by their difference from Coordinated Universal Time in the format +hh:mm, or -hh:mm."@en ;
      rdfs:label "Time"@en ;
      :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/Date
:Date rdf:type owl:Class ;
      rdfs:subClassOf :AttributeType ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MaxExclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MaxInclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MinExclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :applicableShape ;
                        owl:someValuesFrom :MinInclusiveShape
                      ] ,
                      [ rdf:type owl:Restriction ;
                        owl:onProperty :mapsToXSD ;
                        owl:someValuesFrom xsd:date
                      ] ;
      rdfs:comment "A primitive type used for dates without time"@en ;
      rdfs:label "Date"@en ;
      :attributeTypeGroup "Primitive Types" .
 
 
###  https://businessmaps.io/ontology/DateTime
:DateTime rdf:type owl:Class ;
          rdfs:subClassOf :AttributeType ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MaxExclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MaxInclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MinExclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MinInclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :mapsToXSD ;
                            owl:someValuesFrom xsd:dateTime
                          ] ;
          rdfs:comment "A primtive type that represents date+time, the format isCCYY-MM-DDThh:mm:ss.sss. The letter Z can be added to indicate Coordinated Universal Time (UTC). All other time zones are represented by their difference from Coordinated Universal Time in the format +hh:mm, or -hh:mm."@en ;
          rdfs:label "DateTime"@en ;
          :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/Duration
:Duration rdf:type owl:Class ;
          rdfs:subClassOf :AttributeType ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MaxExclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MaxInclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MinExclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :applicableShape ;
                            owl:someValuesFrom :MinInclusiveShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :mapsToXSD ;
                            owl:someValuesFrom xsd:duration
                          ] ;
          rdfs:comment "A primitive type that represents a duration of time that can be expressed using years, months, days, hours, minutes, and seconds. The format is PnYnMnDTnHnMnS"@en ;
          rdfs:label "Duration"@en ;
          :attributeTypeGroup "Primitive Types" .
 
###  https://businessmaps.io/ontology/ListType
:ListType rdf:type owl:Class ;
          rdfs:subClassOf :AttributeType ;
          rdfs:comment "An ordered collection of resources that allows duplicates"@en ;
          rdfs:label "List"@en ;
          :attributeTypeGroup "Collection Types" .
 
###  https://businessmaps.io/ontology/SetType
:SetType rdf:type owl:Class ;
         rdfs:subClassOf :AttributeType ;
         rdfs:comment "A collection of unordered resources without duplicates"@en ;
         rdfs:label "Set"@en ;
         :attributeTypeGroup "Collection Types" .
 
###  https://businessmaps.io/ontology/EnumeratedType
:EnumeratedType rdf:type owl:Class ;
                rdfs:subClassOf :AttributeType ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty :allowedValue ;
                                  owl:someValuesFrom rdfs:Literal
                                ] ;
                rdfs:comment "Represents an attribute type where the value must be one from a fixed list of allowed values"@en ;
                rdfs:label "Enumeration"@en ;
                :attributeTypeGroup "Complex Types" .
 
###  https://businessmaps.io/ontology/ReferenceType
:ReferenceType rdf:type owl:Class ;
               rdfs:subClassOf :AttributeType ,
                               [ rdf:type owl:Restriction ;
                                 owl:onProperty :references ;
                                 owl:someValuesFrom :Thing
                               ] ;
               rdfs:comment "References another Thing in order to create relationships"@en ;
               rdfs:label "Reference"@en ;
               :attributeTypeGroup "Complex Types" .

AttributeShape

AttributeShape help us validate Attributes, different AttributeTypes have different applicable AttributeShapes through the applicableShape property. An AttributeShape could be a SimpleShape such as the MaxLengthShape or the MinLengthShape, it could be a CardinalityShape that tells us how many of a given Attribute a Thing should have, or a LogicalShape that lets us say something like a given attribute has both a minimum length of 3 and maximum length of 16. AttributeShapes are wrappers around the most common SHACL concepts.

###  https://businessmaps.io/ontology/AttributeShape
:AttributeShape rdf:type owl:Class ;
                rdfs:subClassOf [ rdf:type owl:Restriction ;
                                  owl:onProperty :shapeOf ;
                                  owl:someValuesFrom :Attribute
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty :name ;
                                  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                  owl:onDataRange xsd:string
                                ] ;
                rdfs:comment "A way of constraining the shape of an attribute, shapes are translated to SHACL shapes"@en ;
                rdfs:label "AttributeShape"@en .
 
###  https://businessmaps.io/ontology/LogicalShape
:LogicalShape rdf:type owl:Class ;
              rdfs:subClassOf :AttributeShape ;
              rdfs:comment "Logic shaping used to construct more complex shapes from other AttributeShape classes"@en ;
              rdfs:label "LogicalShape"@en .
 
###  https://businessmaps.io/ontology/AndShape
:AndShape rdf:type owl:Class ;
          rdfs:subClassOf :LogicalShape ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :hasOperand ;
                            owl:someValuesFrom :AttributeShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :mapsToSHACL ;
                            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                            owl:onDataRange sh:and
                          ] ;
          rdfs:comment "Used to chain multiple AttributeShape classes, where all the shapes chained must be satisfied"@en ;
          rdfs:label "AndShape"@en .
 
###  https://businessmaps.io/ontology/NotShape
:NotShape rdf:type owl:Class ;
          rdfs:subClassOf :LogicalShape ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :hasOperand ;
                            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                            owl:onClass :AttributeShape
                          ] ,
                          [ rdf:type owl:Restriction ;
                            owl:onProperty :mapsToSHACL ;
                            owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                            owl:onDataRange sh:not
                          ] ;
          rdfs:comment "Used to negate a given AttributeShape, meaning the attribute having the given shape is a violation"@en ;
          rdfs:label "NotShape"@en .
 
###  https://businessmaps.io/ontology/OrShape
:OrShape rdf:type owl:Class ;
         rdfs:subClassOf :LogicalShape ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :hasOperand ;
                           owl:someValuesFrom :AttributeShape
                         ] ,
                         [ rdf:type owl:Restriction ;
                           owl:onProperty :mapsToSHACL ;
                           owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                           owl:onDataRange sh:or
                         ] ;
         rdfs:comment "Used to chain multiple AttributeShape classes, one of the given shapes being satisfied is enough"@en ;
         rdfs:label "OrShape"@en .
 
 
###  https://businessmaps.io/ontology/PatternShape
:PatternShape rdf:type owl:Class ;
              rdfs:subClassOf :SimpleShape ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :mapsToSHACL ;
                                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                owl:onDataRange sh:pattern
                              ] ,
                              [ rdf:type owl:Restriction ;
                                owl:onProperty :simpleShapeParam ;
                                owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                owl:onDataRange xsd:string
                              ] ;
              rdfs:comment "Data constained with the PatternShape must follow a regex pattern supplied"@en ;
              rdfs:label "PatternShape"@en .
 
###  https://businessmaps.io/ontology/CardinalityShape
:CardinalityShape rdf:type owl:Class ;
                  rdfs:subClassOf :AttributeShape ;
                  rdfs:label "CardinalityShape"@en .
 
###  https://businessmaps.io/ontology/SimpleShape
:SimpleShape rdf:type owl:Class ;
             rdfs:subClassOf :AttributeShape ;
             rdfs:comment "A way of shaping attribute with single non-composite shapes" ;
             rdfs:label "SimpleShape"@en .
 
###  https://businessmaps.io/ontology/HasValueShape
:HasValueShape rdf:type owl:Class ;
               rdfs:subClassOf :SimpleShape ;
               rdfs:comment "A shape that says a given attribute has a specifc given value"@en ;
               rdfs:label "HasValueShape"@en .
 
 
###  https://businessmaps.io/ontology/InShape
:InShape rdf:type owl:Class ;
         rdfs:subClassOf :SimpleShape ;
         rdfs:comment "A shape that assets a given attribute's value lies within a given set"@en ;
         rdfs:label "InShape"@en .
 
###  https://businessmaps.io/ontology/MaxCountShape
:MaxCountShape rdf:type owl:Class ;
               rdfs:subClassOf :CardinalityShape ,
                               [ rdf:type owl:Restriction ;
                                 owl:onProperty :mapsToSHACL ;
                                 owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                 owl:onDataRange sh:maxCount
                               ] ;
               rdfs:comment "How many of the given attributes ought to exist, can be used to describe a required attribute, or for enforcing vector size for complex attributes"@en ;
               rdfs:label "MaxCountShape"@en .
 
 
###  https://businessmaps.io/ontology/MaxExclusiveShape
:MaxExclusiveShape rdf:type owl:Class ;
                   rdfs:subClassOf :SimpleShape ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :mapsToSHACL ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange sh:maxExclusive
                                   ] ;
                   rdfs:comment "Equivalent of less than" ;
                   rdfs:label "MaxExclusiveShape"@en .
 
 
###  https://businessmaps.io/ontology/MaxInclusiveShape
:MaxInclusiveShape rdf:type owl:Class ;
                   rdfs:subClassOf :SimpleShape ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :mapsToSHACL ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange sh:maxInclusive
                                   ] ;
                   rdfs:comment "Equivalent of less than or equal to"@en ;
                   rdfs:label "MaxInclusiveShape"@en .
 
 
###  https://businessmaps.io/ontology/MaxLengthShape
:MaxLengthShape rdf:type owl:Class ;
                rdfs:subClassOf :SimpleShape ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty :length ;
                                  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                  owl:onDataRange xsd:integer
                                ] ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty :mapsToSHACL ;
                                  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                  owl:onDataRange sh:maxLength
                                ] ;
                rdfs:comment "Data constrained with the MinLengthShape, must have at most the length supplied"@en ;
                rdfs:label "MaxLengthShape"@en .
 
 
###  https://businessmaps.io/ontology/MinCountShape
:MinCountShape rdf:type owl:Class ;
               rdfs:subClassOf :CardinalityShape ,
                               [ rdf:type owl:Restriction ;
                                 owl:onProperty :mapsToSHACL ;
                                 owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                 owl:onDataRange sh:minCount
                               ] ;
               rdfs:comment "How many of the given attributes ought to exist, can be used to describe a required attribute, or for enforcing vector size for complex attributes"@en ;
               rdfs:label "MinCountShape"@en .
 
 
###  https://businessmaps.io/ontology/MinExclusiveShape
:MinExclusiveShape rdf:type owl:Class ;
                   rdfs:subClassOf :SimpleShape ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :mapsToSHACL ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange sh:minExclusive
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :simpleShapeParam ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange xsd:integer
                                   ] ;
                   rdfs:comment "Equivalent of greater than"@en ;
                   rdfs:label "minExclusiveShape"@en .
 
 
###  https://businessmaps.io/ontology/MinInclusiveShape
:MinInclusiveShape rdf:type owl:Class ;
                   rdfs:subClassOf :SimpleShape ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :mapsToSHACL ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange sh:minInclusive
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :simpleShapeParam ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange xsd:date
                                   ] ,
                                   [ rdf:type owl:Restriction ;
                                     owl:onProperty :simpleShapeParam ;
                                     owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                     owl:onDataRange xsd:integer
                                   ] ;
                   rdfs:comment "Equivalent of greater than or equal to"@en ;
                   rdfs:label "MinInclusiveShape"@en .
 
 
###  https://businessmaps.io/ontology/MinLengthShape
:MinLengthShape rdf:type owl:Class ;
                rdfs:subClassOf :SimpleShape ,
                                [ rdf:type owl:Restriction ;
                                  owl:onProperty :mapsToSHACL ;
                                  owl:qualifiedCardinality "1"^^xsd:nonNegativeInteger ;
                                  owl:onDataRange sh:minLength
                                ] ;
                rdfs:comment "Data constrained with the MinLengthShape, must have at least the length supplied"@en ;
                rdfs:label "MinLengthShape"@en .

On this page