2026-04-10 23:20:41 -04:00
---
layout: default
title: "Şema Dizini Yeniden Düzenleme Önerisi"
parent: "Turkish (Beta)"
---
2026-04-11 01:08:44 +00:00
# Şema Dizini Yeniden Düzenleme Önerisi
2026-04-10 23:20:41 -04:00
> **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.
2026-04-11 01:08:44 +00:00
## Mevcut Sorunlar
1. **Düz yapı ** - Tüm şemaları n tek bir dizinde olması , ilişkileri anlamayı zorlaştı rı yor.
2. **Karı şı k konular** - Temel tipler, alan nesneleri ve API sözleşmeleri bir arada bulunuyor.
3. **Belirsiz adlandı rma** - "object.py", "types.py", "topic.py" gibi dosyalar, amaçları nı açı kça belirtmiyor.
4. **Açı k katmanlama yok** - Neyin neye bağlı olduğunu kolayca görmek mümkün değil.
## Önerilen Yapı
```
trustgraph-base/trustgraph/schema/
├── __init__ .py
├── core/ # Core primitive types used everywhere
│ ├── __init__ .py
│ ├── primitives.py # Error, Value, Triple, Field, RowSchema
│ ├── metadata.py # Metadata record
│ └── topic.py # Topic utilities
│
├── knowledge/ # Knowledge domain models and extraction
│ ├── __init__ .py
│ ├── graph.py # EntityContext, EntityEmbeddings, Triples
│ ├── document.py # Document, TextDocument, Chunk
│ ├── knowledge.py # Knowledge extraction types
│ ├── embeddings.py # All embedding-related types (moved from multiple files)
│ └── nlp.py # Definition, Topic, Relationship, Fact types
│
└── services/ # Service request/response contracts
├── __init__ .py
├── llm.py # TextCompletion, Embeddings, Tool requests/responses
├── retrieval.py # GraphRAG, DocumentRAG queries/responses
├── query.py # GraphEmbeddingsRequest/Response, DocumentEmbeddingsRequest/Response
├── agent.py # Agent requests/responses
├── flow.py # Flow requests/responses
├── prompt.py # Prompt service requests/responses
├── config.py # Configuration service
├── library.py # Librarian service
└── lookup.py # Lookup service
```
## Temel Değişiklikler
1. **Hiyerarşik organizasyon** - Temel tipler, bilgi modelleri ve hizmet sözleşmeleri arası nda net bir ayrı m.
2. **Daha iyi adlandı rma** :
`types.py` → `core/primitives.py` (daha açı k amaç)
`object.py` → Gerçek içeriğe göre uygun dosyalara ayrı m
`documents.py` → `knowledge/document.py` (tekil, tutarlı )
`models.py` → `services/llm.py` (hangi tür modeller olduğu daha açı k)
`prompt.py` → Ayrı m: hizmet kı sı mları `services/prompt.py` 'e, veri tipleri `knowledge/nlp.py` 'ye
3. **Mantı ksal gruplandı rma** :
Tüm gömme türleri `knowledge/embeddings.py` içinde toplandı .
Tüm LLM ile ilgili hizmet sözleşmeleri `services/llm.py` içinde.
Hizmetler dizininde istek/yanı t çiftlerinin net bir şekilde ayrı lması .
Bilgi çı karma türleri, diğer bilgi alanı modelleriyle gruplandı rı ldı .
4. **Bağı mlı lı k netliği** :
Temel tiplerin hiçbir bağı mlı lı ğı yoktur.
Bilgi modelleri yalnı zca temel bağı mlı lı kları na sahiptir.
Hizmet sözleşmeleri hem temel hem de bilgi modellerine bağı mlı olabilir.
## Geçiş Faydaları
1. **Daha kolay gezinme** - Geliştiriciler ihtiyaç duydukları nı hı zla bulabilir.
2. **Daha iyi modülerlik** - Farklı konular arası ndaki sı nı rlar nettir.
3. **Daha basit içe aktarmalar** - Daha sezgisel içe aktarma yolları .
4. **Geleceğe yönelik** - Yeni bilgi türleri veya hizmetler eklemek, karmaşayı önleyecek şekilde kolaydı r.
## Örnek İçe Aktarma Değişiklikleri
```python
# Before
from trustgraph.schema import Error, Triple, GraphEmbeddings, TextCompletionRequest
# After
from trustgraph.schema.core import Error, Triple
from trustgraph.schema.knowledge import GraphEmbeddings
from trustgraph.schema.services import TextCompletionRequest
```
## Uygulama Notları
1. Kök dizindeki `__init__.py` içindeki import'ları koruyarak geriye dönük uyumluluğu sağlayı n.
2. Dosyaları kademeli olarak taşı yı n ve gerektiğinde import'ları güncelleyin.
3. Geçiş dönemi için her şeyi import eden bir `legacy.py` eklemeyi düşünün.
4. Yeni yapı yı yansı tacak şekilde dokümantasyonu güncelleyin.
< function_calls >
< invoke name = "TodoWrite" >
2026-04-10 23:20:41 -04:00
< parameter name = "todos" > [{"id": "1", "content": "Mevcut şema dizin yapı sı nı inceleyin", "status": "tamamlandı ", "priority": "yüksek"}, {"id": "2", "content": "Şema dosyaları nı ve amaçları nı analiz edin", "status": "tamamlandı ", "priority": "yüksek"}, {"id": "3", "content": "Geliştirilmiş adlandı rma ve yapı önerin", "status": "tamamlandı ", "priority": "yüksek"}]