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.
5.2 KiB
| 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ı
- Şema Sürümleme: Gelecekteki geçiş desteği için RowSchema'ya bir
versionalanı eklemeyi düşünün. - Tip Sistemi:
Field.type, tüm Cassandra yerel türlerini desteklemelidir. - Toplu İşlemler: Çoğu hizmet, hem tekil hem de toplu işlemleri desteklemelidir.
- Hata Yönetimi: Tüm yeni hizmetlerde tutarlı hata raporlama.
- Geriye Uyumluluk: Mevcut şemalar, küçük alan geliştirmeleri dışında değişmeden kalacaktır.
Sonraki Adımlar
- Şema dosyalarını yeni yapıya göre uygulayın.
- Mevcut hizmetleri, yeni şema türlerini tanıyacak şekilde güncelleyin.
- Bu şemaları kullanan akış modüllerini uygulayın.
- Yeni hizmetler için ağ geçidi/geri ağ geçidi uç noktaları ekleyin.
- Şema doğrulaması için birim testleri oluşturun.