mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-07-21 19:21:03 +02:00
Lower case
This commit is contained in:
parent
65b3a6ee12
commit
2d357889a2
5 changed files with 62 additions and 62 deletions
|
|
@ -93,7 +93,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
p='http://example.org/knows',
|
||||
o='http://example.org/Bob',
|
||||
g='http://example.org/graph1',
|
||||
otype='U'
|
||||
otype='u'
|
||||
)
|
||||
|
||||
# Verify batch was executed
|
||||
|
|
@ -111,7 +111,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
p='http://www.w3.org/2000/01/rdf-schema#label',
|
||||
o='Alice Smith',
|
||||
g=None,
|
||||
otype='L',
|
||||
otype='l',
|
||||
dtype='xsd:string',
|
||||
lang='en'
|
||||
)
|
||||
|
|
@ -131,7 +131,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
p='http://example.org/knows',
|
||||
o='http://example.org/Bob',
|
||||
g=None,
|
||||
otype='U'
|
||||
otype='u'
|
||||
)
|
||||
|
||||
mock_session.execute.assert_called()
|
||||
|
|
@ -169,7 +169,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
# Mock the query result
|
||||
mock_result = [
|
||||
MagicMock(p='http://example.org/knows', o='http://example.org/Bob',
|
||||
d='', otype='U', dtype='', lang='', s='http://example.org/Alice')
|
||||
d='', otype='u', dtype='', lang='', s='http://example.org/Alice')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
||||
|
|
@ -190,7 +190,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
|
||||
mock_result = [
|
||||
MagicMock(s='http://example.org/Alice', o='http://example.org/Bob',
|
||||
d='', otype='U', dtype='', lang='', p='http://example.org/knows')
|
||||
d='', otype='u', dtype='', lang='', p='http://example.org/knows')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
||||
|
|
@ -205,7 +205,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
|
||||
mock_result = [
|
||||
MagicMock(s='http://example.org/Alice', p='http://example.org/knows',
|
||||
d='', otype='U', dtype='', lang='', o='http://example.org/Bob')
|
||||
d='', otype='u', dtype='', lang='', o='http://example.org/Bob')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
kg, mock_session = entity_kg
|
||||
|
||||
mock_result = [
|
||||
MagicMock(o='http://example.org/Bob', d='', otype='U', dtype='', lang='')
|
||||
MagicMock(o='http://example.org/Bob', d='', otype='u', dtype='', lang='')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
||||
|
|
@ -234,7 +234,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
kg, mock_session = entity_kg
|
||||
|
||||
mock_result = [
|
||||
MagicMock(s='http://example.org/Alice', d='', otype='U', dtype='', lang='',
|
||||
MagicMock(s='http://example.org/Alice', d='', otype='u', dtype='', lang='',
|
||||
o='http://example.org/Bob')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
|
@ -250,7 +250,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
kg, mock_session = entity_kg
|
||||
|
||||
mock_result = [
|
||||
MagicMock(p='http://example.org/knows', d='', otype='U', dtype='', lang='',
|
||||
MagicMock(p='http://example.org/knows', d='', otype='u', dtype='', lang='',
|
||||
s='http://example.org/Alice', o='http://example.org/Bob')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
|
@ -266,7 +266,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
kg, mock_session = entity_kg
|
||||
|
||||
mock_result = [
|
||||
MagicMock(d='', otype='U', dtype='', lang='',
|
||||
MagicMock(d='', otype='u', dtype='', lang='',
|
||||
o='http://example.org/Bob')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
|
@ -283,7 +283,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
|
||||
mock_result = [
|
||||
MagicMock(s='http://example.org/Alice', p='http://example.org/knows',
|
||||
o='http://example.org/Bob', otype='U', dtype='', lang='')
|
||||
o='http://example.org/Bob', otype='u', dtype='', lang='')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
||||
|
|
@ -297,7 +297,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
|
||||
mock_result = [
|
||||
MagicMock(d='', s='http://example.org/Alice', p='http://example.org/knows',
|
||||
o='http://example.org/Bob', otype='U', dtype='', lang='')
|
||||
o='http://example.org/Bob', otype='u', dtype='', lang='')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
||||
|
|
@ -312,10 +312,10 @@ class TestEntityCentricKnowledgeGraph:
|
|||
|
||||
mock_result = [
|
||||
MagicMock(p='http://example.org/knows', d='http://example.org/graph1',
|
||||
otype='U', dtype='', lang='', s='http://example.org/Alice',
|
||||
otype='u', dtype='', lang='', s='http://example.org/Alice',
|
||||
o='http://example.org/Bob'),
|
||||
MagicMock(p='http://example.org/knows', d='http://example.org/graph2',
|
||||
otype='U', dtype='', lang='', s='http://example.org/Alice',
|
||||
otype='u', dtype='', lang='', s='http://example.org/Alice',
|
||||
o='http://example.org/Charlie')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
|
@ -331,10 +331,10 @@ class TestEntityCentricKnowledgeGraph:
|
|||
|
||||
mock_result = [
|
||||
MagicMock(p='http://example.org/knows', d='http://example.org/graph1',
|
||||
otype='U', dtype='', lang='', s='http://example.org/Alice',
|
||||
otype='u', dtype='', lang='', s='http://example.org/Alice',
|
||||
o='http://example.org/Bob'),
|
||||
MagicMock(p='http://example.org/knows', d='http://example.org/graph2',
|
||||
otype='U', dtype='', lang='', s='http://example.org/Alice',
|
||||
otype='u', dtype='', lang='', s='http://example.org/Alice',
|
||||
o='http://example.org/Charlie')
|
||||
]
|
||||
mock_session.execute.return_value = mock_result
|
||||
|
|
@ -384,7 +384,7 @@ class TestEntityCentricKnowledgeGraph:
|
|||
# Mock reading quads from collection
|
||||
mock_quads = [
|
||||
MagicMock(d='', s='http://example.org/Alice', p='http://example.org/knows',
|
||||
o='http://example.org/Bob', otype='U')
|
||||
o='http://example.org/Bob', otype='u')
|
||||
]
|
||||
mock_session.execute.return_value = mock_quads
|
||||
|
||||
|
|
@ -416,7 +416,7 @@ class TestQuadResult:
|
|||
p='http://example.org/knows',
|
||||
o='http://example.org/Bob',
|
||||
g='http://example.org/graph1',
|
||||
otype='U',
|
||||
otype='u',
|
||||
dtype='',
|
||||
lang=''
|
||||
)
|
||||
|
|
@ -425,7 +425,7 @@ class TestQuadResult:
|
|||
assert result.p == 'http://example.org/knows'
|
||||
assert result.o == 'http://example.org/Bob'
|
||||
assert result.g == 'http://example.org/graph1'
|
||||
assert result.otype == 'U'
|
||||
assert result.otype == 'u'
|
||||
assert result.dtype == ''
|
||||
assert result.lang == ''
|
||||
|
||||
|
|
@ -440,7 +440,7 @@ class TestQuadResult:
|
|||
g=''
|
||||
)
|
||||
|
||||
assert result.otype == 'U' # Default otype
|
||||
assert result.otype == 'u' # Default otype
|
||||
assert result.dtype == ''
|
||||
assert result.lang == ''
|
||||
|
||||
|
|
@ -453,12 +453,12 @@ class TestQuadResult:
|
|||
p='http://www.w3.org/2000/01/rdf-schema#label',
|
||||
o='Alice Smith',
|
||||
g='',
|
||||
otype='L',
|
||||
otype='l',
|
||||
dtype='xsd:string',
|
||||
lang='en'
|
||||
)
|
||||
|
||||
assert result.otype == 'L'
|
||||
assert result.otype == 'l'
|
||||
assert result.dtype == 'xsd:string'
|
||||
assert result.lang == 'en'
|
||||
|
||||
|
|
@ -511,42 +511,42 @@ class TestWriteHelperFunctions:
|
|||
"""Test cases for helper functions in write.py"""
|
||||
|
||||
def test_get_term_otype_for_iri(self):
|
||||
"""Test get_term_otype returns 'U' for IRI terms"""
|
||||
"""Test get_term_otype returns 'u' for IRI terms"""
|
||||
from trustgraph.storage.triples.cassandra.write import get_term_otype
|
||||
from trustgraph.schema import Term, IRI
|
||||
|
||||
term = Term(type=IRI, iri='http://example.org/Alice')
|
||||
assert get_term_otype(term) == 'U'
|
||||
assert get_term_otype(term) == 'u'
|
||||
|
||||
def test_get_term_otype_for_literal(self):
|
||||
"""Test get_term_otype returns 'L' for LITERAL terms"""
|
||||
"""Test get_term_otype returns 'l' for LITERAL terms"""
|
||||
from trustgraph.storage.triples.cassandra.write import get_term_otype
|
||||
from trustgraph.schema import Term, LITERAL
|
||||
|
||||
term = Term(type=LITERAL, value='Alice Smith')
|
||||
assert get_term_otype(term) == 'L'
|
||||
assert get_term_otype(term) == 'l'
|
||||
|
||||
def test_get_term_otype_for_blank(self):
|
||||
"""Test get_term_otype returns 'U' for BLANK terms"""
|
||||
"""Test get_term_otype returns 'u' for BLANK terms"""
|
||||
from trustgraph.storage.triples.cassandra.write import get_term_otype
|
||||
from trustgraph.schema import Term, BLANK
|
||||
|
||||
term = Term(type=BLANK, id='_:b1')
|
||||
assert get_term_otype(term) == 'U'
|
||||
assert get_term_otype(term) == 'u'
|
||||
|
||||
def test_get_term_otype_for_triple(self):
|
||||
"""Test get_term_otype returns 'T' for TRIPLE terms"""
|
||||
"""Test get_term_otype returns 't' for TRIPLE terms"""
|
||||
from trustgraph.storage.triples.cassandra.write import get_term_otype
|
||||
from trustgraph.schema import Term, TRIPLE
|
||||
|
||||
term = Term(type=TRIPLE)
|
||||
assert get_term_otype(term) == 'T'
|
||||
assert get_term_otype(term) == 't'
|
||||
|
||||
def test_get_term_otype_for_none(self):
|
||||
"""Test get_term_otype returns 'U' for None"""
|
||||
"""Test get_term_otype returns 'u' for None"""
|
||||
from trustgraph.storage.triples.cassandra.write import get_term_otype
|
||||
|
||||
assert get_term_otype(None) == 'U'
|
||||
assert get_term_otype(None) == 'u'
|
||||
|
||||
def test_get_term_dtype_for_literal(self):
|
||||
"""Test get_term_dtype extracts datatype from LITERAL"""
|
||||
|
|
@ -591,21 +591,21 @@ class TestServiceHelperFunctions:
|
|||
"""Test cases for helper functions in service.py"""
|
||||
|
||||
def test_create_term_with_uri_otype(self):
|
||||
"""Test create_term creates IRI Term for otype='U'"""
|
||||
"""Test create_term creates IRI Term for otype='u'"""
|
||||
from trustgraph.query.triples.cassandra.service import create_term
|
||||
from trustgraph.schema import IRI
|
||||
|
||||
term = create_term('http://example.org/Alice', otype='U')
|
||||
term = create_term('http://example.org/Alice', otype='u')
|
||||
|
||||
assert term.type == IRI
|
||||
assert term.iri == 'http://example.org/Alice'
|
||||
|
||||
def test_create_term_with_literal_otype(self):
|
||||
"""Test create_term creates LITERAL Term for otype='L'"""
|
||||
"""Test create_term creates LITERAL Term for otype='l'"""
|
||||
from trustgraph.query.triples.cassandra.service import create_term
|
||||
from trustgraph.schema import LITERAL
|
||||
|
||||
term = create_term('Alice Smith', otype='L', dtype='xsd:string', lang='en')
|
||||
term = create_term('Alice Smith', otype='l', dtype='xsd:string', lang='en')
|
||||
|
||||
assert term.type == LITERAL
|
||||
assert term.value == 'Alice Smith'
|
||||
|
|
@ -613,11 +613,11 @@ class TestServiceHelperFunctions:
|
|||
assert term.language == 'en'
|
||||
|
||||
def test_create_term_with_triple_otype(self):
|
||||
"""Test create_term creates IRI Term for otype='T'"""
|
||||
"""Test create_term creates IRI Term for otype='t'"""
|
||||
from trustgraph.query.triples.cassandra.service import create_term
|
||||
from trustgraph.schema import IRI
|
||||
|
||||
term = create_term('http://example.org/statement1', otype='T')
|
||||
term = create_term('http://example.org/statement1', otype='t')
|
||||
|
||||
assert term.type == IRI
|
||||
assert term.iri == 'http://example.org/statement1'
|
||||
|
|
|
|||
|
|
@ -219,11 +219,11 @@ class TestCassandraStorageProcessor:
|
|||
assert mock_tg_instance.insert.call_count == 2
|
||||
mock_tg_instance.insert.assert_any_call(
|
||||
'collection1', 'subject1', 'predicate1', 'object1',
|
||||
g=DEFAULT_GRAPH, otype='L', dtype='', lang=''
|
||||
g=DEFAULT_GRAPH, otype='l', dtype='', lang=''
|
||||
)
|
||||
mock_tg_instance.insert.assert_any_call(
|
||||
'collection1', 'subject2', 'predicate2', 'object2',
|
||||
g=DEFAULT_GRAPH, otype='L', dtype='', lang=''
|
||||
g=DEFAULT_GRAPH, otype='l', dtype='', lang=''
|
||||
)
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
|
@ -428,7 +428,7 @@ class TestCassandraStorageProcessor:
|
|||
'predicate:with/colons',
|
||||
'object with "quotes" and unicode: ñáéíóú',
|
||||
g=DEFAULT_GRAPH,
|
||||
otype='L',
|
||||
otype='l',
|
||||
dtype='',
|
||||
lang=''
|
||||
)
|
||||
|
|
@ -544,7 +544,7 @@ class TestCassandraPerformanceOptimizations:
|
|||
# Verify insert was called for the triple (implementation details tested in KnowledgeGraph)
|
||||
mock_tg_instance.insert.assert_called_once_with(
|
||||
'collection1', 'test_subject', 'test_predicate', 'test_object',
|
||||
g=DEFAULT_GRAPH, otype='L', dtype='', lang=''
|
||||
g=DEFAULT_GRAPH, otype='l', dtype='', lang=''
|
||||
)
|
||||
|
||||
def test_environment_variable_controls_mode(self):
|
||||
|
|
|
|||
|
|
@ -732,7 +732,7 @@ class EntityCentricKnowledgeGraph:
|
|||
p: Predicate (string value)
|
||||
o: Object (string value)
|
||||
g: Graph/dataset (None for default graph)
|
||||
otype: Object type - 'U' (URI), 'L' (literal), 'T' (triple)
|
||||
otype: Object type - 'u' (URI), 'l' (literal), 't' (triple)
|
||||
Auto-detected from o value if not provided
|
||||
dtype: XSD datatype (for literals)
|
||||
lang: Language tag (for literals)
|
||||
|
|
@ -744,9 +744,9 @@ class EntityCentricKnowledgeGraph:
|
|||
# Auto-detect otype if not provided (backwards compatibility)
|
||||
if otype is None:
|
||||
if o.startswith("http://") or o.startswith("https://"):
|
||||
otype = "U"
|
||||
otype = "u"
|
||||
else:
|
||||
otype = "L"
|
||||
otype = "l"
|
||||
|
||||
batch = BatchStatement()
|
||||
|
||||
|
|
@ -761,7 +761,7 @@ class EntityCentricKnowledgeGraph:
|
|||
))
|
||||
|
||||
# Write row for object entity (role='O') - only for URIs, not literals
|
||||
if otype == 'U' or otype == 'T':
|
||||
if otype == 'u' or otype == 't':
|
||||
batch.add(self.insert_entity_stmt, (
|
||||
collection, o, 'O', p, otype, s, o, g, dtype, lang
|
||||
))
|
||||
|
|
@ -1005,7 +1005,7 @@ class EntityCentricKnowledgeGraph:
|
|||
entities.add(p)
|
||||
|
||||
# Object is an entity only for URIs
|
||||
if otype == 'U' or otype == 'T':
|
||||
if otype == 'u' or otype == 't':
|
||||
entities.add(o)
|
||||
|
||||
# Graph is an entity for non-default graphs
|
||||
|
|
@ -1073,12 +1073,12 @@ class QuadResult:
|
|||
p: Predicate value
|
||||
o: Object value
|
||||
g: Graph/dataset value
|
||||
otype: Object type - 'U' (URI), 'L' (literal), 'T' (triple)
|
||||
otype: Object type - 'u' (URI), 'l' (literal), 't' (triple)
|
||||
dtype: XSD datatype (for literals)
|
||||
lang: Language tag (for literals)
|
||||
"""
|
||||
|
||||
def __init__(self, s, p, o, g, otype='U', dtype='', lang=''):
|
||||
def __init__(self, s, p, o, g, otype='u', dtype='', lang=''):
|
||||
self.s = s
|
||||
self.p = p
|
||||
self.o = o
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ def create_term(value, otype=None, dtype=None, lang=None):
|
|||
|
||||
Args:
|
||||
value: The string value
|
||||
otype: Object type - 'U' (URI), 'L' (literal), 'T' (triple)
|
||||
otype: Object type - 'u' (URI), 'l' (literal), 't' (triple)
|
||||
dtype: XSD datatype (for literals)
|
||||
lang: Language tag (for literals)
|
||||
|
||||
|
|
@ -47,16 +47,16 @@ def create_term(value, otype=None, dtype=None, lang=None):
|
|||
Otherwise falls back to URL detection heuristic.
|
||||
"""
|
||||
if otype is not None:
|
||||
if otype == 'U':
|
||||
if otype == 'u':
|
||||
return Term(type=IRI, iri=value)
|
||||
elif otype == 'L':
|
||||
elif otype == 'l':
|
||||
return Term(
|
||||
type=LITERAL,
|
||||
value=value,
|
||||
datatype=dtype or "",
|
||||
language=lang or ""
|
||||
)
|
||||
elif otype == 'T':
|
||||
elif otype == 't':
|
||||
# Triple/reification - treat as IRI for now
|
||||
return Term(type=IRI, iri=value)
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -43,21 +43,21 @@ def get_term_otype(term):
|
|||
Get object type code from a Term for entity-centric storage.
|
||||
|
||||
Maps Term.type to otype:
|
||||
- IRI ("i") → "U" (URI)
|
||||
- BLANK ("b") → "U" (treated as URI)
|
||||
- LITERAL ("l") → "L" (Literal)
|
||||
- TRIPLE ("t") → "T" (Triple/reification)
|
||||
- IRI ("i") → "u" (URI)
|
||||
- BLANK ("b") → "u" (treated as URI)
|
||||
- LITERAL ("l") → "l" (Literal)
|
||||
- TRIPLE ("t") → "t" (Triple/reification)
|
||||
"""
|
||||
if term is None:
|
||||
return "U"
|
||||
return "u"
|
||||
if term.type == IRI or term.type == BLANK:
|
||||
return "U"
|
||||
return "u"
|
||||
elif term.type == LITERAL:
|
||||
return "L"
|
||||
return "l"
|
||||
elif term.type == TRIPLE:
|
||||
return "T"
|
||||
return "t"
|
||||
else:
|
||||
return "U"
|
||||
return "u"
|
||||
|
||||
|
||||
def get_term_dtype(term):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue