PREFIX part14: <http://standards.iso.org/iso/15926/part14/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

part14:PointInTime a rdfs:Class ;
  rdfs:label "PointInTime" ;
  rdfs:subClassOf part14:Event .

part14:creates a rdf:Property ;
  rdfs:label "creates" ;
  rdfs:comment "Use this relation to express that an activity brings a physical object into being. (Derived from class_of_cause_of_beginning_of_class_of_individual in Part 2)." ;
  rdfs:domain part14:Activity ;
  rdfs:range part14:PhysicalObject .

part14:occursRelativeTo a rdf:Property ;
  rdfs:label "occursRelativeTo" ;
  rdfs:comment "This relation is introduced for the DL profile as a top relation for various temporal relations between activities." ;
  rdfs:domain part14:Activity ;
  rdfs:range part14:Activity .

part14:hasActivityPart a rdf:Property ;
  rdfs:label "hasActivityPart" ;
  rdfs:domain part14:Activity ;
  rdfs:range part14:Activity ;
  rdfs:subPropertyOf part14:hasPart .

part14:hasParticipant a rdf:Property ;
  rdfs:label "hasParticipant" ;
  rdfs:comment "This is the recommended superrelation for types of participation by entities in activities -- the agent, the matter being acted upon, etc." ;
  rdfs:domain part14:Activity ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:SpatialLocation a rdfs:Class ;
  rdfs:label "SpatialLocation" ;
  rdfs:subClassOf part14:Location .

part14:FunctionalObject a rdfs:Class ;
  rdfs:label "FunctionalObject" ;
  rdfs:comment "A functional object is part of a system, and has a function whose realisation contributes to the performance of the system as a whole." ;
  rdfs:subClassOf part14:Object .

part14:functionalPartOf a rdf:Property ;
  rdfs:label "functionalPartOf" ;
  rdfs:comment "Where x is a functional part of a system y, the realisation of one or more functions of x contributes to the performance of y." ;
  rdfs:domain part14:FunctionalObject ;
  rdfs:range part14:System ;
  rdfs:subPropertyOf part14:partOf .

part14:hasFunction a rdf:Property ;
  rdfs:label "hasFunction" ;
  rdfs:comment "Inspired by BFO's \"has function\" (RO_0000085)." ;
  rdfs:range part14:Function ;
  rdfs:subPropertyOf part14:hasDisposition .

part14:Phase a rdfs:Class ;
  rdfs:label "Phase" ;
  rdfs:subClassOf part14:InanimatePhysicalObject .

part14:contains a rdf:Property ;
  rdfs:label "contains" ;
  rdfs:comment "For the DL profile, we restrict this relation to physical objects. Note that this rules out using \"lis:contains\" for spatial locations." ;
  rdfs:domain part14:PhysicalObject ;
  rdfs:range part14:PhysicalObject ;
  rdfs:subPropertyOf part14:locatedRelativeTo .

part14:connectedTo a rdf:Property ;
  rdfs:label "connectedTo" ;
  rdfs:domain part14:PhysicalObject ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:hasArrangedPart a rdf:Property ;
  rdfs:label "hasArrangedPart" ;
  rdfs:comment "In line with intended use, for the DL profile this relation has a domain restricted to physical objects." ;
  rdfs:domain part14:PhysicalObject ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf part14:hasPart .

part14:installedAs a rdf:Property ;
  rdfs:label "installedAs" ;
  rdfs:domain part14:PhysicalObject ;
  rdfs:range part14:FunctionalObject .

part14:Aspect a rdfs:Class ;
  rdfs:label "Aspect" .

part14:Scale a rdfs:Class ;
  rdfs:label "Scale" ;
  rdfs:subClassOf part14:UnitOfMeasure .

part14:Object a rdfs:Class ;
  rdfs:label "Object" .

part14:UnitOfMeasure a rdfs:Class ;
  rdfs:label "UnitOfMeasure" ;
  rdfs:subClassOf part14:InformationObject .

part14:PhysicalQuantity a rdfs:Class ;
  rdfs:label "PhysicalQuantity" ;
  rdfs:subClassOf part14:Quality .

part14:qualityQuantifiedAs a rdf:Property ;
  rdfs:label "qualityQuantifiedAs" ;
  rdfs:comment "This relation is inspired by the relation \"is quality measured as\" of the Information Artefact Ontology. The term \"quantified\" replaces \"measured\" to support cases where measurement is not involved, as in e.g. estimates." ;
  rdfs:domain part14:Quality ;
  rdfs:range part14:QuantityDatum ;
  rdfs:subPropertyOf part14:representedBy .

part14:InanimatePhysicalObject a rdfs:Class ;
  rdfs:label "InanimatePhysicalObject" ;
  rdfs:subClassOf part14:PhysicalObject .

part14:Organism a rdfs:Class ;
  rdfs:label "Organism" ;
  rdfs:subClassOf part14:PhysicalObject .

part14:Location a rdfs:Class ;
  rdfs:label "Location" ;
  rdfs:subClassOf part14:Object .

part14:Function a rdfs:Class ;
  rdfs:label "Function" ;
  rdfs:comment "Inspired by the BFO class \"function\" (BFO_0000034)." ;
  rdfs:subClassOf part14:Disposition .

part14:realizedIn a rdf:Property ;
  rdfs:label "realizedIn" ;
  rdfs:comment "Inspired by BFO's \"realized in\" (BFO_0000054)" ;
  rdfs:range part14:Activity .

part14:Role a rdfs:Class ;
  rdfs:label "Role" ;
  rdfs:comment "This class is motivated in the Part 2 'role' entity type, and in the same-named BFO class. Part 2 is not very specific about the meaning of roles, but the examples are clear enough. There is still much disagreement in the ontology field about how roles should be understood and modelled." ;
  rdfs:subClassOf part14:Aspect .

part14:QuantityDatum a rdfs:Class ;
  rdfs:label "QuantityDatum" ;
  rdfs:comment "This class is inspired by the class \"measurement datum\" of the Information Artefact Ontology. The change of wording from \"measurement\" to \"quantity\" is intended to support cases where measurement is not involved, such as with nominal values." ;
  rdfs:subClassOf part14:InformationObject .

part14:datumUOM a rdf:Property ;
  rdfs:label "datumUOM" ;
  rdfs:comment "Relation (functional) to assign unit of measure to measurement data." ;
  rdfs:domain part14:QuantityDatum ;
  rdfs:range part14:UnitOfMeasure .

part14:InformationObject a rdfs:Class ;
  rdfs:label "InformationObject" ;
  rdfs:subClassOf part14:Object .

part14:PointInSpace a rdfs:Class ;
  rdfs:label "PointInSpace" ;
  rdfs:subClassOf part14:SpatialLocation .

part14:Event a rdfs:Class ;
  rdfs:label "Event" ;
  rdfs:subClassOf part14:Activity .

part14:PhysicalObject a rdfs:Class ;
  rdfs:label "PhysicalObject" ;
  rdfs:subClassOf part14:Object .

part14:Stream a rdfs:Class ;
  rdfs:label "Stream" ;
  rdfs:subClassOf part14:InanimatePhysicalObject .

part14:Compound a rdfs:Class ;
  rdfs:label "Compound" ;
  rdfs:subClassOf part14:PhysicalObject .

part14:Activity a rdfs:Class ;
  rdfs:label "Activity" .

part14:Quality a rdfs:Class ;
  rdfs:label "Quality" ;
  rdfs:subClassOf part14:Aspect .

part14:System a rdfs:Class ;
  rdfs:label "System" ;
  rdfs:comment "A system is a complex of functional parts working together. Each part contributes to the realisation of the system's function (though not necessarily every part in every performance of the system)." ;
  rdfs:subClassOf part14:FunctionalObject .

part14:hasFunctionalPart a rdf:Property ;
  rdfs:label "hasFunctionalPart" ;
  rdfs:range <https://w3id.org/linkml/Any> ;
  rdfs:subPropertyOf part14:hasPart .

part14:Person a rdfs:Class ;
  rdfs:label "Person" ;
  rdfs:subClassOf part14:Organism .

part14:Site a rdfs:Class ;
  rdfs:label "Site" ;
  rdfs:comment "This class is inspired by the class \"site\" of the Information Artefact Ontology." ;
  rdfs:subClassOf part14:Location .

part14:Organization a rdfs:Class ;
  rdfs:label "Organization" ;
  rdfs:subClassOf part14:Object .

part14:Disposition a rdfs:Class ;
  rdfs:label "Disposition" ;
  rdfs:comment "Inspired by the BFO class \"disposition\" (BFO_0000016)." ;
  rdfs:subClassOf part14:Aspect .

part14:PeriodInTime a rdfs:Class ;
  rdfs:label "PeriodInTime" ;
  rdfs:subClassOf part14:Activity .

part14:Feature a rdfs:Class ;
  rdfs:label "Feature" ;
  rdfs:subClassOf part14:PhysicalObject .

part14:ScalarQuantityDatum a rdfs:Class ;
  rdfs:label "ScalarQuantityDatum" ;
  rdfs:comment "A scalar quantity datum has a unique unit of measure and a unique numeric value. This class is inspired by the class \"scalar measurement datum\" of the Information Artefact Ontology." ;
  rdfs:subClassOf part14:QuantityDatum .

part14:datumValue a rdf:Property ;
  rdfs:label "datumValue" ;
  rdfs:comment "This relation is inspired by the relation \"has measurement value\" of the Information Artefact Ontology." ;
  rdfs:range <https://w3id.org/linkml/Any> .

<https://w3id.org/linkml/Any> a rdfs:Class ;
  rdfs:comment "An unconstrained type or object" .

part14:RegionInSpace a rdfs:Class ;
  rdfs:label "RegionInSpace" ;
  rdfs:subClassOf part14:SpatialLocation .

part14:activityBoundOf a rdf:Property ;
  rdfs:label "activityBoundOf" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:activityPartOf .

part14:activityPartOf a rdf:Property ;
  rdfs:label "activityPartOf" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:partOf .

part14:after a rdf:Property ;
  rdfs:label "after" ;
  rdfs:comment "Use this relation to state that one activity after before another." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:occursRelativeTo .

part14:approvedBy a rdf:Property ;
  rdfs:label "approvedBy" ;
  rdfs:comment "Relation for stating that some item or activity was approved by an entity, typically a person or an organisation." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:interests .

part14:approvedOn a rdf:Property ;
  rdfs:label "approvedOn" ;
  rdfs:comment "This is a super-property for stating the time that an entity was approved, derived from Part 2 \"approval\". Introduce sub-properties to match different contexts and types of approval. The range of sub-properties should be xsd:date or xsd:dateTime." ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:arrangedPartOf a rdf:Property ;
  rdfs:label "arrangedPartOf" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:partOf .

part14:assembledPartOf a rdf:Property ;
  rdfs:label "assembledPartOf" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:arrangedPartOf .

part14:before a rdf:Property ;
  rdfs:label "before" ;
  rdfs:comment "Use this relation to state that one activity occurs before another." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:occursRelativeTo .

part14:begins a rdf:Property ;
  rdfs:label "begins" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:activityBoundOf .

part14:causes a rdf:Property ;
  rdfs:label "causes" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:before .

part14:containedBy a rdf:Property ;
  rdfs:label "containedBy" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:locatedRelativeTo .

part14:createdBy a rdf:Property ;
  rdfs:label "createdBy" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:directlyConnectedTo a rdf:Property ;
  rdfs:label "directlyConnectedTo" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:connectedTo .

part14:ends a rdf:Property ;
  rdfs:label "ends" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:activityBoundOf .

part14:featureOf a rdf:Property ;
  rdfs:label "featureOf" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:arrangedPartOf .

part14:hasActivityBound a rdf:Property ;
  rdfs:label "hasActivityBound" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:hasActivityPart .

part14:hasAssembledPart a rdf:Property ;
  rdfs:label "hasAssembledPart" ;
  rdfs:comment "This is the recommended (super-) relation for capturing physical breakdown of mechanical assemblies." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:hasArrangedPart .

part14:hasBeginning a rdf:Property ;
  rdfs:label "hasBeginning" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:hasActivityBound .

part14:hasDisposition a rdf:Property ;
  rdfs:label "hasDisposition" ;
  rdfs:comment "Inspired by BFO's \"has disposition\" (RO_0000091)." ;
  rdfs:range part14:Disposition .

part14:hasEnding a rdf:Property ;
  rdfs:label "hasEnding" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:hasActivityBound .

part14:hasFeature a rdf:Property ;
  rdfs:label "hasFeature" ;
  rdfs:comment "Example of usage: stating that an entity has a surface suitable for connection, such as a flange face." ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:hasArrangedPart .

part14:hasInstalled a rdf:Property ;
  rdfs:label "hasInstalled" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:hasPart a rdf:Property ;
  rdfs:label "hasPart" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:hasPhysicalQuantity a rdf:Property ;
  rdfs:label "hasPhysicalQuantity" ;
  rdfs:range xsd:string ;
  rdfs:subPropertyOf part14:hasQuality .

part14:hasQuality a rdf:Property ;
  rdfs:label "hasQuality" ;
  rdfs:range part14:Quality .

part14:hasRole a rdf:Property ;
  rdfs:label "hasRole" ;
  rdfs:comment "Inspired by BFO's \"has role\" (RO_0000087)" ;
  rdfs:range part14:Role .

part14:interests a rdf:Property ;
  rdfs:label "interests" ;
  rdfs:comment "Derived from \"LifecycleStage\" of Part 2, this is a superproperty suitable for various intentional relationships, such as planning, approving, or ordering. The Part 2 name \"lifecycle stage\" is likely to confuse, but the intended use of this type is clear enough from this Part 2 annotation to ClassOfLifecycleStage: \"EXAMPLE Planned, required, expected, and proposed can be represented by instances of [class_of_lifecycle_stage].\"" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:locatedRelativeTo a rdf:Property ;
  rdfs:label "locatedRelativeTo" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:partOf a rdf:Property ;
  rdfs:label "partOf" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:participantIn a rdf:Property ;
  rdfs:label "participantIn" ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:qualityQuantityValue a rdf:Property ;
  rdfs:label "qualityQuantityValue" ;
  rdfs:comment "This is a super-property for \"shortcut\" relations that combine a quality, the weak lis:qualityQuantifiedAs, and a unit of measure into a simple data property. For instance, \"mass in kilograms\" can be introduced as such a data property, for expressing the mass of an entity on the kilogram scale. lis:qualityQuantifiedAs is weak in the sense that it doesn't distinguish between designed or estimated, and measured, values." ;
  rdfs:range <https://w3id.org/linkml/Any> .

part14:representedBy a rdf:Property ;
  rdfs:label "representedBy" ;
  rdfs:comment "Following Part 2, this is the top level relation from information objects to things." ;
  rdfs:range part14:InformationObject .

part14:roleOf a rdf:Property ;
  rdfs:label "roleOf" ;
  rdfs:comment "Inspired by BFO's \"role of\" (RO_0000081)" ;
  rdfs:range <https://w3id.org/linkml/Any> .
