@prefix sh: <http://www.w3.org/ns/shacl#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
@prefix rico: <https://www.ica.org/standards/RiC/ontology#>.
@prefix ric: <http://archives.nanet.go.kr/id/>.
@prefix skos: <http://www.w3.org/2004/02/skos/core#>.
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>.
@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix schema: <https://schema.org/>.
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix prov: <http://www.w3.org/ns/prov#>.
@prefix oa: <http://www.w3.org/ns/oa#>.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix nara: <http://archives.nanet.go.kr/voca#>.

<http://archives.nanet.go.kr/id/ap/shape/12> a sh:NodeShape;
    sh:targetClass prov:Activity;
    rdfs:label "추출 활동"@ko;
    rdfs:comment "이 진술을 만든 한 번의 작업 — 방법·도구·시각·출처 디지털 객체를 묶는다"@ko;
    sh:property _:p1.
_:p1 sh:path prov:used;
    sh:name "사용한 디지털 객체·위치"@ko;
    sh:minCount 0;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/12> sh:property _:p2.
_:p2 sh:path prov:wasAssociatedWith;
    sh:name "수행 도구"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/12> sh:property _:p3.
_:p3 sh:path prov:generatedAtTime;
    sh:name "생성 시각"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:Literal.
<http://archives.nanet.go.kr/id/ap/shape/12> sh:property _:p4.
_:p4 sh:path prov:hadPlan;
    sh:name "적용 프로파일"@ko;
    sh:minCount 0;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/13> a sh:NodeShape;
    sh:targetClass prov:SoftwareAgent;
    rdfs:label "소프트웨어 에이전트"@ko;
    rdfs:comment "추출을 수행한 도구 — 시드 스크립트·워크벤치·LLM 모델"@ko;
    sh:property _:p5.
_:p5 sh:path rdfs:label;
    sh:name "도구 식별자"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:Literal;
    sh:description "LLM 경로에서는 이 값 자체가 모델 ID다 — 모델을 따로 적지 않는 이유"@ko.
<http://archives.nanet.go.kr/id/ap/shape/13> sh:property _:p6.
_:p6 sh:path schema:provider;
    sh:name "공급사"@ko;
    sh:minCount 0;
    sh:maxCount 1;
    sh:nodeKind sh:Literal;
    sh:description "anthropic·openai·gemini — LLM 호출을 라우팅한 공급사만, 모델 ID에서 추정하지 않는다"@ko.
<http://archives.nanet.go.kr/id/ap/shape/14> a sh:NodeShape;
    sh:targetClass oa:FragmentSelector;
    rdfs:label "출처 위치 선택자"@ko;
    rdfs:comment "디지털 객체의 어디를 가리키는가 — Media Fragments 문법일 때만 준수 규격을 선언한다"@ko;
    sh:property _:p7.
_:p7 sh:path rdf:value;
    sh:name "위치 표기"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:Literal.
<http://archives.nanet.go.kr/id/ap/shape/14> sh:property _:p8.
_:p8 sh:path dcterms:conformsTo;
    sh:name "준수 규격"@ko;
    sh:minCount 0;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/15> a sh:NodeShape;
    sh:targetClass oa:TextQuoteSelector;
    rdfs:label "원문 인용 선택자"@ko;
    rdfs:comment "원문 그대로의 인용(source_quote) — 전문과 substring 대조로 기계 검증되는 증거"@ko;
    sh:property _:p9.
_:p9 sh:path oa:exact;
    sh:name "인용문"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:Literal;
    sh:description "원문에서 변형 없이 복사 — 전문과 substring 대조로 검증한다"@ko.
<http://archives.nanet.go.kr/id/ap/shape/16> a sh:NodeShape;
    sh:targetClass rdf:Statement;
    rdfs:label "자기 근거를 가진 진술"@ko;
    rdfs:comment "자기 출처 위치를 가진 트리플의 RDF 표준 지목법(reification) — 생성 활동·근거 선택자가 붙는 자리"@ko;
    sh:property _:p10.
_:p10 sh:path rdf:subject;
    sh:name "주어"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/16> sh:property _:p11.
_:p11 sh:path rdf:predicate;
    sh:name "술어"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/16> sh:property _:p12.
_:p12 sh:path rdf:object;
    sh:name "목적어"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/16> sh:property _:p13.
_:p13 sh:path prov:wasGeneratedBy;
    sh:name "생성 활동"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/17> a sh:NodeShape;
    sh:targetClass prov:Entity;
    rdfs:label "생성된 진술"@ko;
    rdfs:comment "생성 이력이 붙는 대상 — 대장 개체, 자기 출처 위치를 가진 트리플(rdf:Statement), 그리고 발행본"@ko;
    sh:property _:p14.
_:p14 sh:path prov:wasGeneratedBy;
    sh:name "생성 활동"@ko;
    sh:minCount 1;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
<http://archives.nanet.go.kr/id/ap/shape/17> sh:property _:p15.
_:p15 sh:path prov:wasAttributedTo;
    sh:name "귀속 주체(발행본에만 — 검수 승인자는 익명)"@ko;
    sh:minCount 0;
    sh:maxCount 1;
    sh:nodeKind sh:IRI.
