feat: adds default ontology resolver
This commit is contained in:
parent
c5e6c69e54
commit
6261fca0c4
3 changed files with 24 additions and 4 deletions
|
|
@ -9,6 +9,7 @@ from cognee.modules.engine.utils import (
|
|||
)
|
||||
from cognee.shared.data_models import KnowledgeGraph
|
||||
from cognee.modules.ontology.rdf_xml.RDFLibOntologyResolver import RDFLibOntologyResolver
|
||||
from cognee.modules.ontology.get_default_ontology_resolver import get_default_ontology_resolver
|
||||
|
||||
|
||||
def _create_node_key(node_id: str, category: str) -> str:
|
||||
|
|
@ -320,7 +321,7 @@ def expand_with_nodes_and_edges(
|
|||
existing_edges_map = {}
|
||||
|
||||
if ontology_resolver is None:
|
||||
ontology_resolver = RDFLibOntologyResolver()
|
||||
ontology_resolver = get_default_ontology_resolver()
|
||||
|
||||
added_nodes_map = {}
|
||||
added_ontology_nodes_map = {}
|
||||
|
|
|
|||
18
cognee/modules/ontology/get_default_ontology_resolver.py
Normal file
18
cognee/modules/ontology/get_default_ontology_resolver.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
from typing import Optional
|
||||
|
||||
from cognee.modules.ontology.base_ontology_resolver import BaseOntologyResolver
|
||||
from cognee.modules.ontology.rdf_xml.RDFLibOntologyResolver import RDFLibOntologyResolver
|
||||
from cognee.modules.ontology.matching_strategies import FuzzyMatchingStrategy
|
||||
|
||||
|
||||
def get_default_ontology_resolver(ontology_file: Optional[str] = None) -> BaseOntologyResolver:
|
||||
"""Get the default ontology resolver (RDFLib with fuzzy matching).
|
||||
|
||||
Args:
|
||||
ontology_file: Optional path to ontology file
|
||||
|
||||
Returns:
|
||||
Default RDFLib ontology resolver with fuzzy matching strategy
|
||||
"""
|
||||
fuzzy_strategy = FuzzyMatchingStrategy()
|
||||
return RDFLibOntologyResolver(ontology_file=ontology_file, matching_strategy=fuzzy_strategy)
|
||||
|
|
@ -2,12 +2,13 @@ import pytest
|
|||
from rdflib import Graph, Namespace, RDF, OWL, RDFS
|
||||
from cognee.modules.ontology.rdf_xml.RDFLibOntologyResolver import RDFLibOntologyResolver
|
||||
from cognee.modules.ontology.models import AttachedOntologyNode
|
||||
from cognee.modules.ontology.get_default_ontology_resolver import get_default_ontology_resolver
|
||||
|
||||
|
||||
def test_ontology_adapter_initialization_success():
|
||||
"""Test successful initialization of OntologyAdapter."""
|
||||
|
||||
adapter = RDFLibOntologyResolver()
|
||||
adapter = get_default_ontology_resolver()
|
||||
adapter.build_lookup()
|
||||
|
||||
assert isinstance(adapter.lookup, dict)
|
||||
|
|
@ -106,7 +107,7 @@ def test_get_subgraph_no_match_rdflib():
|
|||
"""Test get_subgraph returns empty results for a non-existent node."""
|
||||
g = Graph()
|
||||
|
||||
resolver = RDFLibOntologyResolver()
|
||||
resolver = get_default_ontology_resolver()
|
||||
resolver.graph = g
|
||||
resolver.build_lookup()
|
||||
|
||||
|
|
@ -164,7 +165,7 @@ def test_refresh_lookup_rdflib():
|
|||
"""Test that refresh_lookup rebuilds the lookup dict into a new object."""
|
||||
g = Graph()
|
||||
|
||||
resolver = RDFLibOntologyResolver()
|
||||
resolver = get_default_ontology_resolver()
|
||||
resolver.graph = g
|
||||
resolver.build_lookup()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue