From 6169366fbbad17f118d9d8bc970b8d7273e40cea Mon Sep 17 00:00:00 2001 From: Bart Hanssens Date: Mon, 31 Jan 2022 13:53:43 +0100 Subject: [PATCH] GH-4: initial publication of ICEG PO / PS Signed-off-by:Bart Hanssens --- prod/data/shacl/publicorganization.ttl | 598 +++++++++++++++++++++++++ prod/data/shacl/publicservice.ttl | 6 +- 2 files changed, 601 insertions(+), 3 deletions(-) create mode 100644 prod/data/shacl/publicorganization.ttl diff --git a/prod/data/shacl/publicorganization.ttl b/prod/data/shacl/publicorganization.ttl new file mode 100644 index 0000000..2d9c7c9 --- /dev/null +++ b/prod/data/shacl/publicorganization.ttl @@ -0,0 +1,598 @@ +@prefix dc: . +@prefix foaf: . +@prefix org: . +@prefix prov: . +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix schemas: . +@prefix shacl: . +@prefix skos: . +@prefix xhv: . +@prefix xsd: . + + a owl:Ontology; + rdfs:comment "ICEG Public Organization SHACL rules"@en, "ICEG Public Organization rules"@fr, + "ICEG Public Organization rules"@nl, "ICEG Public Organization rules"@de; + rdfs:label "ICEG PO"@de, "ICEG PO"@en, "ICEG PO"@fr, "ICEG PO"@nl; + owl:versionInfo "Draft 2022-01-31". + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype rdf:langString; + shacl:definition "The name or names of a geographic area or locality that groups a number of addressable objects for addressing purposes, without being an administrative unit."@en; + shacl:maxCount 1; + shacl:name "address area"@en; + shacl:path + ], [ + shacl:datatype xsd:string; + shacl:definition "A globally unique identifier for each instance of an Address."@en; + shacl:maxCount 1; + shacl:name "address ID"@en; + shacl:path + ], [ + shacl:datatype skos:Concept; + shacl:definition "The name or names of a unit of administration where a Member State has and/or exercises jurisdictional rights, for local, regional and national governance. Level 1 refers to the uppermost administrative unit for the address, almost always a country."@en; + shacl:maxCount 1; + shacl:name "administrative unit level 1 (country)"@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition "The name or names of a unit of administration where a Member State has and/or exercises jurisdictional rights, for local, regional and national governance. Level 2 referst to the region of the address, usually a county, state or other such area that typically encompasses several localities."@en; + shacl:maxCount 1; + shacl:name "administrative unit level 2 (country/region/state)"@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition "The complete address written as a formatted string."@en; + shacl:maxCount 1; + shacl:name "full address"@en; + shacl:path + ], [ + shacl:datatype xsd:string; + shacl:definition "A number or a sequence of characters which allows a user or an application to interpret, parse and format the locator within the relevant scope. A locator may include more locator designators."@en; + shacl:maxCount 1; + shacl:name "locator designator"@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition "Proper noun(s) applied to the real world entity identified by the locator."@en; + shacl:maxCount 1; + shacl:name "locator name"@en; + shacl:path + ], [ + shacl:datatype xsd:string; + shacl:definition "The Post Office Box number."@en; + shacl:maxCount 1; + shacl:name "post office box"@en; + shacl:path + ], [ + shacl:datatype xsd:string; + shacl:definition "The post/zip code of an address. (INSPIRE's definition is \"A code created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points.\")"@en; + shacl:maxCount 1; + shacl:name "post code"@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition """The key postal division of the address, usually the city. (INSPIRE's definition is \"One or more names created and maintained for postal purposes to identify a subdivision of addresses and postal delivery points.) For example, \"Paris\"."""@en; + shacl:maxCount 1; + shacl:name "post name (city)"@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition "An address component that represents the name or names of a passage or way through from one location to another. A thoroughfare is not necessarily a road, it might be a waterway or some other feature."@en; + shacl:maxCount 1; + shacl:name "thoroughfare"@en; + shacl:path + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:class ; + shacl:definition "The geometry relationship associates a Administrative Territorial Unit with the Geometry class."@en; + shacl:maxCount 1; + shacl:name "geometry"@en; + shacl:path + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype rdf:langString; + shacl:definition "A textual description of the event."@en; + shacl:maxCount 1; + shacl:name "description"@en; + shacl:path dc:description + ], [ + shacl:datatype xsd:dateTime; + shacl:definition "The time at which the Change Event ended."@en; + shacl:maxCount 1; + shacl:name "ended at time"@en; + shacl:path prov:endedAtTime + ], [ + shacl:class ; + shacl:definition "The property hasFormalFramework links a Change Event or Foundation Event to a piece of legislation or a policy document that prompted the change."@en; + shacl:name "has formal framework"@en; + shacl:path + ], [ + shacl:class org:Organization; + shacl:definition "The original organization property links a Change Event to the Organization that existed before the change. Although the Foundation Event class is defined as a subclass of Change Event, it is inappropriate to use the original organization property with the Foundation Event class."@en; + shacl:name "original organization"@en; + shacl:path org:originalOrganization + ], [ + shacl:class org:Organization; + shacl:definition "This property links a Change Event or a Foundation Event to the Organization that resulted from it."@en; + shacl:name "resulting organization"@en; + shacl:path org:resultingOrganization + ], [ + shacl:datatype xsd:dateTime; + shacl:definition "The time at which the Change Event started."@en; + shacl:maxCount 1; + shacl:name "started at time"@en; + shacl:path prov:startedAtTime + ]; + shacl:targetClass org:ChangeEvent . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:class schemas:OpeningHoursSpecification; + shacl:definition "The availability restriction property links a Contact Point to details of specific details of its opening hours that override the general case."@en; + shacl:maxCount 1; + shacl:name "availability restriction"@en; + shacl:path schemas:hoursAvailable + ], [ + shacl:datatype rdfs:Literal; + shacl:definition """A property through which an e-mail address for the Public Organization, or a +representative of it, can be contacted."""@en; + shacl:maxCount 1; + shacl:name "has email"@en; + shacl:path schemas:email + ], [ + shacl:datatype rdfs:Literal; + shacl:definition "A property through which a phone number for the Public Organization, or a representative of it, can be contacted."@en; + shacl:maxCount 1; + shacl:name "has telephone"@en; + shacl:path schemas:telephone + ], [ + shacl:datatype rdfs:Literal; + shacl:definition "The value of this property is structured text that gives the hours at which the contact point is normally available."@en; + shacl:maxCount 1; + shacl:name "opening hours"@en; + shacl:path schemas:openingHours + ], [ + shacl:datatype schema:url; + shacl:definition "A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs."@en; + shacl:maxCount 1; + shacl:name "website"@en; + shacl:path schema:WebSite + ]; + shacl:targetClass schemas:ContactPoint . + + a shacl:NodeShape; + shacl:closed false; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype xsd:string; + shacl:definition "The coordinate list."@en; + shacl:maxCount 1; + shacl:name "coordinates"@en; + shacl:path + ], [ + shacl:datatype xsd:anyURI; + shacl:definition "An identifier for the coordinate reference system."@en; + shacl:maxCount 1; + shacl:name "crs"@en; + shacl:path + ], [ + shacl:datatype skos:Concept; + shacl:definition "The geometry type, e.g. point, line or polygon."@en; + shacl:maxCount 1; + shacl:name "geometry type"@en; + shacl:path + ], [ + shacl:datatype rdfs:Literal; + shacl:definition "The geometry written in Geography Markup Language."@en; + shacl:maxCount 1; + shacl:name "gml"@en; + shacl:path + ], [ + shacl:datatype xsd:string; + shacl:definition "The latitude."@en; + shacl:maxCount 1; + shacl:name "latitude"@en; + shacl:path schemas:latitude + ], [ + shacl:datatype xsd:string; + shacl:definition "The longitude."@en; + shacl:maxCount 1; + shacl:name "longitude"@en; + shacl:path schemas:longitude + ], [ + shacl:datatype rdfs:Literal; + shacl:definition "The well-known text representation string describing the point, line or polygon."@en; + shacl:maxCount 1; + shacl:name "wkt"@en; + shacl:path + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype xsd:dateTime; + shacl:definition "The date on which the Identifier was assigned."@en; + shacl:maxCount 1; + shacl:name "date of issue"@en; + shacl:path dc:issued + ], [ + shacl:datatype rdfs:Literal; + shacl:definition "The value of this property is the Identifier itself."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "identifier"@en; + shacl:path skos:notation + ], [ + shacl:datatype rdf:langString; + shacl:definition "The name of the agency responsible for issuing the Identifier."@en; + shacl:maxCount 1; + shacl:name "issuing authority name"@en; + shacl:path + ], [ + shacl:datatype xsd:anyURI; + shacl:definition "The URI of the issuing authority."@en; + shacl:maxCount 1; + shacl:name "issuing authority URI"@en; + shacl:path dc:creator + ], [ + shacl:datatype rdf:langString; + shacl:definition "Name of the scheme used to construct the identifier."@en; + shacl:maxCount 1; + shacl:name "scheme name"@en; + shacl:path dc:conformsTo + ], [ + shacl:datatype xsd:anyURI; + shacl:definition "URI of the scheme used to construct the identifier."@en; + shacl:maxCount 1; + shacl:name "scheme URI"@en; + shacl:path dc:conformsTo + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:targetClass schemas:ImageObject . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype xsd:anyURI; + shacl:definition "The day of the week for which these opening hours are valid."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "day of week"@en; + shacl:path schemas:dayOfWeek + ], [ + shacl:datatype xsd:dateTime; + shacl:definition "The date when the Opening Hours Specification becomes valid."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "valid from"@en; + shacl:path schemas:validFrom + ], [ + shacl:datatype xsd:dateTime; + shacl:definition "The date after when the Opening Hours Specification is not valid."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "valid through"@en; + shacl:path schemas:validThrough + ]; + shacl:targetClass schemas:OpeningHoursSpecification . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype rdf:langString; + shacl:definition "In line with ORG and SKOS itself, an organization may have any number of alternative or informal names, irrespective of language."@en; + shacl:maxCount 1; + shacl:name "alternative label"@en; + shacl:path skos:altLabel + ], [ + shacl:datatype skos:Concept; + shacl:definition "Certifications, licences or registrations that are of importance for third parties or whose publication is mandatory"@en; + shacl:name "certification"@en + ], [ + shacl:class org:ChangeEvent; + shacl:definition "The changed by organization property links an Organization to the Change Event that changed the Organization."@en; + shacl:name "changed by"@en; + shacl:path org:changedBy + ], [ + shacl:class schemas:ContactPoint; + shacl:definition """The contact point property links to a Contact Point that provides contact +information, in particular a phone number and e-mail address."""@en; + shacl:name "contact point"@en; + shacl:path schemas:contactPoint + ], [ + shacl:datatype rdf:langString; + shacl:definition "Statement or account giving the characteristics of the company."@en; + shacl:maxCount 1; + shacl:name "description"@en; + shacl:path dc:description + ], [ + shacl:datatype skos:Concept; + shacl:definition "Ex officio striking off of the entity for failure to submit their financial statements"@en; + shacl:maxCount 1; + shacl:name "ex officio striking off"@en + ], [ + shacl:class org:Organization; + shacl:definition """One Organization may be a member of another without being a sub organization, i.e. +they are independent entities."""@en; + shacl:name "has member"@en; + shacl:path org:hasMember + ], [ + shacl:class ; + shacl:definition "Indicates that Person is a member of the Organization with no indication of the nature of that membership or the role played"@en; + shacl:name "has member"@en; + shacl:path + ], [ + shacl:class org:Post; + shacl:definition "Indicates the post that belongs to the Organization."@en; + shacl:name "has post"@en; + shacl:path org:hasPost + ], [ + shacl:class org:Site; + shacl:definition "Indicates a site at which the Organization has some presence even if only indirect (e.g. virtual office or a professional service which is acting as the registered address for a company)."@en; + shacl:minCount 1; + shacl:name "has site"@en; + shacl:path org:hasSite + ], [ + shacl:class org:Organization; + shacl:definition """Public Organizations are often large and complex and may be a collection of smaller +Organizations, each of which has a specific identity that may be legally defined. The +hasSubOrganization and subOrganizationOf properties express the relationships +between Organizations in a hierarchical structure. """@en; + shacl:name "has sub organization"@en; + shacl:path org:hasSubOrganization + ], [ + shacl:class org:OrganizationalUnit; + shacl:definition "The properties hasUnit and unitOf are used to link to operational departments within an Organization that may not generally exist in their own right."@en; + shacl:name "has unit"@en; + shacl:path org:hasUnit + ], [ + shacl:class ; + shacl:definition """Many organizations are referred to by an acronym or some other identifier +"""@en; + shacl:maxCount 1; + shacl:name "identifier"@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition "Links to databases containing data not recorded in the CBE/KBO"@en; + shacl:name "links to database"@en + ], [ + shacl:class schemas:ImageObject; + shacl:definition "A property to link an Organization to its logo."@en; + shacl:name "logo"@en; + shacl:path schemas:logo + ], [ + shacl:class org:Organization; + shacl:definition """One Organization may be a member of another without being a sub organization, i.e. +they are independent entities."""@en; + shacl:name "member of"@en; + shacl:path org:memberOf + ], [ + shacl:class org:Organization; + shacl:definition """In some cases, it is necessary to be able to create an ordered sequence of +organizations that precede and succeed each other. To support this, the CPOV +includes the well-known relationships of previous and next to allow such sequences +to be captured and computed."""@en; + shacl:name "next"@en; + shacl:path xhv:next + ], [ + shacl:datatype rdf:langString; + shacl:definition "As defined in the ORG Ontology, a preferred label is used to provide the primary, legally recognised name of the organization"@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "preferred label"@en; + shacl:path skos:prefLabel + ], [ + shacl:class org:Organization; + shacl:definition """In some cases, it is necessary to be able to create an ordered sequence of +organizations that precede and succeed each other. To support this, the CPOV +includes the well-known relationships of previous and next to allow such sequences +to be captured and computed."""@en; + shacl:name "prev"@en; + shacl:path xhv:prev + ], [ + shacl:class org:ChangeEvent; + shacl:definition "This property link an Organization to the Change Event it resulted from."@en; + shacl:name "resulted from"@en; + shacl:path org:resultedFrom + ], [ + shacl:datatype xsd:dateTime; + shacl:definition """ The date on which the Organization-related information was provided."""@en; + shacl:maxCount 1; + shacl:name "start date of this data"@en + ], [ + shacl:datatype skos:Concept; + shacl:definition """Entity status, e.g. active, closed, cancelled, identified +legal creation, stopped"""@en; + shacl:maxCount 1; + shacl:name "status"@en + ], [ + shacl:class org:Organization; + shacl:definition """Public Organizations are often large and complex and may be a collection of smaller +Organizations, each of which has a specific identity that may be legally defined. The +hasSubOrganization and subOrganizationOf properties express the relationships +between Organizations in a hierarchical structure. """@en; + shacl:name "sub organization of"@en; + shacl:path org:subOrganizationOf + ]; + shacl:targetClass org:Organization . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:class org:Organization; + shacl:definition "The properties hasUnit and unitOf are used to link to operational departments within an Organization that may not generally exist in their own right."@en; + shacl:name "unit of"@en; + shacl:path org:unitOf + ]; + shacl:targetClass org:OrganizationalUnit . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype rdf:langString; + shacl:definition "Any name by which an individual is known other than their full name."@en; + shacl:maxCount 1; + shacl:name "alternative name"@en; + shacl:path dc:alternative + ], [ + shacl:datatype rdf:langString; + shacl:definition "Full name of the Person given upon their birth."@en; + shacl:maxCount 1; + shacl:name "birth name"@en; + shacl:path + ], [ + shacl:datatype xsd:dateTime; + shacl:definition "The day on which the Person was born."@en; + shacl:maxCount 1; + shacl:name "date of birth"@en; + shacl:path schemas:birthDate + ], [ + shacl:datatype xsd:dateTime; + shacl:definition "The day on which the Person died."@en; + shacl:maxCount 1; + shacl:name "date of death"@en; + shacl:path schemas:deathDate + ], [ + shacl:datatype rdf:langString; + shacl:definition "A family name is usually shared by members of a family."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "family name (surname)"@en; + shacl:path foaf:familyName + ], [ + shacl:datatype rdf:langString; + shacl:definition "The full name contains the complete name of a person as one string."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "full name"@en; + shacl:path foaf:name + ], [ + shacl:datatype rdf:langString; + shacl:definition "A given name, or multiple given names, are the denominator(s) that identify an individual within a family."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "given name (forename)"@en; + shacl:path foaf:givenName + ], [ + shacl:class org:Post; + shacl:definition "Indicates a Post held by a Person."@en; + shacl:minCount 1; + shacl:name "holds"@en; + shacl:path + ], [ + shacl:class ; + shacl:definition "The identifier relation is used to link a Person to any formally issued Identifier for that Person."@en; + shacl:maxCount 1; + shacl:name "identifier"@en; + shacl:path + ], [ + shacl:class org:Organization; + shacl:definition "Indicates a Person who is a member of the subject Organization"@en; + shacl:name "member of"@en; + shacl:path schemas:memberOf + ], [ + shacl:datatype rdf:langString; + shacl:definition "Name based on the given name of the Person's father."@en; + shacl:maxCount 1; + shacl:name "patronymic name"@en; + shacl:path + ], [ + shacl:class ; + shacl:definition "The registered address of the Person."@en; + shacl:maxCount 1; + shacl:name """registered address +"""@en; + shacl:path + ], [ + shacl:datatype rdf:langString; + shacl:definition "The approriate values for title are not formally constrained, and will vary across community and context. Values such as 'Mr', 'Mrs', 'Ms', 'Dr' etc. are expected."@en; + shacl:maxCount 1; + shacl:name "title"@en; + shacl:path foaf:title + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:class org:Organization; + shacl:definition "Indicates the Organization whose post belongs to."@en; + shacl:name "post in"@en; + shacl:path org:postIn + ], [ + shacl:class org:Role; + shacl:definition "Indicates the Role that the Person plays in a Membership relationship with an Organization. Can also be used on a org:Post to indicate the role that any holder of the Post plays."@en; + shacl:minCount 1; + shacl:name "role"@en; + shacl:path org:role + ]; + shacl:targetClass org:Post . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:class ; + shacl:definition "This property links an Organization to the Administrative Region(s) that it covers."@en; + shacl:name "jurisdiction"@en; + shacl:path dc:spatial + ], [ + shacl:datatype rdf:langString; + shacl:definition "The type of entity as defined by the Belgian law"@en; + shacl:maxCount 1; + shacl:name "legal form"@en + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:datatype rdfs:Literal; + shacl:definition "An unambiguous reference to a Reference Framework."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "identifier"@en; + shacl:path dc:identifier + ], [ + shacl:class org:ChangeEvent; + shacl:definition "The implements property links a Change Event to relevant legislation or policy documents i.e. the formal framework under which the Change Event is defined."@en; + shacl:name "implements"@en; + shacl:path + ]; + shacl:targetClass . + + a shacl:NodeShape; + shacl:closed false; + shacl:targetClass org:Role . + + a shacl:NodeShape; + shacl:closed false; + shacl:property [ + shacl:class ; + shacl:definition "A property to link an organization to its address."@en; + shacl:maxCount 1; + shacl:minCount 1; + shacl:name "address"@en; + shacl:path + ]; + shacl:targetClass org:Site . diff --git a/prod/data/shacl/publicservice.ttl b/prod/data/shacl/publicservice.ttl index 2722233..76cef41 100644 --- a/prod/data/shacl/publicservice.ttl +++ b/prod/data/shacl/publicservice.ttl @@ -11,10 +11,10 @@ @prefix xsd: . a owl:Ontology; - rdfs:comment "ICEG Public Service SHACL rules"@en, "ICEG Public Service rules"@fr, - "ICEG Public Service"@nl, "ICEG Public Service rules"@de; + rdfs:comment "ICEG Public Service SHACL rules"@en, "ICEG Public Service SHACL rules"@fr, + "ICEG Public Service SHACL rules"@nl, "ICEG Public Service SHACL rules"@de; rdfs:label "ICEG PS"@de, "ICEG PS"@en, "ICEG PS"@fr, "ICEG PS"@nl; - owl:versionInfo "Draft 2022-01-26". + owl:versionInfo "Draft 2022-01-31". a shacl:NodeShape; shacl:closed false;