@prefix conf: <https://ontology.inferal.com/modules/confidence/> .
@prefix ex: <https://example.com/localization/> .
@prefix geo: <http://www.opengis.net/ont/geosparql#> .
@prefix loc: <https://ontology.inferal.com/modules/localization/> .
@prefix ord: <https://ontology.inferal.com/modules/ordering/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rng: <https://ontology.inferal.com/modules/range/> .
@prefix wgs84: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

# Basic use: a bare literal can remain a normal property value when the property
# has a known frame. The localization module annotates WGS84 latitude and
# longitude with loc:defaultFrame, so these literals already resolve to CRS84.
ex:observatory
    wgs84:lat "37.3419"^^xsd:decimal ;
    wgs84:long "-121.9143"^^xsd:decimal .

# Stable subject: use loc:Locus when the position itself needs an identifier.
# Here the founding date is uncontested, so loc:at is enough. The UTC frame is
# resolved from the xsd:date datatype registry.
ex:founding
    a loc:Locus ;
    loc:at "1965-01-01"^^xsd:date .

# Contested or instrumented use: the manuscript copy date is the stable subject.
# Each lab report, catalog judgment, or scholarly estimate becomes its own
# loc:Localization with its own value, provenance, and confidence.
ex:w2-copied
    a loc:Locus ;
    loc:inFrame loc:UTCTimeline .

ex:year-1150
    a loc:Locus ;
    loc:inFrame loc:UTCTimeline ;
    loc:at "1150"^^xsd:gYear ;
    ord:lessThan ex:year-1180 .

ex:year-1180
    a loc:Locus ;
    loc:inFrame loc:UTCTimeline ;
    loc:at "1180"^^xsd:gYear ;
    ord:lessThan ex:year-1200 .

ex:year-1200
    a loc:Locus ;
    loc:inFrame loc:UTCTimeline ;
    loc:at "1200"^^xsd:gYear ;
    ord:lessThan ex:year-1220 .

ex:year-1220
    a loc:Locus ;
    loc:inFrame loc:UTCTimeline .

ex:range-1180-1220
    a rng:Range ;
    rng:lowerBound ex:year-1180 ;
    rng:lowerInclusive true ;
    rng:upperBound ex:year-1220 ;
    rng:upperInclusive true .

ex:range-1150-1200
    a rng:Range ;
    rng:lowerBound ex:year-1150 ;
    rng:lowerInclusive true ;
    rng:upperBound ex:year-1200 ;
    rng:upperInclusive true .

ex:c14-fix
    a loc:Localization ;
    loc:localizes ex:w2-copied ;
    loc:at ex:range-1180-1220 ;
    prov:wasAttributedTo ex:oxford-c14-lab .

ex:palaeo-fix
    a loc:Localization ;
    loc:localizes ex:w2-copied ;
    loc:at ex:range-1150-1200 ;
    prov:wasAttributedTo ex:palaeography-survey .

ex:c14-confidence
    a conf:ConfidenceAssessment ;
    conf:assessmentTarget ex:c14-fix ;
    conf:confidenceValue [
        a conf:ProbabilityValue ;
        conf:score 0.954 ;
    ] .

# Spatial use: a GeoSPARQL WKT literal can embed its coordinate reference system.
# The frame resolution rule uses that embedded CRS before property or datatype
# defaults, so this point remains a single literal value.
ex:sensor-fix
    a loc:Locus ;
    loc:at "<http://www.opengis.net/def/crs/OGC/1.3/CRS84> POINT(-121.9143 37.3419)"^^geo:wktLiteral .
