All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fr.boreal.model.component.InteGraalKeywords Maven / Gradle / Ivy

The newest version!
package fr.boreal.model.component;

/**
 * The InteGraalKeywords enum provides a set of keywords and categorizations
 * that defines the realm of possibilities with InteGraal. These include:
 * 
 * 
    *
  • Algorithms: This section defines various algorithms for executing * key operations within InteGraal, e.g., Knowledge Base Chase, * Ontology-Mediated Query Rewriting, Rule Compilation, and Query * Answering.
  • * *
  • For each algorithm, it also includes the set of its supported * Parameters.
  • * *
  • Finally, it includes options for the algorithms' result options, such as * Answer Types (e.g., list vs count-based results).
  • * *
  • Internal Storage Configuration: This section outlines the * parameters for setting the storage of a factbase in InteGraal.
  • * *
  • Supported File Extensions: Defines the various file formats * supported by the system, notably formats for factbases, query bases, rule * bases, and mapping bases.
  • * *
  • Monitoring Operations: Specifies key operations that can be * monitored within the system, such as loading factbases, rulebases, and query * workloads, or running a specific algorithm.
  • *
* * This enumeration is meant to represent all features of InteGraal and is * primarily (but not only) used by the component builder. */ public enum InteGraalKeywords { /** * Represents the main InteGraal keyword. */ INTEGRAAL; /** * Defines various algorithms for InteGraal's operations. */ public enum Algorithms { /** Knowledge Base Chase */ KB_CHASE, /** Ontology-Mediated Query Rewriting */ OMQ_REWRITING, /** Rule Compilation */ RULE_COMPILATION, /** Query Answering */ QUERY_ANSWERING, /** Ontology-Mediated Query Answering via Chase */ OMQA_CHASE, /** Ontology-Mediated Query Answering via Rewriting */ OMQA_REW, /** Query Answering via Hybrid Strategy */ QUERY_ANSWERING_VIA_HYBRID_STRATEGY, /** Query Explanation */ QUERY_EXPLANATION, /** CSV Rules Encoding */ CSV_RLS_ENCODING; /** * Specifies types of answers in InteGraal algorithms. */ public enum Answers { /** Provides a list of answers */ LIST, /** Provides a set of answers */ SET, /** Provides only the count of answers */ COUNT_ONLY } /** * Specifies the algorithm parameters. */ public enum Parameters { /** Represents the algorithm parameter keyword */ ALGORITHM_PARAMETERS; /** * Defines compilation strategies. */ public enum Compilation { /** No Compilation */ NO_COMPILATION, /** Identifier Compilation */ ID_COMPILATION, /** Hierarchical Compilation */ HIERARCHICAL_COMPILATION } /** * Defines the different strategies for running a chase in InteGraal. */ public enum Chase { /** Represents the chase keyword. */ CHASE; /** * Specifies different scheduler strategies for chase. */ public enum Scheduler { /** Naive Scheduler */ NAIVE_SCHEDULER, /** GRD Scheduler */ GRD } /** * Specifies different evaluator strategies for chase. */ public enum Evaluator { /** Generic Evaluator */ GENERIC, /** Smart Evaluator */ SMART } /** * Specifies different trigger applier strategies for chase. */ public enum Applier { /** Breadth-First Trigger Applier */ BREADTH_FIRST_TRIGGER, /** Parallel Trigger Applier */ PARALLEL_TRIGGER, /** Source Delegated Datalog Applier */ SOURCE_DELEGATED_DATALOG } /** * Specifies different transformation strategies for chase. */ public enum Transformer { /** Apply all transformations */ ALL, /** Apply frontier transformations */ FRONTIER } /** * Specifies different computation strategies for chase. */ public enum Computer { /** Naive Computer */ NAIVE_COMPUTER, /** Semi-Naive Computer */ SEMI_NAIVE, /** Two-Step Computer */ TWO_STEP } /** * Specifies different rule-checking strategies for chase. */ public enum Checker { /** True Checker */ TRUE, /** Oblivious Checker */ OBLIVIOUS, /** Semi-Oblivious Checker */ SEMI_OBLIVIOUS, /** Restricted Checker */ RESTRICTED, /** Equivalent Checker */ EQUIVALENT } /** * Specifies different application methods for chase. */ public enum Application { /** Direct Application */ DIRECT, /** Parallel Application */ PARALLEL } /** * Specifies different Skolem function strategies. */ public enum Skolem { /** Fresh Skolem */ FRESH, /** Body-based Skolem */ BODY, /** Frontier-based Skolem */ FRONTIER, /** Frontier Piece-based Skolem */ FRONTIER_PIECE } } /** * Specifies hybrid reasoning types. * */ public enum HybridTypes { /** Max FES Hybrid Type */ MAX_FES, /** Max FUS Hybrid Type */ MAX_FUS } } /** * Specifies external halting conditions * */ public enum ExternalHaltingConditions { /** Max depth of reasoning (algorithm dependent) */ RANK, /** Time to finish the task */ TIMEOUT; } } /** * Defines storage-related keywords for InteGraal. */ public enum InternalStorageConfiguration { /** Represents the storage keyword. */ STORAGE; /** * Defines different database types supported. */ public enum DBType { /** SQL database */ SQL, /** SPARQL endpoint */ SPARQL, /** Simple In-Memory Graph Store */ SimpleInMemoryGraphStore, /** Default In-Memory Atom Set */ DefaultInMemoryAtomSet, /** Simple FO Formula Store */ SimpleFOFormulaStore } /** * Defines different driver types supported by InteGraal for internal storage. */ public enum DriverType { /** HSQLDB driver */ HSQLDB, /** MySQL driver */ MySQL, /** PostgreSQL driver */ PostgreSQL, /** SQLite driver */ SQLite } /** * Parameters for database management system drivers. */ public enum DBMSDriverParameters { /** Database URL */ URL, /** Database Port */ PORT, /** Name of the Database */ DATABASE_NAME, /** User Name */ USER_NAME, /** User Password */ USER_PASSWORD, /** Flag to reset the database after opening the connection */ CLEAR_DB } /** * Storage layouts for the database. */ public enum StorageLayout { /** Ad-hoc SQL layout : property tables */ AdHocSQL, /** Encoded Ad-hoc SQL layout : property tables with integer encoding */ EncodingAdHocSQL } } /** * Specifies different file extensions supported by InteGraal. */ public enum SupportedFileExtensions { /** Represents DLGP file extension. */ DLGP; /** * Specifies supported file extensions for factbases. */ public enum Factbase { /** DLGP format */ DLGP, /** DLGPE format */ DLGPE, /** RDF format */ RDF, /** CSV format */ CSV, /** RLS format */ RLS } /** * Specifies supported file extensions for query bases. */ public enum Querybase { /** DLGP format */ DLGP, /** DLGPE format */ DLGPE; } /** * Specifies supported file extensions for rule bases. */ public enum Rulebase { /** DLGP format */ DLGP, /** OWL format */ OWL, /** DLGPE format */ DLGPE; } /** * Specifies supported file extensions for mapping bases. */ public enum Mappingbase { /** JSON format */ JSON, /** VD is a JSON format for defining views */ VD } } /** * Defines various operations in InteGraal. */ public enum MonitoringOperations { /** Load Factbase Operation */ LOAD_FACTBASE, /** Load Rulebase Operation */ LOAD_RULEBASE, /** Load Query Workload Operation */ LOAD_QUERY_WORKLOAD, /** Execute a chase */ KBCHASE_EXECUTION, /** Execute a rewriting */ COMPUTING_UFOQ_REWRITING_EXECUTION, /** Evaluate a query */ QUERY_EVALUATION } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy