File size: 2,025 Bytes
37e65d4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# aee_utils.py
# AEE Projesi için genel yardımcı fonksiyonlar.
# v1.0.2 (Era): Import aee_core_classes_era olarak düzeltildi.

from typing import Dict, List, Optional, Any

# Era sürümündeki DOĞRU sınıfı import et
try:
    from aee_core_classes_era import Proposition # Düzeltildi!
except ImportError:
    print("Utils Error: Could not import Proposition class from aee_core_classes_era.py.")
    Proposition = None

# ... (Fonksiyonların geri kalanı aynı) ...
def get_proposition_by_id(prop_id: str, kb: Dict[str, Proposition]) -> Optional[Proposition]:
    if not Proposition: return None
    return kb.get(prop_id)

def get_linked_propositions(prop_id: str, kb: Dict[str, Proposition], link_type: str = 'all') -> List[Proposition]:
    linked_props: List[Proposition] = []
    if not Proposition: return linked_props
    main_prop = get_proposition_by_id(prop_id, kb)
    if not main_prop: return linked_props
    link_ids: List[str] = []
    if hasattr(main_prop, 'epistemic_data') and main_prop.epistemic_data:
        if link_type == 'supports' or link_type == 'all':
            if hasattr(main_prop.epistemic_data, 'supports') and main_prop.epistemic_data.supports: link_ids.extend(main_prop.epistemic_data.supports)
        if link_type == 'contradicts' or link_type == 'all':
            if hasattr(main_prop.epistemic_data, 'contradicts') and main_prop.epistemic_data.contradicts: link_ids.extend(main_prop.epistemic_data.contradicts)
    processed_ids = set()
    for linked_id in link_ids:
        if linked_id not in processed_ids:
            linked_prop = get_proposition_by_id(linked_id, kb)
            if linked_prop: linked_props.append(linked_prop)
            processed_ids.add(linked_id)
    return linked_props

if __name__ == "__main__":
    print("aee_utils.py loaded...") # Kısaltıldı
    if Proposition: print("Proposition class imported successfully from aee_core_classes_era.")
    else: print("Proposition class could not be imported.")