trustgraph/docs/tech-specs/structured-data-schemas.tr.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

5.2 KiB
Raw Blame History

layout title parent
default Yapılandırılmış Veri Pulsar Şema Değişiklikleri Turkish (Beta)

Yapılandırılmış Veri Pulsar Şema Değişiklikleri

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.

Genel Bakış

STRUCTURED_DATA.md spesifikasyonuna dayanarak, bu belge, TrustGraph'ta yapılandırılmış veri yeteneklerini desteklemek için gerekli olan Pulsar şema eklemelerini ve değişikliklerini önermektedir.

Gerekli Şema Değişiklikleri

1. Temel Şema Geliştirmeleri

Gelişmiş Alan Tanımı

core/primitives.py içindeki mevcut Field sınıfı, ek özelliklere ihtiyaç duymaktadır:

class Field(Record):
    name = String()
    type = String()  # int, string, long, bool, float, double, timestamp
    size = Integer()
    primary = Boolean()
    description = String()
    # NEW FIELDS:
    required = Boolean()  # Whether field is required
    enum_values = Array(String())  # For enum type fields
    indexed = Boolean()  # Whether field should be indexed

2. Yeni Bilgi Şemaları

2.1 Yapılandırılmış Veri Gönderimi

Yeni dosya: knowledge/structured.py

from pulsar.schema import Record, String, Bytes, Map
from ..core.metadata import Metadata

class StructuredDataSubmission(Record):
    metadata = Metadata()
    format = String()  # "json", "csv", "xml"
    schema_name = String()  # Reference to schema in config
    data = Bytes()  # Raw data to ingest
    options = Map(String())  # Format-specific options

3. Yeni Hizmet Şemaları

3.1 Doğal Dil İşleme'den Yapılandırılmış Sorgu Hizmeti

Yeni dosya: services/nlp_query.py

from pulsar.schema import Record, String, Array, Map, Integer, Double
from ..core.primitives import Error

class NLPToStructuredQueryRequest(Record):
    natural_language_query = String()
    max_results = Integer()
    context_hints = Map(String())  # Optional context for query generation

class NLPToStructuredQueryResponse(Record):
    error = Error()
    graphql_query = String()  # Generated GraphQL query
    variables = Map(String())  # GraphQL variables if any
    detected_schemas = Array(String())  # Which schemas the query targets
    confidence = Double()

3.2 Yapılandırılmış Sorgu Hizmeti

Yeni dosya: services/structured_query.py

from pulsar.schema import Record, String, Map, Array
from ..core.primitives import Error

class StructuredQueryRequest(Record):
    query = String()  # GraphQL query
    variables = Map(String())  # GraphQL variables
    operation_name = String()  # Optional operation name for multi-operation documents

class StructuredQueryResponse(Record):
    error = Error()
    data = String()  # JSON-encoded GraphQL response data
    errors = Array(String())  # GraphQL errors if any

2.2 Nesne Çıkarımı Çıktısı

Yeni dosya: knowledge/object.py

from pulsar.schema import Record, String, Map, Double
from ..core.metadata import Metadata

class ExtractedObject(Record):
    metadata = Metadata()
    schema_name = String()  # Which schema this object belongs to
    values = Map(String())  # Field name -> value
    confidence = Double()
    source_span = String()  # Text span where object was found

4. Gelişmiş Bilgi Şemaları

4.1 Nesne Gömme İyileştirmeleri

knowledge/embeddings.py'ı, yapılandırılmış nesne gömmelerini daha iyi destekleyecek şekilde güncelleyin:

class StructuredObjectEmbedding(Record):
    metadata = Metadata()
    vectors = Array(Array(Double()))
    schema_name = String()
    object_id = String()  # Primary key value
    field_embeddings = Map(Array(Double()))  # Per-field embeddings

Entegrasyon Noktaları

Akış Entegrasyonu

Bu şemalar, yeni akış modülleri tarafından kullanılacaktır: trustgraph-flow/trustgraph/decoding/structured - StructuredDataSubmission'ı kullanır trustgraph-flow/trustgraph/query/nlp_query/cassandra - NLP sorgu şemalarını kullanır trustgraph-flow/trustgraph/query/objects/cassandra - Yapılandırılmış sorgu şemalarını kullanır trustgraph-flow/trustgraph/extract/object/row/ - Chunk'ı tüketir, ExtractedObject üretir trustgraph-flow/trustgraph/storage/objects/cassandra - Rows şemasını kullanır trustgraph-flow/trustgraph/embeddings/object_embeddings/qdrant - Nesne gömme şemalarını kullanır

Uygulama Notları

  1. Şema Sürümleme: Gelecekteki geçiş desteği için RowSchema'ya bir version alanı eklemeyi düşünün.
  2. Tip Sistemi: Field.type, tüm Cassandra yerel türlerini desteklemelidir.
  3. Toplu İşlemler: Çoğu hizmet, hem tekil hem de toplu işlemleri desteklemelidir.
  4. Hata Yönetimi: Tüm yeni hizmetlerde tutarlı hata raporlama.
  5. Geriye Uyumluluk: Mevcut şemalar, küçük alan geliştirmeleri dışında değişmeden kalacaktır.

Sonraki Adımlar

  1. Şema dosyalarını yeni yapıya göre uygulayın.
  2. Mevcut hizmetleri, yeni şema türlerini tanıyacak şekilde güncelleyin.
  3. Bu şemaları kullanan akış modüllerini uygulayın.
  4. Yeni hizmetler için ağ geçidi/geri ağ geçidi uç noktaları ekleyin.
  5. Şema doğrulaması için birim testleri oluşturun.