# bia-extension.ttl — ส่วนขยาย BIA เหนือ RiC-O 1.1 (นิยามเนมสเปซ biax: และ bia-rst: ให้เป็นทางการ)
# term เหล่านี้ "ถูกใช้" ใน output/*.ttl แต่ไม่มีใน ontology ทางการของ ICA → นิยามไว้ที่นี่
# เพื่อให้ (ก) validator authoritative ตรวจได้ (ข) reasoner รู้ว่ามันสัมพันธ์กับ RiC-O อย่างไร
#
# เลียนแบบ pattern จาก RiC-O 1.1:
#   - subtype เหตุการณ์  → owl:Class ; rdfs:subClassOf rico:Event
#   - record set type ย่อย → owl:NamedIndividual, skos:Concept, rico:RecordSetType (เหมือน ric-rst:Series)

@prefix rico:    <https://www.ica.org/standards/RiC/ontology#> .
@prefix ric-rst: <https://www.ica.org/standards/RiC/vocabularies/recordSetTypes#> .
@prefix biax:    <https://id.bia.or.th/ns#> .
@prefix bia-rst: <https://id.bia.or.th/vocab/recordSetTypes#> .
@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 skos:    <http://www.w3.org/2004/02/skos/core#> .

<https://id.bia.or.th/ns> a owl:Ontology ;
    rdfs:label "BIA extension to RiC-O 1.1"@en ;
    rdfs:comment "ส่วนขยายหอจดหมายเหตุพุทธทาส: subtype เหตุการณ์ชีวิต + property provenance + record set type ย่อย"@th ;
    owl:imports <https://www.ica.org/standards/RiC/ontology> .

# ── biax: subtype เหตุการณ์สำคัญในชีวิต (subclass ของ rico:Event) ──
biax:BirthEvent a owl:Class ; rdfs:subClassOf rico:Event ;
    rdfs:label "การเกิด"@th , "Birth event"@en ;
    rdfs:comment "เหตุการณ์กำเนิด"@th .
biax:OrdinationEvent a owl:Class ; rdfs:subClassOf rico:Event ;
    rdfs:label "การบวช"@th , "Ordination event"@en .
biax:TitleConferralEvent a owl:Class ; rdfs:subClassOf rico:Event ;
    rdfs:label "การได้รับสมณศักดิ์"@th , "Title conferral event"@en ;
    rdfs:comment "การได้รับพระราชทานสมณศักดิ์/ตราตั้ง"@th .
biax:DeathEvent a owl:Class ; rdfs:subClassOf rico:Event ;
    rdfs:label "การมรณภาพ"@th , "Death event"@en .
biax:CremationEvent a owl:Class ; rdfs:subClassOf rico:Event ;
    rdfs:label "การพระราชทานเพลิงศพ"@th , "Cremation event"@en .

# ── biax: property provenance (ติดกับ fact ที่สกัด — เกาะ rico:Event/rico:Date) ──
biax:confidence a owl:DatatypeProperty ;
    rdfs:label "confidence"@en , "ค่าความมั่นใจ"@th ;
    rdfs:comment "ค่าความมั่นใจของ fact ที่สกัดอัตโนมัติ ช่วง 0–1"@th ;
    rdfs:range xsd:decimal .
biax:needsReview a owl:DatatypeProperty ;
    rdfs:label "needs review"@en , "ต้องตรวจทาน"@th ;
    rdfs:comment "true = fact นี้ยังรอผู้เชี่ยวชาญตรวจ"@th ;
    rdfs:range xsd:boolean .

# ── bia-rst: record set type ย่อยของ BIA (ขยาย controlled vocab ric-rst:) ──
bia-rst:SubSeries a owl:NamedIndividual , skos:Concept , rico:RecordSetType ;
    rdfs:label "ชุดย่อย"@th , "Sub-series"@en ;
    skos:broader ric-rst:Series ;
    rdfs:comment "ระดับชุดเอกสารย่อยใต้ Series"@th .
bia-rst:SubFile a owl:NamedIndividual , skos:Concept , rico:RecordSetType ;
    rdfs:label "แฟ้มย่อย"@th , "Sub-file"@en ;
    skos:broader ric-rst:File ;
    rdfs:comment "ระดับแฟ้มเอกสารย่อยใต้ File"@th .

# ── biax: วัตถุจดหมายเหตุ (หมวด BIA-OB) — เพิ่ม 05/08/2569 ──────────────────────
# เหตุผลที่ต้องมีคลาสของตัวเอง: วัตถุ **ไม่ใช่** rico:RecordResource (ไม่ได้บันทึกข้อมูล)
# แต่เป็น rico:Thing → property ที่ domain = Thing (identifier / generalDescription / name)
# ใช้ได้ถูกต้อง · ส่วน rico:title ใช้ไม่ได้ (domain = Instantiation/RecordResource/Rule)
# จึงใช้ rdfs:label เป็นชื่อวัตถุ · ดู docs/archival-objects.md
biax:ArchivalObject a owl:Class ; rdfs:subClassOf rico:Thing ;
    rdfs:label "วัตถุจดหมายเหตุ"@th , "Archival object"@en ;
    rdfs:comment "สิ่งของทางกายภาพในคลัง BIA (หมวด BIA-OB) เช่น ของใช้ส่วนตัว เครื่องเขียน ของถวาย — ไม่ใช่เอกสาร/บันทึก จึงไม่จัดเป็น rico:RecordResource"@th .

# ความสัมพันธ์ของวัตถุ
biax:objectEvidenceOf a owl:ObjectProperty ;
    rdfs:label "วัตถุพยานของเหตุการณ์"@th , "is object evidence of"@en ;
    rdfs:comment "วัตถุชิ้นนี้เป็นพยานวัตถุของเหตุการณ์ — ใช้แทน rico:isOrWasSubjectOf ที่ range บังคับเป็น RecordResource"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range rico:Event .
biax:inscriptionMentions a owl:ObjectProperty ;
    rdfs:label "จารึกบนวัตถุกล่าวถึง"@th , "inscription mentions"@en ;
    rdfs:comment "ข้อความที่ปรากฏบนตัววัตถุ (จารึก/ตรา/ลายมือ) กล่าวถึงบุคคล สถานที่ องค์กร หรือชื่ออื่นของบุคคล"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range rico:Thing .
biax:thumbnail a owl:ObjectProperty ;
    rdfs:label "ภาพย่อ"@th , "thumbnail"@en ;
    rdfs:domain biax:ArchivalObject .

# คุณสมบัติทางกายภาพ/ทะเบียนของวัตถุ (ทั้งหมด domain = biax:ArchivalObject)
biax:inscription a owl:DatatypeProperty ;
    rdfs:label "ข้อความบนวัตถุ"@th , "inscription"@en ;
    rdfs:comment "ข้อความจารึก/เขียน/ประทับบนตัววัตถุ คัดคำต่อคำ — เป็นหลักฐานของทุกลิงก์ที่ผูกจากวัตถุ"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:registryTitle a owl:DatatypeProperty ;
    rdfs:label "ชื่อตามทะเบียน"@th , "registry title"@en ;
    rdfs:comment "ชื่อดั้งเดิมในทะเบียนวัตถุ (มักซ้ำกันหลายชิ้น เช่น 'แฟ้มใส่เอกสาร') เก็บไว้เทียบกับชื่อที่ขยายให้อ่านรู้เรื่อง"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:seriesCode a owl:DatatypeProperty ;
    rdfs:label "รหัสหมวดย่อย"@th ; rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:seriesName a owl:DatatypeProperty ;
    rdfs:label "ชื่อหมวดย่อย"@th ; rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:materials a owl:DatatypeProperty ;
    rdfs:label "วัสดุและเทคนิค"@th ; rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:dimensions a owl:DatatypeProperty ;
    rdfs:label "ขนาด"@th ; rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:color a owl:DatatypeProperty ;
    rdfs:label "สี"@th ; rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:sourceObject a owl:DatatypeProperty ;
    rdfs:label "แหล่งที่มาของวัตถุ"@th ;
    rdfs:comment "สถานที่ที่วัตถุถูกเก็บมาก่อนเข้าคลัง (เช่น 'สวนโมกข์ไชยา')"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:receivedYearBE a owl:DatatypeProperty ;
    rdfs:label "ปีที่รับเข้าคลัง (พ.ศ.)"@th ;
    rdfs:comment "⚠️ เป็นปีที่หอจดหมายเหตุรับมอบ **ไม่ใช่ปีของวัตถุ** (ทะเบียนไม่ระบุปีของวัตถุ 99.7%)"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:gYear .
biax:relatedDocumentLegacyRef a owl:DatatypeProperty ;
    rdfs:label "รหัสเอกสารเกี่ยวเนื่อง (รหัสเดิม)"@th ;
    rdfs:comment "รหัสเดิมของเอกสารลายลักษณ์ที่ทะเบียนวัตถุอ้างถึง — ยังไม่ resolve เป็นโหนดในกราฟ"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
biax:linkConfidence a owl:DatatypeProperty ;
    rdfs:label "ความมั่นใจของการผูก"@th ;
    rdfs:comment "confirmed = ข้อความบนวัตถุระบุตรงตัว · plausible = สอดคล้องหลักฐานอื่นแต่ยังไม่ยืนยัน"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:string .
# ⛔ property รูป ๓ ตัวนี้ **เลิกใช้ 05/08/2569** — builder ไม่เขียนลงกราฟอีก
#    (URL ของคลังมี ?t=… เปลี่ยนเมื่ออัปโหลดใหม่ → เก็บไว้ = ลิงก์เน่าเงียบ)
#    หน้าเว็บขอภาพสดจาก /api/artifact-images/{ref} ด้วยรหัสวัตถุใน rico:identifier
#    ประกาศคงไว้เพื่อให้ไฟล์เก่าที่ยังอ้างอยู่ผ่าน rico_conformance
biax:imageThumb a owl:ObjectProperty ;
    rdfs:label "ภาพย่อ (thumbnail ~6 KB)"@th ;
    rdfs:comment "เลิกใช้ 05/08/2569 — ขอภาพสดจาก API ด้วยรหัสวัตถุแทน"@th ;
    rdfs:domain biax:ArchivalObject .
biax:imageFull a owl:ObjectProperty ;
    rdfs:label "ภาพขนาดดู (preview)"@th ;
    rdfs:domain biax:ArchivalObject .
biax:imageCount a owl:DatatypeProperty ;
    rdfs:label "จำนวนภาพในคลัง"@th ;
    rdfs:domain biax:ArchivalObject ; rdfs:range xsd:integer .
