__init__.py 741 B

12345678910111213141516171819202122232425262728293031323334
  1. """
  2. Root of the ModelVerse State package
  3. """
  4. from enum import Enum
  5. class MvSKernel(Enum):
  6. PYTHON = 0
  7. RDF = 1
  8. NEO4J = 2
  9. IGRAPH = 3
  10. def getMvSBackend(type, *args, **kwargs):
  11. """
  12. Obtains a state implementation for the ModelVerse State.
  13. Args:
  14. type (MvSKernel): The type of backend to use.
  15. All other arguments are implementation-specific.
  16. """
  17. if type == MvSKernel.PYTHON:
  18. from .pystate import PyState
  19. return PyState()
  20. elif type == MvSKernel.RDF:
  21. from .rdfstate import RDFState
  22. return RDFState(*args, **kwargs)
  23. elif type == MvSKernel.NEO4J:
  24. from .neo4jstate import Neo4jState
  25. return Neo4jState(*args, **kwargs)
  26. elif type == MvSKernel.IGRAPH:
  27. from .igraphstate import iGraphState
  28. return iGraphState()