fix: repair broken imports in OntoRAG query module (#950)

Replace hallucinated relative imports with correct absolute imports
across the ontology query package, and fix OntologyMatcher reference
to match the actual class name OntologyMatcherForQueries. Simplify
test to use standard imports instead of importlib hack.

Cosmetic, but simpler imports provides undeterministic imports in a dev
environment, and also means we're properly testing linkage
This commit is contained in:
cybermaggedon 2026-05-26 13:12:03 +01:00 committed by GitHub
parent c10f2694a0
commit 6d07310d2b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 16 additions and 33 deletions

View file

@ -2,27 +2,10 @@
Tests for ontology monitoring metrics. Tests for ontology monitoring metrics.
""" """
import importlib.util from trustgraph.query.ontology.monitoring import (
import sys PerformanceMonitor,
from pathlib import Path _extract_metric_label,
MODULE_PATH = (
Path(__file__).resolve().parents[3]
/ "trustgraph-flow"
/ "trustgraph"
/ "query"
/ "ontology"
/ "monitoring.py"
) )
spec = importlib.util.spec_from_file_location("ontology_monitoring", MODULE_PATH)
assert spec is not None and spec.loader is not None
monitoring = importlib.util.module_from_spec(spec)
sys.modules[spec.name] = monitoring
spec.loader.exec_module(monitoring)
PerformanceMonitor = monitoring.PerformanceMonitor
_extract_metric_label = monitoring._extract_metric_label
def test_extract_metric_label_reads_unquoted_label_value(): def test_extract_metric_label_reads_unquoted_label_value():

View file

@ -7,7 +7,7 @@ Provides semantic query understanding, ontology matching, and answer generation.
from .query_service import OntoRAGQueryService, QueryRequest, QueryResponse from .query_service import OntoRAGQueryService, QueryRequest, QueryResponse
from .question_analyzer import QuestionAnalyzer, QuestionComponents, QuestionType from .question_analyzer import QuestionAnalyzer, QuestionComponents, QuestionType
from .ontology_matcher import OntologyMatcher, QueryOntologySubset from .ontology_matcher import OntologyMatcherForQueries, QueryOntologySubset
from .backend_router import BackendRouter, BackendType, QueryRoute from .backend_router import BackendRouter, BackendType, QueryRoute
from .sparql_generator import SPARQLGenerator, SPARQLQuery from .sparql_generator import SPARQLGenerator, SPARQLQuery
from .sparql_cassandra import SPARQLCassandraEngine, SPARQLResult from .sparql_cassandra import SPARQLCassandraEngine, SPARQLResult
@ -27,7 +27,7 @@ __all__ = [
'QuestionType', 'QuestionType',
# Ontology matching # Ontology matching
'OntologyMatcher', 'OntologyMatcherForQueries',
'QueryOntologySubset', 'QueryOntologySubset',
# Backend routing # Backend routing

View file

@ -7,10 +7,10 @@ import logging
from typing import List, Dict, Any, Set, Optional from typing import List, Dict, Any, Set, Optional
from dataclasses import dataclass from dataclasses import dataclass
from ...extract.kg.ontology.ontology_loader import Ontology, OntologyLoader from trustgraph.extract.kg.ontology.ontology_loader import Ontology, OntologyLoader
from ...extract.kg.ontology.ontology_embedder import OntologyEmbedder from trustgraph.extract.kg.ontology.ontology_embedder import OntologyEmbedder
from ...extract.kg.ontology.text_processor import TextSegment from trustgraph.extract.kg.ontology.text_processor import TextSegment
from ...extract.kg.ontology.ontology_selector import OntologySelector, OntologySubset from trustgraph.extract.kg.ontology.ontology_selector import OntologySelector, OntologySubset
from .question_analyzer import QuestionComponents, QuestionType from .question_analyzer import QuestionComponents, QuestionType
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View file

@ -8,13 +8,13 @@ from typing import Dict, Any, List, Optional, Union
from dataclasses import dataclass from dataclasses import dataclass
from datetime import datetime from datetime import datetime
from ....flow.flow_processor import FlowProcessor from trustgraph.base.flow_processor import FlowProcessor
from ....tables.config import ConfigTableStore from trustgraph.tables.config import ConfigTableStore
from ...extract.kg.ontology.ontology_loader import OntologyLoader from trustgraph.extract.kg.ontology.ontology_loader import OntologyLoader
from ...extract.kg.ontology.vector_store import InMemoryVectorStore from trustgraph.extract.kg.ontology.vector_store import InMemoryVectorStore
from .question_analyzer import QuestionAnalyzer, QuestionComponents from .question_analyzer import QuestionAnalyzer, QuestionComponents
from .ontology_matcher import OntologyMatcher, QueryOntologySubset from .ontology_matcher import OntologyMatcherForQueries, QueryOntologySubset
from .backend_router import BackendRouter, QueryRoute, BackendType from .backend_router import BackendRouter, QueryRoute, BackendType
from .sparql_generator import SPARQLGenerator, SPARQLQuery from .sparql_generator import SPARQLGenerator, SPARQLQuery
from .sparql_cassandra import SPARQLCassandraEngine, SPARQLResult from .sparql_cassandra import SPARQLCassandraEngine, SPARQLResult
@ -105,7 +105,7 @@ class OntoRAGQueryService(FlowProcessor):
# Initialize ontology matcher # Initialize ontology matcher
matcher_config = self.config.get('ontology_matcher', {}) matcher_config = self.config.get('ontology_matcher', {})
self.ontology_matcher = OntologyMatcher( self.ontology_matcher = OntologyMatcherForQueries(
vector_store=self.vector_store, vector_store=self.vector_store,
embedding_service=self.embedding_service, embedding_service=self.embedding_service,
config=matcher_config config=matcher_config

View file

@ -28,7 +28,7 @@ try:
except ImportError: except ImportError:
CASSANDRA_AVAILABLE = False CASSANDRA_AVAILABLE = False
from ....tables.config import ConfigTableStore from trustgraph.tables.config import ConfigTableStore
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)