naas-abi 1.0.7__py3-none-any.whl → 1.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. naas_abi/__init__.py +16 -4
  2. naas_abi/agents/AbiAgent.py +18 -14
  3. naas_abi/agents/EntitytoSPARQLAgent.py +22 -17
  4. naas_abi/agents/KnowledgeGraphBuilderAgent.py +17 -15
  5. naas_abi/agents/OntologyEngineerAgent.py +4 -15
  6. naas_abi/apps/oxigraph_admin/main.py +7 -4
  7. naas_abi/apps/sparql_terminal/main.py +7 -4
  8. naas_abi/pipelines/AIAgentOntologyGenerationPipeline_test.py +4 -3
  9. naas_abi/pipelines/AddIndividualPipeline_test.py +10 -7
  10. naas_abi/pipelines/InsertDataSPARQLPipeline.py +6 -4
  11. naas_abi/pipelines/InsertDataSPARQLPipeline_test.py +9 -6
  12. naas_abi/pipelines/MergeIndividualsPipeline.py +6 -2
  13. naas_abi/pipelines/MergeIndividualsPipeline_test.py +10 -9
  14. naas_abi/pipelines/RemoveIndividualPipeline.py +6 -2
  15. naas_abi/pipelines/RemoveIndividualPipeline_test.py +8 -8
  16. naas_abi/pipelines/UpdateDataPropertyPipeline.py +6 -2
  17. naas_abi/workflows/GetObjectPropertiesFromClassWorkflow.py +10 -3
  18. naas_abi/workflows/GetObjectPropertiesFromClassWorkflow_test.py +7 -2
  19. naas_abi/workflows/GetSubjectGraphWorkflow_test.py +8 -3
  20. naas_abi/workflows/SearchIndividualWorkflow_test.py +6 -6
  21. {naas_abi-1.0.7.dist-info → naas_abi-1.0.9.dist-info}/METADATA +2 -2
  22. naas_abi-1.0.9.dist-info/RECORD +49 -0
  23. naas_abi/apps/terminal_agent/main.py +0 -553
  24. naas_abi/apps/terminal_agent/terminal_style.py +0 -175
  25. naas_abi/mappings.py +0 -83
  26. naas_abi/triggers.py +0 -131
  27. naas_abi/workflows/ConvertOntologyGraphToYamlWorkflow.py +0 -210
  28. naas_abi/workflows/ConvertOntologyGraphToYamlWorkflow_test.py +0 -78
  29. naas_abi/workflows/CreateClassOntologyYamlWorkflow.py +0 -214
  30. naas_abi/workflows/CreateClassOntologyYamlWorkflow_test.py +0 -65
  31. naas_abi/workflows/CreateIndividualOntologyYamlWorkflow.py +0 -183
  32. naas_abi/workflows/CreateIndividualOntologyYamlWorkflow_test.py +0 -86
  33. naas_abi/workflows/ExportGraphInstancesToExcelWorkflow.py +0 -450
  34. naas_abi/workflows/ExportGraphInstancesToExcelWorkflow_test.py +0 -33
  35. naas_abi-1.0.7.dist-info/RECORD +0 -61
  36. {naas_abi-1.0.7.dist-info → naas_abi-1.0.9.dist-info}/WHEEL +0 -0
  37. {naas_abi-1.0.7.dist-info → naas_abi-1.0.9.dist-info}/top_level.txt +0 -0
@@ -1,18 +1,20 @@
1
1
  import pytest
2
- from naas_abi import services
2
+ from naas_abi import ABIModule
3
3
  from naas_abi.pipelines.RemoveIndividualPipeline import (
4
4
  RemoveIndividualPipeline,
5
5
  RemoveIndividualPipelineConfiguration,
6
6
  RemoveIndividualPipelineParameters,
7
7
  )
8
+ from naas_abi_core.utils.SPARQL import SPARQLUtils
9
+
10
+ triple_store_service = ABIModule.get_instance().engine.services.triple_store
11
+ sparql_utils = SPARQLUtils(triple_store_service)
8
12
 
9
13
 
10
14
  @pytest.fixture
11
15
  def pipeline() -> RemoveIndividualPipeline:
12
16
  return RemoveIndividualPipeline(
13
- RemoveIndividualPipelineConfiguration(
14
- triple_store=services.triple_store_service
15
- )
17
+ RemoveIndividualPipelineConfiguration(triple_store=triple_store_service)
16
18
  )
17
19
 
18
20
 
@@ -20,8 +22,6 @@ def test_remove_individual_pipeline(pipeline: RemoveIndividualPipeline):
20
22
  import time
21
23
  from uuid import uuid4
22
24
 
23
- from naas_abi import services
24
- from naas_abi_core.utils.SPARQL import get_subject_graph
25
25
  from rdflib import OWL, RDF, RDFS, Graph, Literal, Namespace, URIRef
26
26
 
27
27
  ABI = Namespace("http://ontology.naas.ai/abi/")
@@ -42,7 +42,7 @@ def test_remove_individual_pipeline(pipeline: RemoveIndividualPipeline):
42
42
  ),
43
43
  )
44
44
  )
45
- services.triple_store_service.insert(graph)
45
+ triple_store_service.insert(graph)
46
46
  time.sleep(3)
47
47
 
48
48
  # Run pipeline to remove triples
@@ -54,5 +54,5 @@ def test_remove_individual_pipeline(pipeline: RemoveIndividualPipeline):
54
54
  assert graph is not None, graph.serialize(format="turtle")
55
55
 
56
56
  # Check if uri is removed in triplestore
57
- graph = get_subject_graph(str(uri), 1)
57
+ graph = sparql_utils.get_subject_graph(str(uri), 1)
58
58
  assert len(graph) == 0, graph.serialize(format="turtle")
@@ -152,7 +152,11 @@ class UpdateDataPropertyPipeline(Pipeline):
152
152
 
153
153
 
154
154
  if __name__ == "__main__":
155
- from naas_abi import services
155
+ from naas_abi_core.engine.Engine import Engine
156
+
157
+ engine = Engine()
158
+ engine.load(module_names=["naas_abi"])
159
+ triple_store_service = engine.services.triple_store
156
160
 
157
161
  subject_uri = "http://ontology.naas.ai/abi/1b765700-9fa1-4e1d-9496-108445aafb34"
158
162
  predicate_uri = str(RDFS.label)
@@ -160,7 +164,7 @@ if __name__ == "__main__":
160
164
  language = "en"
161
165
 
162
166
  configuration = UpdateDataPropertyPipelineConfiguration(
163
- triple_store=services.triple_store_service
167
+ triple_store=triple_store_service
164
168
  )
165
169
 
166
170
  pipeline = UpdateDataPropertyPipeline(configuration)
@@ -40,7 +40,6 @@ class GetObjectPropertiesFromClassWorkflowParameters(WorkflowParameters):
40
40
  Field(
41
41
  ...,
42
42
  description="URI of the class to get object properties for",
43
- example="http://purl.obolibrary.org/obo/BFO_0000040",
44
43
  pattern="^http.*",
45
44
  ),
46
45
  ]
@@ -237,6 +236,7 @@ class GetObjectPropertiesFromClassWorkflow(Workflow):
237
236
  """Check if the given URI is a class in the ontology."""
238
237
  uri_ref = URIRef(uri)
239
238
  # Check if it's declared as an OWL Class
239
+ print(self.graph.serialize(format="turtle"))
240
240
  return (uri_ref, RDF.type, OWL.Class) in self.graph
241
241
 
242
242
  def _class_matches_domain(self, class_uri, domains):
@@ -371,11 +371,18 @@ class GetObjectPropertiesFromClassWorkflow(Workflow):
371
371
 
372
372
 
373
373
  if __name__ == "__main__":
374
- from naas_abi_core import logger, services
374
+ from naas_abi_core import logger
375
+ from naas_abi import ABIModule
376
+ from naas_abi_core.engine.Engine import Engine
377
+
378
+ engine = Engine()
379
+ engine.load(module_names=[
380
+ "naas_abi"
381
+ ])
375
382
 
376
383
  workflow = GetObjectPropertiesFromClassWorkflow(
377
384
  GetObjectPropertiesFromClassWorkflowConfiguration(
378
- triple_store=services.triple_store_service
385
+ triple_store=ABIModule.get_instance().engine.services.triple_store
379
386
  )
380
387
  )
381
388
  class_uri = "http://purl.obolibrary.org/obo/BFO_0000015"
@@ -1,17 +1,22 @@
1
1
  import pytest
2
+ from naas_abi import ABIModule
2
3
  from naas_abi.workflows.GetObjectPropertiesFromClassWorkflow import (
3
4
  GetObjectPropertiesFromClassWorkflow,
4
5
  GetObjectPropertiesFromClassWorkflowConfiguration,
5
6
  GetObjectPropertiesFromClassWorkflowParameters,
6
7
  )
7
- from naas_abi_core import logger, services
8
+ from naas_abi_core import logger
9
+ from naas_abi_core.utils.SPARQL import SPARQLUtils
10
+
11
+ triple_store_service = ABIModule.get_instance().engine.services.triple_store
12
+ sparql_utils = SPARQLUtils(triple_store_service)
8
13
 
9
14
 
10
15
  @pytest.fixture
11
16
  def workflow() -> GetObjectPropertiesFromClassWorkflow:
12
17
  return GetObjectPropertiesFromClassWorkflow(
13
18
  GetObjectPropertiesFromClassWorkflowConfiguration(
14
- triple_store=services.triple_store_service
19
+ triple_store=triple_store_service
15
20
  )
16
21
  )
17
22
 
@@ -1,9 +1,14 @@
1
1
  import pytest
2
+ from naas_abi import ABIModule
2
3
  from naas_abi.workflows.GetSubjectGraphWorkflow import (
3
4
  GetSubjectGraphWorkflow,
4
5
  GetSubjectGraphWorkflowConfiguration,
5
6
  GetSubjectGraphWorkflowParameters,
6
7
  )
8
+ from naas_abi_core.utils.SPARQL import SPARQLUtils
9
+
10
+ triple_store_service = ABIModule.get_instance().engine.services.triple_store
11
+ sparql_utils = SPARQLUtils(triple_store_service)
7
12
 
8
13
 
9
14
  @pytest.fixture
@@ -24,7 +29,7 @@ def test_get_subject_graph_workflow(
24
29
  ):
25
30
  from uuid import uuid4
26
31
 
27
- from naas_abi_core import logger, services
32
+ from naas_abi_core import logger
28
33
  from naas_abi_core.utils.Graph import TEST
29
34
  from rdflib import OWL, RDFS, Graph, Literal, URIRef
30
35
 
@@ -48,7 +53,7 @@ def test_get_subject_graph_workflow(
48
53
  )
49
54
  graph.add((uri, RDFS.label, Literal(node_id)))
50
55
 
51
- services.triple_store_service.insert(graph)
56
+ triple_store_service.insert(graph)
52
57
 
53
58
  result = get_subject_graph_workflow.get_subject_graph(
54
59
  GetSubjectGraphWorkflowParameters(
@@ -59,7 +64,7 @@ def test_get_subject_graph_workflow(
59
64
  assert isinstance(result, str), result
60
65
  assert result != "", result
61
66
 
62
- services.triple_store_service.remove(graph)
67
+ triple_store_service.remove(graph)
63
68
 
64
69
  # Test
65
70
  result = get_subject_graph_workflow.get_subject_graph(
@@ -1,18 +1,19 @@
1
1
  import pytest
2
+ from naas_abi import ABIModule
2
3
  from naas_abi.workflows.SearchIndividualWorkflow import (
3
4
  SearchIndividualWorkflow,
4
5
  SearchIndividualWorkflowConfiguration,
5
6
  SearchIndividualWorkflowParameters,
6
7
  )
7
8
 
9
+ triple_store_service = ABIModule.get_instance().engine.services.triple_store
10
+
8
11
 
9
12
  @pytest.fixture
10
13
  def search_individual_workflow() -> SearchIndividualWorkflow:
11
- from naas_abi import services
12
-
13
14
  # Configurations
14
15
  search_individual_workflow_configuration = SearchIndividualWorkflowConfiguration(
15
- triple_store=services.triple_store_service
16
+ triple_store=triple_store_service
16
17
  )
17
18
 
18
19
  # Workflow
@@ -28,7 +29,6 @@ def test_search_individual_workflow(
28
29
  ):
29
30
  from uuid import uuid4
30
31
 
31
- from naas_abi import services
32
32
  from naas_abi_core.utils.Graph import TEST
33
33
  from rdflib import OWL, RDFS, Graph, Literal, URIRef
34
34
 
@@ -50,7 +50,7 @@ def test_search_individual_workflow(
50
50
  )
51
51
  graph.add((TEST[node_id], RDFS.label, Literal(node_id)))
52
52
 
53
- services.triple_store_service.insert(graph)
53
+ triple_store_service.insert(graph)
54
54
 
55
55
  # Test
56
56
  result = search_individual_workflow.search_individual(
@@ -66,7 +66,7 @@ def test_search_individual_workflow(
66
66
  assert len(result) == 1, result
67
67
  assert result[0]["label"] == node_id, result[0]
68
68
 
69
- services.triple_store_service.remove(graph)
69
+ triple_store_service.remove(graph)
70
70
 
71
71
  # Test
72
72
  result = search_individual_workflow.search_individual(
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: naas-abi
3
- Version: 1.0.7
4
- Summary: Add your description here
3
+ Version: 1.0.9
4
+ Summary: Multi-agent orchestrator and knowledge graph management system for AI orchestration, providing comprehensive coordination of specialized AI agents and semantic data management capabilities
5
5
  Author-email: Maxime Jublou <maxime@naas.ai>, Florent Ravenel <florent@naas.ai>, Jeremy Ravenel <jeremy@naas.ai>
6
6
  Requires-Python: <4,>=3.10
7
7
  Description-Content-Type: text/markdown
@@ -0,0 +1,49 @@
1
+ naas_abi/__init__.py,sha256=y0syv4DSaZv87UaJEfNjN4VBvAF7aXqm_Y9EoVpyJAk,1538
2
+ naas_abi/cli.py,sha256=bfCcxGoQ_iSMhQDDX0-dRCyhc53Nawsy3WAruCNCL7M,27549
3
+ naas_abi/agents/AbiAgent.py,sha256=aTXDPJtJiIfl8R8U37XF3cBLuO2xVBNOr3ITfwXwvVM,18141
4
+ naas_abi/agents/AbiAgent_test.py,sha256=AKggG5RS3zDWnql1DFE7cF7riAHeOdKTZp44WN65Arg,5906
5
+ naas_abi/agents/EntitytoSPARQLAgent.py,sha256=WO77rMoHF8Iq6jqDWEsvDHz-tup6SHeDIBLiy5wvGe8,57173
6
+ naas_abi/agents/EntitytoSPARQLAgent_test.py,sha256=kx0gkbJoQZqt2_f_RINajwQU5EnHR1PsQx53rh7wJvA,2267
7
+ naas_abi/agents/KnowledgeGraphBuilderAgent.py,sha256=ve1NXFnzU1DNmmq7VD7N9BviYy8-sSnMuEhGzTKe_qY,13008
8
+ naas_abi/agents/KnowledgeGraphBuilderAgent_test.py,sha256=pKgakywjYCkjEngbaG-D9q9gwNMQEgXeD1C2xb9irTo,2718
9
+ naas_abi/agents/OntologyEngineerAgent.py,sha256=ssfX0s7Ath5tmAQJzfB5PzU5UsVEuTxEBYwWNp1RKo0,4209
10
+ naas_abi/agents/OntologyEngineerAgent_test.py,sha256=Z5A9u-GKPMlaaUQmI5Yvm9N9mwZTOuyyrqIyrSwrCEI,1319
11
+ naas_abi/apps/oxigraph_admin/main.py,sha256=dAls9K3ZcOh_f6E2EFOF2eAlJKn5dfGyLDmVLzEVdS8,14196
12
+ naas_abi/apps/oxigraph_admin/terminal_style.py,sha256=ByiWVYM5Ju8iGMKbs1YwfEwLfLIpaQbB5nPHzb9zdUY,5152
13
+ naas_abi/apps/sparql_terminal/main.py,sha256=Wgm3iWNiyTjZ5Nas0DAeHAUcWeU_HGNxEdWP15vjYik,2050
14
+ naas_abi/apps/sparql_terminal/terminal_style.py,sha256=TYBM2ChnOLSgVw3TA33obBSc_5gAC5kJCuD2dqMOmF4,6560
15
+ naas_abi/models/airgap_gemma.py,sha256=I9pWN_DSgy4h6rT7OiYWDVijyTMoEgONm4xfZYWvp6I,8469
16
+ naas_abi/models/airgap_qwen.py,sha256=EQZ-0tAKZCTCqnovLiGCx4ss0yh2Jjk0xh7wCwDomG8,682
17
+ naas_abi/models/default.py,sha256=XZ4--FmFjvO99fQdV0I7niJtHNgSFZuCKPb95pyhLns,721
18
+ naas_abi/pipelines/AIAgentOntologyGenerationPipeline.py,sha256=QWrooZ_xJy0uX92Tzw7fBOs_uME2nLhsjeWi0EGTUBA,24640
19
+ naas_abi/pipelines/AIAgentOntologyGenerationPipeline_test.py,sha256=QwYv5uhqyVIs_UmFi25PSKMOpgRj12kjkWH-Jlu7nbY,4203
20
+ naas_abi/pipelines/AddIndividualPipeline.py,sha256=EKrJX4ODXBMSFUl0R2UsaSmLaj0cUJ3AdIhhtU0Fhso,8445
21
+ naas_abi/pipelines/AddIndividualPipeline_test.py,sha256=3aOW1EWDJfMAQN7HXZGCgbj3KpqkJHE9NBgQyyzVm-I,2377
22
+ naas_abi/pipelines/InsertDataSPARQLPipeline.py,sha256=pJaFywvsRP27yEaT40biYKXNafAyKvo6KSLE-WyvurI,6906
23
+ naas_abi/pipelines/InsertDataSPARQLPipeline_test.py,sha256=SxsEXY7n-QDZNLb7PelDwh11zstsIYrAVD6zoN0X77w,3356
24
+ naas_abi/pipelines/MergeIndividualsPipeline.py,sha256=RjjiEHBJxSJ9ferdQTz2fYwZszDZ6jrM3VAxVgism6Y,9361
25
+ naas_abi/pipelines/MergeIndividualsPipeline_test.py,sha256=PJx7wZISvFyyHk2KVJuKin5Mmb57XOcaw6LG-drNiZw,3067
26
+ naas_abi/pipelines/RemoveIndividualPipeline.py,sha256=5gY-oxNy69aRmVtLbig4zcWQ_Iy5YhV22nM94-_3VLc,5713
27
+ naas_abi/pipelines/RemoveIndividualPipeline_test.py,sha256=kxYq5SqKenfzC4vkDKgXA2H2f7yPjRg1mErv6GK4wsw,1759
28
+ naas_abi/pipelines/UpdateCommercialOrganizationPipeline.py,sha256=TDboVTlOpsbrixRkp-b9dA6Cm194D4ZVUOeQX_uSMe4,6768
29
+ naas_abi/pipelines/UpdateDataPropertyPipeline.py,sha256=zgN1RdpDaODEBStvo02eSiZaKbPQLFzKPCS6tzmIhHw,6853
30
+ naas_abi/pipelines/UpdateLegalNamePipeline.py,sha256=jlN7uZANhoMDmZUpn7Hv4_eVLL-UdI2Ik8orRKagr0k,3451
31
+ naas_abi/pipelines/UpdateLinkedInPagePipeline.py,sha256=TGkGdQGlXUL1LfHQzfJEoSk5eY0Kl93cAnOYgHVyNDg,6180
32
+ naas_abi/pipelines/UpdatePersonPipeline.py,sha256=IAJROMvcsSPeDO5hkXabrH08TYHyhqKN2deq4kABCgI,6263
33
+ naas_abi/pipelines/UpdateSkillPipeline.py,sha256=XqOs5ssrT32ARCilg1Q2Dr-p7bPPbcp3sO2I1Wt1Dao,3907
34
+ naas_abi/pipelines/UpdateTickerPipeline.py,sha256=h1vf5b5vR1okwM94UBDlHu43G2IhynwpkasDf9VnMhg,3397
35
+ naas_abi/pipelines/UpdateWebsitePipeline.py,sha256=GfuqqbciT4yocYTuPGEgZq40KdsfxndbGgYiVT4eg9c,3556
36
+ naas_abi/workflows/AgentRecommendationWorkflow.py,sha256=5R89Fhhe8qMo3IEqoYAx37rWc8sTboDYPbwAuhZVoAw,12993
37
+ naas_abi/workflows/AgentRecommendationWorkflow_test.py,sha256=9LaYrn3qNbPtKFOBxxL9o6pFKZ3aSxlU3IkKmvh2ok8,5205
38
+ naas_abi/workflows/ArtificialAnalysisWorkflow.py,sha256=Jop3puoCQgJAyAQIJDC4kWB8Oo_oF4DcuiC4UHgm-aM,12133
39
+ naas_abi/workflows/ArtificialAnalysisWorkflow_test.py,sha256=glb0WJa19EpyuTqg7SCDkSI5oo_7UCTiDSeHdpaDDUY,1928
40
+ naas_abi/workflows/GetObjectPropertiesFromClassWorkflow.py,sha256=f6YuVWi6TncXh_6hXoLysKCecsQhBX-eyHBKUTuVDeE,14691
41
+ naas_abi/workflows/GetObjectPropertiesFromClassWorkflow_test.py,sha256=4ICPgW7aoL5CprwJitSTWX0VdrrtbZ-3rr8UD6NXAak,2155
42
+ naas_abi/workflows/GetSubjectGraphWorkflow.py,sha256=EkgrFQPyaUVeC8sd7oVcxT9LUkaafkhA1B2UqJDPR8k,2844
43
+ naas_abi/workflows/GetSubjectGraphWorkflow_test.py,sha256=5B2r3QsdBIKwYOuHkEhnfEPKV6xpWZzwRQyhBintgpo,2067
44
+ naas_abi/workflows/SearchIndividualWorkflow.py,sha256=6vWwywKNBlaosopPxiw0OpQnrn99wuiji0uA7jwKOn4,6572
45
+ naas_abi/workflows/SearchIndividualWorkflow_test.py,sha256=ySEgDQFEbevAxkjX9W8No-7JG9A6bH6Y8bCi86aenVA,2762
46
+ naas_abi-1.0.9.dist-info/METADATA,sha256=866XfEsrtWXw2worQ-kA4_C24ihLTsQtx-xHnKL9ibI,552
47
+ naas_abi-1.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
48
+ naas_abi-1.0.9.dist-info/top_level.txt,sha256=Dhf3mhATB9-JuvBR8Y55OabvI-PCeQUqb5ae3EMmbeA,9
49
+ naas_abi-1.0.9.dist-info/RECORD,,