AEE / aee_utils.py
NextGenC's picture
Upload 10 files
37e65d4 verified
# 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.")