noctis.repository.neo4j.neo4j_queries.Neo4jQueryRegistry

class noctis.repository.neo4j.neo4j_queries.Neo4jQueryRegistry[source]

A registry for managing and accessing Neo4j query classes.

This class provides a centralized mechanism for registering, retrieving, and listing query classes that extend AbstractQuery. It uses a class decorator pattern for automatic registration of query classes and offers methods to access and display information about registered queries.

Attributes:

queries (dict): A dictionary storing registered query classes, keyed by query name.

Class Methods:

register_query(): A decorator for registering new query classes. get_query_object(query_name: str): Retrieves a specific query class by name. get_all_queries(): Returns a set of all registered query names. info(): Prints detailed information about all registered queries.

Usage:

To register a new query class: @Neo4jQueryRegistry.register_query() class MyNewQuery(AbstractQuery):

To retrieve a query class: query_class = Neo4jQueryRegistry.get_query_object(“my_query_name”)

To get all registered query names: all_queries = Neo4jQueryRegistry.get_all_queries()

To display information about all queries: Neo4jQueryRegistry.info()

Note:

This class is designed to work with query classes that inherit from AbstractQuery. It assumes that registered classes have certain attributes like query_name, query_type, and methods like list_arguments().

__init__()

Methods

__init__()

get_all_queries()

To return a dictionary with all the registered query types and names

get_query_object(query_name)

To retrieve a specific Query class based in its type and name

info()

register_query()

Class decorator for automatic registration of new queries

Attributes

queries