@prefix nf: <https://ontology.inferal.com/modules/ads-source-fidelity/> .
@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 dcterms: <http://purl.org/dc/terms/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
nf: a owl:Ontology; owl:versionInfo "0.1.0"; dcterms:title "Ads retained source fidelity";
 dcterms:description "Exact retained JSON tokens and occurrences, native numeric datatype evidence and independent read-only source standing.";
 dcterms:license <https://creativecommons.org/licenses/by/4.0/> .
@prefix pubacc: <https://ontology.inferal.com/modules/publication-access/> .
@prefix mod: <https://w3id.org/mod#> .
@prefix vann: <http://purl.org/vocab/vann/> .
nf: dcterms:accessRights pubacc:PublicAccess; mod:status "draft";
 vann:preferredNamespacePrefix "nf"; vann:preferredNamespaceUri "https://ontology.inferal.com/modules/ads-source-fidelity/" .
nf:RawSource a owl:Class; rdfs:label "RawSource"; rdfs:comment "Caller-supplied retained source bytes; source custody grants no native write or historical authority." .
nf:Occurrence a owl:Class; rdfs:label "Occurrence"; rdfs:comment "One ordered JSON value occurrence, including repeated equal values, nulls and empty containers." .
nf:SourceAssessment a owl:Class; rdfs:label "SourceAssessment"; rdfs:comment "One occurrence assessed against captured native numeric datatype evidence; raw lexical preservation alone supplies no datatype authority." .
nf:sourceDigest a rdf:Property; rdfs:label "sourceDigest"; rdfs:comment "SHA-256 digest of the exact retained UTF-8 raw JSON bytes." .
nf:codec a rdf:Property; rdfs:label "codec"; rdfs:comment "Retained read codec; no native mutation encoder is qualified." .
nf:sourceStanding a rdf:Property; rdfs:label "sourceStanding"; rdfs:comment "Applicability standing of the source independently of custody." .
nf:writeAuthorityStanding a rdf:Property; rdfs:label "writeAuthorityStanding"; rdfs:comment "Write authorization assessment independently of privacy, value precision and source custody." .
nf:source a rdf:Property; rdfs:label "source"; rdfs:comment "Retained raw source to which an occurrence or assessment belongs." .
nf:ordinal a rdf:Property; rdfs:label "ordinal"; rdfs:comment "Zero-based preorder ordinal preserving every source occurrence." .
nf:pointer a rdf:Property; rdfs:label "pointer"; rdfs:comment "RFC 6901 escaped pointer into this specific raw JSON document." .
nf:kind a rdf:Property; rdfs:label "kind"; rdfs:comment "JSON value kind, preserving missing, null and empty-container distinctions." .
nf:parent a rdf:Property; rdfs:label "parent"; rdfs:comment "Immediate parent occurrence in the ordered source tree." .
nf:member a rdf:Property; rdfs:label "member"; rdfs:comment "Decoded object member name; duplicate decoded names are refused." .
nf:index a rdf:Property; rdfs:label "index"; rdfs:comment "Zero-based array position; equal values at different positions remain distinct occurrences." .
nf:decoded a rdf:Property; rdfs:label "decoded"; rdfs:comment "Decoded JSON string value without numeric coercion." .
nf:numberLexical a rdf:Property; rdfs:label "numberLexical"; rdfs:comment "Exact JSON number token independently of a native logical datatype." .
nf:booleanValue a rdf:Property; rdfs:label "booleanValue"; rdfs:comment "Decoded JSON boolean without string or integer coercion." .
nf:occurrence a rdf:Property; rdfs:label "occurrence"; rdfs:comment "Exact source occurrence assessed by the retained diagnostic." .
nf:standing a rdf:Property; rdfs:label "standing"; rdfs:comment "Numeric precision standing derived from captured native datatype evidence by SPARQL." .
nf:originalDecimalQualified a rdf:Property; rdfs:label "originalDecimalQualified"; rdfs:comment "Whether captured native decimal datatype evidence qualifies this retained exact decimal; native doubles never receive this standing." .
nf:evidenceNeeded a rdf:Property; rdfs:label "evidenceNeeded"; rdfs:comment "Evidence still needed before extending the finite retained-source claim." .
nf:logicalDatatype a rdf:Property; rdfs:label "logicalDatatype"; rdfs:comment "Captured numeric native XSD datatype from the validated published context/schema, never a caller-declared raw datatype." .
nf:object a owl:NamedIndividual; rdfs:label "object"; rdfs:comment "JSON object with ordered members." .
nf:array a owl:NamedIndividual; rdfs:label "array"; rdfs:comment "JSON array retaining ordered repeated occurrences." .
nf:string a owl:NamedIndividual; rdfs:label "string"; rdfs:comment "JSON string with decoded text retained." .
nf:number a owl:NamedIndividual; rdfs:label "number"; rdfs:comment "JSON number with its exact lexical token retained." .
nf:boolean a owl:NamedIndividual; rdfs:label "boolean"; rdfs:comment "JSON boolean retained as a boolean." .
nf:null a owl:NamedIndividual; rdfs:label "null"; rdfs:comment "Explicit JSON null retained separately from a missing member." .
nf:RetainedReadJSONTokenCodecV1 a owl:NamedIndividual; rdfs:label "RetainedReadJSONTokenCodecV1"; rdfs:comment "Canonical retained read encoding preserves number tokens, member/array order and occurrences; no native sender is qualified." .
nf:CallerSuppliedRetainedSource a owl:NamedIndividual; rdfs:label "CallerSuppliedRetainedSource"; rdfs:comment "Caller-supplied source whose bytes are retained; native sender and current or historical applicability remain unqualified." .
nf:WriteAuthorityUnassessed a owl:NamedIndividual; rdfs:label "WriteAuthorityUnassessed"; rdfs:comment "No assessed native mutation authorization follows from this retained read evidence." .
nf:NativeDatatypeUnassessed a owl:NamedIndividual; rdfs:label "NativeDatatypeUnassessed"; rdfs:comment "No captured native numeric datatype binds this raw occurrence." .
nf:RetainedNativeDatatypeContext a owl:NamedIndividual; rdfs:label "RetainedNativeDatatypeContext"; rdfs:comment "Retained reviewed numeric field context/schema evidence is needed to assess native numeric precision." .
nf:ExactRetainedIntegerValue a owl:NamedIndividual; rdfs:label "ExactRetainedIntegerValue"; rdfs:comment "The validated captured integer datatype admits this exact bounded integer; original decimal provenance and native mutation remain unqualified." .
nf:ExactRetainedDecimalValue a owl:NamedIndividual; rdfs:label "ExactRetainedDecimalValue"; rdfs:comment "The validated captured decimal datatype admits this exact bounded decimal; source custody does not establish historical applicability or a mutation sender." .
nf:NativeBinary64OriginUnqualifiedForOriginalDecimal a owl:NamedIndividual; rdfs:label "NativeBinary64OriginUnqualifiedForOriginalDecimal"; rdfs:comment "The captured double datatype yields a finite binary64 value; the original raw token is retained but never asserted as the original exact decimal value." .
nf:CapturedNativeDatatypeEvidence a owl:NamedIndividual; rdfs:label "CapturedNativeDatatypeEvidence"; rdfs:comment "Captured numeric native datatype evidence supports the bounded precision standing; broader provider and client applicability is still unqualified." .
nf:CallerSuppliedIdentityOnly a owl:NamedIndividual; rdfs:label "CallerSuppliedIdentityOnly"; rdfs:comment "The raw identity occurrence is caller-supplied; collision-safe provider/account ownership is not qualified by lexical equality." .
nf:ReviewedOwnerBinding a owl:NamedIndividual; rdfs:label "ReviewedOwnerBinding"; rdfs:comment "Reviewed provider, account, entity and reference ownership evidence is needed before using this identity as an actionable owner." .
nf:RawSource rdfs:subClassOf prov:Entity .
nf:Occurrence rdfs:subClassOf prov:Entity .
nf:SourceAssessment rdfs:subClassOf prov:Entity .
nf:reader a rdf:Property; rdfs:label "reader"; rdfs:comment "Fixed ordinary read service binding, with independent source and authority policy." .
nf:readerName a rdf:Property; rdfs:label "reader name"; rdfs:comment "Closed retained reader name; no arbitrary query or mutation admission." .
nf:NativeBinary32OriginUnqualifiedForOriginalDecimal a owl:NamedIndividual; rdfs:label "NativeBinary32OriginUnqualifiedForOriginalDecimal"; rdfs:comment "The captured float datatype yields a finite binary32 value; the original raw token is retained but never asserted as the original exact decimal value." .

<https://ontology.inferal.com/modules/ads-source-fidelity/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <https://ontology.inferal.com/modules/publication-access/PublicationManagedOntology> .
