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
}
}