@prefix c: <https://ontology.inferal.com/modules/advertising-configuration-history/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix mod: <https://w3id.org/mod#> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
@prefix vann: <http://purl.org/vocab/vann/> .

c: a owl:Ontology, pubacc:PublicationManagedOntology ; dcterms:accessRights pubacc:PublicAccess ; dcterms:license <https://creativecommons.org/licenses/by/4.0/> ; vann:preferredNamespacePrefix "acfg" ; vann:preferredNamespaceUri "https://ontology.inferal.com/modules/advertising-configuration-history/" ; mod:status "draft" ; owl:versionInfo "0.1.0" ;  dcterms:title "Advertising Configuration History Ontology" ; dcterms:description "Opt-in graph-qualified captures and separately identified interpretations of provider configurations." ; rdfs:label "Advertising configuration history" ; rdfs:comment "Opt-in graph-qualified captures and interpretations of provider configuration representations." .

c:Capture a rdfs:Class ; rdfs:label "Capture" ; rdfs:comment "A caller-declared local handle for a selected captured provider representation, independent of retrieval time, payload identity and native revision identity." .

c:SourceArtifact a rdfs:Class ; rdfs:label "Source artifact" ; rdfs:comment "Selected source bytes identified by a relative path and SHA-256 digest; reuse of the same bytes does not identify separate captures." .

c:Derivation a rdfs:Class ; rdfs:label "Derivation" ; rdfs:comment "One interpretation of a capture by a completely identified source package, with explicit source and projection graphs." .

c:ConfigurationObservation a rdfs:Class ; rdfs:label "Configuration observation" ; rdfs:comment "A reference to one original producer configuration representation in a selected derivation and projection graph; it does not establish canonical entity identity." .

c:sourceArtifact a rdf:Property ; rdfs:label "source artifact" ; rdfs:comment "The selected source-byte artifact described by this capture." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> ; rdfs:range <https://ontology.inferal.com/modules/advertising-configuration-history/SourceArtifact> .

c:providerSchema a rdf:Property ; rdfs:label "provider schema" ; rdfs:comment "The pinned provider JSON-LD context selected for expansion; this reference does not establish provider validity." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> ; rdfs:range <http://www.w3.org/2000/01/rdf-schema#Resource> .

c:sourceContextSha256 a rdf:Property ; rdfs:label "source context sha256" ; rdfs:comment "SHA-256 of the selected vendored JSON-LD context bytes." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> ; rdfs:range <http://www.w3.org/2001/XMLSchema#string> .

c:capturedAt a rdf:Property ; rdfs:label "captured at" ; rdfs:comment "Supplied retrieval time; it does not establish an effective transition, latest state or complete history." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> ; rdfs:range <http://www.w3.org/2001/XMLSchema#dateTime> .

c:declaredAccountContext a rdf:Property ; rdfs:label "declared account context" ; rdfs:comment "Optional caller-supplied account context, retained as unverified context rather than canonical account identity." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> ; rdfs:range <http://www.w3.org/2000/01/rdf-schema#Resource> .

c:sourcePath a rdf:Property ; rdfs:label "source path" ; rdfs:comment "Relative source-byte path interpreted within the authored capture envelope directory." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/SourceArtifact> ; rdfs:range <http://www.w3.org/2001/XMLSchema#string> .

c:sha256 a rdf:Property ; rdfs:label "sha256" ; rdfs:comment "SHA-256 of the selected source-byte artifact." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/SourceArtifact> ; rdfs:range <http://www.w3.org/2001/XMLSchema#string> .

c:captureDescriptorHash a rdf:Property ; rdfs:label "capture descriptor hash" ; rdfs:comment "SHA-256 of the complete immutable capture descriptor, including source, provider, context, account and retrieval metadata." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> ; rdfs:range <http://www.w3.org/2001/XMLSchema#string> .

c:capture a rdf:Property ; rdfs:label "capture" ; rdfs:comment "The independently declared capture interpreted by this derivation." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> ; rdfs:range <https://ontology.inferal.com/modules/advertising-configuration-history/Capture> .

c:sourceGraph a rdf:Property ; rdfs:label "source graph" ; rdfs:comment "The explicit named graph containing retained native RDF for this capture and derivation." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> ; rdfs:range <http://www.w3.org/2000/01/rdf-schema#Resource> .

c:projectionGraph a rdf:Property ; rdfs:label "projection graph" ; rdfs:comment "The explicit named graph containing this derivation’s original provider projection; consumers must select this graph." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> ; rdfs:range <http://www.w3.org/2000/01/rdf-schema#Resource> .

c:derivation a rdf:Property ; rdfs:label "derivation" ; rdfs:comment "The interpretation bundle that qualifies this configuration observation." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/ConfigurationObservation> ; rdfs:range <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> .

c:representedRecord a rdf:Property ; rdfs:label "represented record" ; rdfs:comment "Original producer record referenced within the selected projection graph, without canonical identity or cloning." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/ConfigurationObservation> ; rdfs:range <http://www.w3.org/2000/01/rdf-schema#Resource> .

c:representationKind a rdf:Property ; rdfs:label "representation kind" ; rdfs:comment "Explicit producer representation kind, such as Budget or SpendCap, in the selected graph." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/ConfigurationObservation> ; rdfs:range <http://www.w3.org/2000/01/rdf-schema#Resource> .

c:projectedCount a rdf:Property ; rdfs:label "projected count" ; rdfs:comment "Number of distinct Budget or SpendCap representations projected in this derivation; zero does not establish native absence or provider invalidity." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> ; rdfs:range <http://www.w3.org/2001/XMLSchema#integer> .

c:projectionStanding a rdf:Property ; rdfs:label "projection standing" ; rdfs:comment "Whether this derivation contains projected specifications, independently of source presence, currentness or provider validity." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> ; rdfs:range <http://www.w3.org/2001/XMLSchema#string> .

c:derivationPackage a rdf:Property ; rdfs:label "derivation package" ; rdfs:comment "SHA-256 identity of the complete source package used for this derivation." ; rdfs:domain <https://ontology.inferal.com/modules/advertising-configuration-history/Derivation> ; rdfs:range <http://www.w3.org/2001/XMLSchema#string> .
