trustgraph/docs/tech-specs/extraction-provenance-subgraph.hi.md
Alex Jenkins 8954fa3ad7 Feat: TrustGraph i18n & Documentation Translation Updates (#781)
Native CLI i18n: The TrustGraph CLI has built-in translation support
that dynamically loads language strings. You can test and use
different languages by simply passing the --lang flag (e.g., --lang
es for Spanish, --lang ru for Russian) or by configuring your
environment's LANG variable.

Automated Docs Translations: This PR introduces autonomously
translated Markdown documentation into several target languages,
including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew,
Arabic, Simplified Chinese, and Russian.
2026-04-14 12:08:32 +01:00

260 lines
16 KiB
Markdown

---
layout: default
title: "निष्कर्षण का स्रोत: सबग्राफ मॉडल"
parent: "Hindi (Beta)"
---
# निष्कर्षण का स्रोत: सबग्राफ मॉडल
> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
## समस्या
निष्कर्षण के समय का वर्तमान स्रोत जानकारी एक पूर्ण पुन: निरूपण प्रति उत्पन्न करता है
निष्कर्षित त्रिगुट: प्रत्येक ज्ञान तथ्य के लिए एक अद्वितीय `stmt_uri`, `activity_uri`, और संबंधित
<<<<<<< HEAD
PROV-O मेटडेटा। एक ऐसे खंड संसि करन 20 संबंध उत्पदन करत है, उसमें लगभग 220 स्र नक त्रिगुट ते हैं, इसके अतििक्त
=======
PROV-O मेटडेटा। एक ऐसे खंड संसि करन 20 संबंध उत्पन्न करत है, उसमें लगभग 220 स्र नक त्रिगुट ते हैं, इसके अतििक्त
>>>>>>> 82edf2d (New md files from RunPod)
लगभग 20 ज्ञान त्रिगुट - लगभग 10:1 का ओवरहेड।
यह महंगा है (भंडारण, अनुक्रमण, प्रसारण) और अर्थपूर्ण रूप से
गलत है। प्रत्येक खंड को एक एकल LLM कॉल द्वारा संसाधित किया जाता है जो सभी त्रिगुटों को एक लेनदेन में उत्पन्न करता है।
वर्तमान प्रति-त्रिगुट मॉडल 20 स्वतंत्र निष्कर्षण
घटनाओं का भ्रम पैदा करके इसे अस्पष्ट करता है।
इसके अतिरिक्त, चार निष्कर्षण प्रोसेसरों में से दो (kg-extract-ontology,
kg-extract-agent) में कोई स्रोत जानकारी नहीं है, जिससे ऑडिट
में अंतराल पैदा होते हैं।
## समाधान
प्रति-त्रिगुट पुन: निरूपण को एक **सबग्राफ मॉडल** से बदलें: एक स्रोत जानकारी
रिकॉर्ड प्रति खंड निष्कर्षण, उस खंड से उत्पन्न सभी त्रिगुटों में साझा किया जाता है।
### शब्दावली परिवर्तन
| पुराना | नया |
|-----|-----|
| `stmt_uri` (`https://trustgraph.ai/stmt/{uuid}`) | `subgraph_uri` (`https://trustgraph.ai/subgraph/{uuid}`) |
| `statement_uri()` | `subgraph_uri()` |
| `tg:reifies` (1:1, पहचान) | `tg:contains` (1:कई, समावेशन) |
### लक्षित संरचना
सभी स्रोत जानकारी त्रिगुट `urn:graph:source` नामित ग्राफ में जाते हैं।
```
# Subgraph contains each extracted triple (RDF-star quoted triples)
<subgraph> tg:contains <<s1 p1 o1>> .
<subgraph> tg:contains <<s2 p2 o2>> .
<subgraph> tg:contains <<s3 p3 o3>> .
# Derivation from source chunk
<subgraph> prov:wasDerivedFrom <chunk_uri> .
<subgraph> prov:wasGeneratedBy <activity> .
# Activity: one per chunk extraction
<activity> rdf:type prov:Activity .
<activity> rdfs:label "{component_name} extraction" .
<activity> prov:used <chunk_uri> .
<activity> prov:wasAssociatedWith <agent> .
<activity> prov:startedAtTime "2026-03-13T10:00:00Z" .
<activity> tg:componentVersion "0.25.0" .
<activity> tg:llmModel "gpt-4" . # if available
<activity> tg:ontology <ontology_uri> . # if available
# Agent: stable per component
<agent> rdf:type prov:Agent .
<agent> rdfs:label "{component_name}" .
```
### मात्रा की तुलना
<<<<<<< HEAD
एक ऐसे खंड के ि N िले गए त्रिगुण उत्पन्न करत है:
=======
एक ऐसे खंड के ि N िले गए त्रिगुण (ट्रिपल्स) उत्पन्न करत है:
>>>>>>> 82edf2d (New md files from RunPod)
| | पुराना (प्रति-त्रिगुण) | नया (उप-ग्राफ) |
|---|---|---|
| `tg:contains` / `tg:reifies` | N | N |
| गतिविधि त्रिगुण | ~9 x N | ~9 |
| एजेंट त्रिगुण | 2 x N | 2 |
| कथन/उप-ग्राफ मेटाडेटा | 2 x N | 2 |
| **कुल प्रामाणिकता त्रिगुण** | **~13N** | **N + 13** |
| **उदाहरण (N=20)** | **~260** | **33** |
## दायरा
### अपडेट करने के लिए प्रोसेसर (मौजूदा प्रामाणिकता, प्रति-त्रिगुण)
**kg-extract-definitions**
(`trustgraph-flow/trustgraph/extract/kg/definitions/extract.py`)
वर्तमान में, यह `statement_uri()` + `triple_provenance_triples()` को परिभाषा के प्रत्येक लूप के अंदर कॉल करता है।
परिवर्तन:
लूप से पहले `subgraph_uri()` और `activity_uri()` का निर्माण करें।
लूप के अंदर `tg:contains` त्रिकों को एकत्र करें।
लूप के बाद एक बार साझा गतिविधि/एजेंट/व्युत्पत्ति ब्लॉक उत्सर्जित करें।
**kg-extract-relationships**
(`trustgraph-flow/trustgraph/extract/kg/relationships/extract.py`)
परिभाषाओं के समान पैटर्न। समान परिवर्तन।
### उत्पत्ति जोड़ने के लिए प्रोसेसर (वर्तमान में गायब)
**kg-extract-ontology**
(`trustgraph-flow/trustgraph/extract/kg/ontology/extract.py`)
<<<<<<< HEAD
वर्तम में, यह ि ि स्र नक के त्रि उत्पन्न करत है उपग्र स्र नक ड़ें
उस पैटर्न उपय करके: प्रत्येक खंड के ि एक उपग्र, प्रत्येक के ि `tg:contains`
िले गए त्रिगुट
=======
वर्तम में, यह ि ि स्र नक के त्रि (triples) उत्पन्न करत है उप-ग्र (subgraph) स्र नक ड़ें
उस पैटर्न उपय करके: प्रत्येक खंड (chunk) के ि एक उप-ग्र, प्रत्येक िले गए त्रि के ि `tg:contains`
>>>>>>> 82edf2d (New md files from RunPod)
**kg-extract-agent**
(`trustgraph-flow/trustgraph/extract/kg/agent/extract.py`)
<<<<<<< HEAD
वर्तम में, यह ि ि स्र नक के त्रि (triples) उत्पन्न करत है सम पैटर्न उपय करके सबग्र (subgraph) स्र नक ड़ें
### साझा उत्पत्ति लाइब्रेरी में परिवर्तन
**`trustgraph-base/trustgraph/provenance/triples.py`**
`triple_provenance_triples()` `subgraph_provenance_triples()` से बदलें
नय फ़ंक्शन एक एकल के बज िले गए त्रिपुल सूच स्व करत है
प्रत्येक ट्रिपल के ि एक `tg:contains` उत्पन्न करत है, गतििि/एजेंट ब्ल
पुरने `triple_provenance_triples()` हट दें
=======
वर्तम में, यह ि ि स्र नक के त्रि (triples) उत्पन्न करत है उप-ग्र (subgraph) स्र नक उस पैटर्न उपय करके ड़ें
### साझा स्रोत पुस्तकालय (Shared Provenance Library) में परिवर्तन
**`trustgraph-base/trustgraph/provenance/triples.py`**
`triple_provenance_triples()` `subgraph_provenance_triples()` से बदलें
नय फ़ंक्शन एक एकल त्रि के बज िले गए त्रि एक सूच स्व करत है
प्रत्येक त्रि के ि एक `tg:contains` उत्पन्न करत है, गतििि/एजेंट ब्ल है
पुरने `triple_provenance_triples()` हट दें
>>>>>>> 82edf2d (New md files from RunPod)
**`trustgraph-base/trustgraph/provenance/uris.py`**
`statement_uri()` को `subgraph_uri()` से बदलें।
**`trustgraph-base/trustgraph/provenance/namespaces.py`**
`TG_REIFIES` को `TG_CONTAINS` से बदलें।
### दायरे में नहीं
<<<<<<< HEAD
**kg-extract-topics**: पुर-शैल प्रसेसर, वर्तम में उपय में नह है
नक प्रक्रिओं में
**kg-extract-rows**: पंक्ति उत्पन्न करत है, ट्रिपल नह, अलग उत्पत्ति डल
डल
**क्वेरी-टाइम प्रोवेनेंस** (`urn:graph:retrieval`): एक अलग िंत िषय,
पहले से एक अलग पैटर्न उपय करत है (प्रश्न/अन्वेषण/कस/संश्लेषण)।
=======
**kg-extract-topics**: पुर शैल प्रसेसर, वर्तम में उपय में नह है
नक प्रक्रिओं में
**kg-extract-rows**: पंक्ति उत्पन्न करत है, ट्रिपल नह, अलग उत्पत्ति डल
डल
**क्वेरी-टाइम प्रोवेनेंस** (`urn:graph:retrieval`): एक अलग िषय,
पहले से एक अलग पैटर्न उपय करत है (प्रश्न/अन्वेषण/ध्य/संश्लेषण)।
>>>>>>> 82edf2d (New md files from RunPod)
**दस्तावेज़/पृष्ठ/खंड प्रोवेनेंस** (पीडीएफ डिकोडर, चंकर): पहले से ही उपयोग करता है
`derived_entity_triples()` जो प्रति-एंटिटी है, प्रति-ट्रिपल नहीं - कोई
अनावश्यकता समस्या नहीं।
## कार्यान्वयन संबंधी टिप्पणियाँ
### प्रोसेसर लूप का पुनर्गठन
पहले (प्रत्येक त्रिक के लिए, संबंधों में):
```python
for rel in rels:
# ... build relationship_triple ...
stmt_uri = statement_uri()
prov_triples = triple_provenance_triples(
stmt_uri=stmt_uri,
extracted_triple=relationship_triple,
...
)
triples.extend(set_graph(prov_triples, GRAPH_SOURCE))
```
<<<<<<< HEAD
(उपग्र के ):
=======
(उप-ग्र के ):
>>>>>>> 82edf2d (New md files from RunPod)
```python
sg_uri = subgraph_uri()
for rel in rels:
# ... build relationship_triple ...
extracted_triples.append(relationship_triple)
prov_triples = subgraph_provenance_triples(
subgraph_uri=sg_uri,
extracted_triples=extracted_triples,
chunk_uri=chunk_uri,
component_name=default_ident,
component_version=COMPONENT_VERSION,
llm_model=llm_model,
ontology_uri=ontology_uri,
)
triples.extend(set_graph(prov_triples, GRAPH_SOURCE))
```
### नया सहायक हस्ताक्षर
```python
def subgraph_provenance_triples(
subgraph_uri: str,
extracted_triples: List[Triple],
chunk_uri: str,
component_name: str,
component_version: str,
llm_model: Optional[str] = None,
ontology_uri: Optional[str] = None,
timestamp: Optional[str] = None,
) -> List[Triple]:
"""
Build provenance triples for a subgraph of extracted knowledge.
Creates:
- tg:contains link for each extracted triple (RDF-star quoted)
- One prov:wasDerivedFrom link to source chunk
- One activity with agent metadata
"""
```
### महत्वपूर्ण परिवर्तन
<<<<<<< HEAD
यह उत्पत्ति डल में एक महत्वपूर्ण बदल है उत्पत्ति (प्रवेनेंस)
ि गय है, इसलि इग्रेशन आवश्यकत नह है पुर `tg:reifies` /
`statement_uri` पूर तरह से हट सकत है
=======
यह प्रिकत डल में एक महत्वपूर्ण बदल है प्रिकत अभ तक नह गई है, इसलि ि इग्रेशन आवश्यकत नह है पुर CODE_0 / CODE_0 पूर तरह से हट सकत है
यह प्रिकत डल में एक महत्वपूर्ण बदल है प्रिकत अभ तक नह गई है, इसलि ि इग्रेशन आवश्यकत नह है पुर `tg:reifies` / `tg:reifies` पूर तरह से हट सकत है
यह प्रिकत डल में एक महत्वपूर्ण बदल है प्रिकत अभ तक नह गई है, इसलि ि इग्रेशन आवश्यकत नह है पुर `statement_uri` / `statement_uri` पूर तरह से हट सकत है
>>>>>>> 82edf2d (New md files from RunPod)