# Copyright (c) 2022,2023 T-Systems International GmbH
# Copyright (c) 2022,2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) 
# Copyright (c) 2022,2023 ZF Friedrichshafen AG 
# Copyright (c) 2022,2023 Mercedes-Benz AG 
# Copyright (c) 2022,2023 Contributors to the Catena-X Association
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0.
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0

@prefix : <https://catena-x.net/product-knowledge/ontology/core#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@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#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix json: <https://json-schema.org/draft/2020-12/schema#> .
@prefix schema: <https://schema.org/> .
@prefix cx-core: <https://w3id.org/catenax/ontology/core#> .
@base <https://catena-x.net/product-knowledge/ontology/core#> .
@prefix : <https://w3id.org/catenax/ontology/core#> .

<https://catena-x.net/product-knowledge/ontology/core> rdf:type owl:Ontology ;
                                                        dc:creator "Oguzhan Balandi" ;
                                                        dc:date "2023-05-05"^^xsd:date ;
                                                        dc:description "The Catena-X core ontology contains main domain-independent classes, attributes and relations." ;
                                                        dc:title "Core Ontology" ;
                                                        owl:versionInfo "1.9.4" .

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

###  http://purl.org/dc/elements/1.1/creator
dc:creator rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/date
dc:date rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/description
dc:description rdf:type owl:AnnotationProperty .


###  http://purl.org/dc/elements/1.1/title
dc:title rdf:type owl:AnnotationProperty .


###  http://www.w3.org/2004/02/skos/core#altLabel
skos:altLabel rdf:type owl:AnnotationProperty .


###  http://www.w3.org/2004/02/skos/core#definition
skos:definition rdf:type owl:AnnotationProperty .


###  http://www.w3.org/2004/02/skos/core#example
skos:example rdf:type owl:AnnotationProperty .


###  http://www.w3.org/2004/02/skos/core#prefLabel
skos:prefLabel rdf:type owl:AnnotationProperty .

###  https://json-schema.org/draft/2020-12/schema#Object
json:Object rdf:type rdfs:Datatype .

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

###  https://catena-x.net/product-knowledge/ontology/core#describedByConceptualObject
cx-core:describedByConceptualObject rdf:type owl:ObjectProperty ;
                                    rdfs:subPropertyOf owl:topObjectProperty ;
                                    owl:inverseOf cx-core:describesPhysicalObject ;
                                    rdfs:domain cx-core:PhysicalObject ;
                                    rdfs:range cx-core:ConceptualObject ;
                                    dc:description "Inverse of 'describes physical object' property."@en ;
                                    skos:prefLabel "described by conceptual object"@en .


###  https://catena-x.net/product-knowledge/ontology/core#describesPhysicalObject
cx-core:describesPhysicalObject rdf:type owl:ObjectProperty ;
                                rdfs:subPropertyOf owl:topObjectProperty ;
                                rdfs:domain cx-core:ConceptualObject ;
                                rdfs:range cx-core:PhysicalObject ;
                                rdfs:comment "This property describes that a conceptual object has a descriptive relationship to a physical object."@en ;
                                rdfs:label "describes physical object"@en .


###  https://catena-x.net/product-knowledge/ontology/core#hasParticipant
cx-core:hasParticipant rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf owl:topObjectProperty ;
                       rdfs:domain cx-core:Activity ;
                       rdfs:range cx-core:Actor ;
                       rdfs:comment "This property describes the active or passive participation of instances of Actors in an Activity." ;
                       rdfs:label "has participant"@en .


###  https://catena-x.net/product-knowledge/ontology/core#hosts
cx-core:hosts rdf:type owl:ObjectProperty ;
              rdfs:subPropertyOf owl:topObjectProperty ;
              rdfs:domain cx-core:Place ;
              rdfs:range cx-core:Activity .


###  https://catena-x.net/product-knowledge/ontology/core#involvedIn
cx-core:involvedIn rdf:type owl:ObjectProperty ;
                   rdfs:domain cx-core:ConceptualObject ,
                               cx-core:PhysicalObject ;
                   rdfs:range cx-core:Activity ;
                   rdfs:comment "This property describes in which activity the physical object is involved."@en ;
                   rdfs:label "involved in"@en .


###  https://catena-x.net/product-knowledge/ontology/core#participatesIn
cx-core:participatesIn rdf:type owl:ObjectProperty ;
                       rdfs:subPropertyOf owl:topObjectProperty ;
                       rdfs:domain cx-core:Actor ;
                       rdfs:range cx-core:Activity ;
                       rdfs:comment "Inverse of 'has participant'"@en ;
                       rdfs:label "participates in"@en .


###  https://catena-x.net/product-knowledge/ontology/core#refersToConceptualObject
cx-core:refersToConceptualObject rdf:type owl:ObjectProperty ;
                                 rdfs:subPropertyOf owl:topObjectProperty ;
                                 rdfs:domain cx-core:Activity ;
                                 rdfs:range cx-core:ConceptualObject ;
                                 rdfs:comment "This property refers to actively or passively used conceptual objects in an Activity."@en ;
                                 rdfs:label "refers to conceptual object"@en .


###  https://catena-x.net/product-knowledge/ontology/core#refersToPhysicalObject
cx-core:refersToPhysicalObject rdf:type owl:ObjectProperty ;
                               rdfs:subPropertyOf owl:topObjectProperty ;
                               rdfs:domain cx-core:Activity ;
                               rdfs:range cx-core:ConceptualObject ;
                               rdfs:comment "This property refers to actively or passively used physical objects in an Activity."@en ;
                               rdfs:label "refers to physical object"@en .


###  https://catena-x.net/product-knowledge/ontology/core#relatedToPlace
cx-core:relatedToPlace rdf:type owl:ObjectProperty ;
                       rdfs:domain cx-core:Actor ;
                       rdfs:range cx-core:Place ;
                       rdfs:label "This property describes that an actor has a relationship to a particular place, such as reside, own, or manage, etc."@en ,
                                  "related to place"@en .


###  https://catena-x.net/product-knowledge/ontology/core#takesPlaceAt
cx-core:takesPlaceAt rdf:type owl:ObjectProperty ;
                     rdfs:domain cx-core:Activity ;
                     rdfs:range cx-core:Place ;
                     rdfs:comment "This property describes the spatial location of an activity."@en ;
                     rdfs:label "takes place at"@en .


#################################################################
#    Data properties
#################################################################

###  https://catena-x.net/product-knowledge/ontology/core#endDateTime
cx-core:endDateTime rdf:type owl:DatatypeProperty ;
                    rdfs:subPropertyOf owl:topDataProperty ;
                    rdfs:domain cx-core:Activity ;
                    rdfs:range xsd:dateTime ;
                    rdfs:comment "End time of the activity."@en ;
                    rdfs:label "end dateTime"@en .


###  https://catena-x.net/product-knowledge/ontology/core#id
cx-core:id rdf:type owl:DatatypeProperty ;
           rdfs:subPropertyOf owl:topDataProperty ;
           rdfs:domain owl:Thing ;
           rdfs:range xsd:string .


###  https://catena-x.net/product-knowledge/ontology/core#name
cx-core:name rdf:type owl:DatatypeProperty ;
             rdfs:subPropertyOf owl:topDataProperty ;
             rdfs:domain owl:Thing ;
             rdfs:range xsd:string .


###  https://catena-x.net/product-knowledge/ontology/core#role
cx-core:role rdf:type owl:DatatypeProperty ;
             rdfs:subPropertyOf owl:topDataProperty ;
             rdfs:domain owl:Thing ;
             rdfs:range xsd:string .


###  https://catena-x.net/product-knowledge/ontology/core#startDateTime
cx-core:startDateTime rdf:type owl:DatatypeProperty ;
                      rdfs:subPropertyOf owl:topDataProperty ;
                      rdfs:domain cx-core:Activity ;
                      rdfs:range xsd:dateTime ;
                      rdfs:comment "Start time of the activity."@en ;
                      rdfs:label "start dateTime"@en .


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

###  https://catena-x.net/product-knowledge/ontology/core#Activity
cx-core:Activity rdf:type owl:Class ;
                 owl:disjointUnionOf ( cx-core:Actor
                                       cx-core:Address
                                       cx-core:ConceptualObject
                                       cx-core:PhysicalObject
                                       cx-core:Place
                                     ) ;
                 rdfs:comment "This class comprises actions intentionally carried out by instances of Actor that result in changes of state in physical and conceptual objects."@en .


###  https://catena-x.net/product-knowledge/ontology/core#Actor
cx-core:Actor rdf:type owl:Class ;
              dc:description "This class comprises organization or people, either individually or in groups, who have the potential to perform intentional actions of kinds for which someone may be held responsible." .


###  https://catena-x.net/product-knowledge/ontology/core#Address
cx-core:Address rdf:type owl:Class .


###  https://catena-x.net/product-knowledge/ontology/core#ConceptualObject
cx-core:ConceptualObject rdf:type owl:Class ;
                         dc:description "This class includes non-material products, human-produced data related to physical objects. The production of such information may have been supported by the use of technical tools."@en ;
                         rdfs:label "Conceptual Object"@en .


###  https://catena-x.net/product-knowledge/ontology/core#PhysicalObject
cx-core:PhysicalObject rdf:type owl:Class ;
                       dc:description "This class includes objects of a material nature, which are documentation units and have physical boundaries."@en ;
                       rdfs:label "Physical Object"@en .


###  https://catena-x.net/product-knowledge/ontology/core#Place
cx-core:Place rdf:type owl:Class ;
              rdfs:comment "The class Place is determined by reference to the position of objects such as buildings, cities, or special geographic markers."@en .


###  Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi