@prefix sdsu: <https://semanticdataservices.com/ontology/core/upper#> .
@prefix owl:  <http://www.w3.org/2002/07/owl#> .
@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#> .
@prefix dct:  <http://purl.org/dc/terms/> .
@prefix prov: <http://www.w3.org/ns/prov#> .

<https://semanticdataservices.com/ontology/core/upper>
    a owl:Ontology ;
    owl:versionIRI <https://semanticdataservices.com/ontology/2026.08/core/upper> ;
    owl:versionInfo "2026.08" ;
    dct:title "SDS Enterprise Upper Ontology"@en ;
    dct:creator "Semantic Data Services" ;
    dct:description "Shared identity, time, event, evidence, governance and system concepts used by all SDS financial ontology modules."@en .

sdsu:Entity a owl:Class ; rdfs:label "Entity"@en .
sdsu:Agent a owl:Class ; rdfs:subClassOf sdsu:Entity, prov:Agent ; rdfs:label "Agent"@en .
sdsu:Organization a owl:Class ; rdfs:subClassOf sdsu:Agent ; rdfs:label "Organization"@en .
sdsu:Person a owl:Class ; rdfs:subClassOf sdsu:Agent ; rdfs:label "Person"@en .
sdsu:Role a owl:Class ; rdfs:subClassOf sdsu:Entity ; rdfs:label "Role"@en .
sdsu:Event a owl:Class ; rdfs:subClassOf sdsu:Entity ; rdfs:label "Event"@en .
sdsu:Observation a owl:Class ; rdfs:subClassOf sdsu:Event ; rdfs:label "Observation"@en .
sdsu:InformationResource a owl:Class ; rdfs:subClassOf sdsu:Entity ; rdfs:label "Information resource"@en .
sdsu:Evidence a owl:Class ; rdfs:subClassOf sdsu:InformationResource, prov:Entity ; rdfs:label "Evidence"@en .
sdsu:DataSource a owl:Class ; rdfs:subClassOf sdsu:InformationResource, prov:Entity ; rdfs:label "Data source"@en .
sdsu:DataProduct a owl:Class ; rdfs:subClassOf sdsu:InformationResource ; rdfs:label "Data product"@en .
sdsu:System a owl:Class ; rdfs:subClassOf sdsu:Entity ; rdfs:label "System"@en .
sdsu:AIModel a owl:Class ; rdfs:subClassOf sdsu:System ; rdfs:label "AI model"@en .
sdsu:Policy a owl:Class ; rdfs:subClassOf sdsu:InformationResource ; rdfs:label "Policy"@en .
sdsu:Control a owl:Class ; rdfs:subClassOf sdsu:Entity ; rdfs:label "Control"@en .
sdsu:TimeInstant a owl:Class ; rdfs:subClassOf sdsu:Entity ; rdfs:label "Time instant"@en .
sdsu:ProvenanceActivity a owl:Class ; rdfs:subClassOf sdsu:Event, prov:Activity ; rdfs:label "Provenance activity"@en .

sdsu:hasRole a owl:ObjectProperty ; rdfs:domain sdsu:Agent ; rdfs:range sdsu:Role ; rdfs:label "has role"@en .
sdsu:partOf a owl:ObjectProperty, owl:TransitiveProperty ; rdfs:domain sdsu:Entity ; rdfs:range sdsu:Entity ; rdfs:label "part of"@en .
sdsu:affects a owl:ObjectProperty ; rdfs:domain sdsu:Event ; rdfs:range sdsu:Entity ; rdfs:label "affects"@en .
sdsu:observedEntity a owl:ObjectProperty ; rdfs:domain sdsu:Observation ; rdfs:range sdsu:Entity ; rdfs:label "observed entity"@en .
sdsu:derivedFrom a owl:ObjectProperty ; rdfs:subPropertyOf prov:wasDerivedFrom ; rdfs:domain sdsu:Entity ; rdfs:range sdsu:Entity ; rdfs:label "derived from"@en .
sdsu:generatedBy a owl:ObjectProperty ; rdfs:subPropertyOf prov:wasGeneratedBy ; rdfs:domain sdsu:Entity ; rdfs:range sdsu:ProvenanceActivity ; rdfs:label "generated by"@en .
sdsu:supportedByEvidence a owl:ObjectProperty ; rdfs:domain sdsu:Entity ; rdfs:range sdsu:Evidence ; rdfs:label "supported by evidence"@en .
sdsu:governedBy a owl:ObjectProperty ; rdfs:domain sdsu:Entity ; rdfs:range sdsu:Policy ; rdfs:label "governed by"@en .
sdsu:implementedByControl a owl:ObjectProperty ; rdfs:domain sdsu:Policy ; rdfs:range sdsu:Control ; rdfs:label "implemented by control"@en .
sdsu:producedBy a owl:ObjectProperty ; rdfs:domain sdsu:InformationResource ; rdfs:range sdsu:System ; rdfs:label "produced by"@en .
sdsu:consumedBy a owl:ObjectProperty ; rdfs:domain sdsu:InformationResource ; rdfs:range sdsu:System ; rdfs:label "consumed by"@en .
sdsu:hasSource a owl:ObjectProperty ; rdfs:subPropertyOf prov:hadPrimarySource ; rdfs:domain sdsu:Entity ; rdfs:range sdsu:DataSource ; rdfs:label "has source"@en .

sdsu:identifier a owl:DatatypeProperty ; rdfs:domain sdsu:Entity ; rdfs:range xsd:string ; rdfs:label "identifier"@en .
sdsu:name a owl:DatatypeProperty ; rdfs:domain sdsu:Entity ; rdfs:range xsd:string ; rdfs:label "name"@en .
sdsu:eventTime a owl:DatatypeProperty ; rdfs:domain sdsu:Event ; rdfs:range xsd:dateTime ; rdfs:label "event time"@en .
sdsu:ingestionTime a owl:DatatypeProperty ; rdfs:domain sdsu:Event ; rdfs:range xsd:dateTime ; rdfs:label "ingestion time"@en .
sdsu:effectiveFrom a owl:DatatypeProperty ; rdfs:domain sdsu:Entity ; rdfs:range xsd:dateTime ; rdfs:label "effective from"@en .
sdsu:effectiveTo a owl:DatatypeProperty ; rdfs:domain sdsu:Entity ; rdfs:range xsd:dateTime ; rdfs:label "effective to"@en .
sdsu:sourceRecordId a owl:DatatypeProperty ; rdfs:domain sdsu:Entity ; rdfs:range xsd:string ; rdfs:label "source record identifier"@en .
sdsu:confidenceScore a owl:DatatypeProperty ; rdfs:domain sdsu:Entity ; rdfs:range xsd:decimal ; rdfs:label "confidence score"@en .
