Search in sources :

Example 1 with VertexiumCypherQuery

use of org.vertexium.cypher.VertexiumCypherQuery in project vertexium by visallo.

the class ExecuteCypherQuery method run.

private int run(String[] args) throws Exception {
    Parameters params = new Parameters();
    JCommander j = new JCommander(params, args);
    if (params.help) {
        j.usage();
        return -1;
    }
    Map<String, String> config = ConfigurationUtils.loadConfig(params.getConfigFileNames(), params.configPropertyPrefix);
    Graph graph = new GraphFactory().createGraph(config);
    Authorizations authorizations = params.getAuthorizations(graph);
    VertexiumCypherQueryContext ctx = new CliVertexiumCypherQueryContext(graph, authorizations);
    CliVertexiumCypherQueryContext.setLabelPropertyName(params.cypherLabelProperty);
    CypherCompilerContext compilerContext = new CypherCompilerContext(ctx.getFunctions());
    long startTime = System.currentTimeMillis();
    String queryString = params.query.stream().collect(Collectors.joining(" "));
    VertexiumCypherQuery query = VertexiumCypherQuery.parse(compilerContext, queryString);
    VertexiumCypherResult results = query.execute(ctx);
    results.stream().forEach(row -> {
        results.getColumnNames().forEach(column -> {
            System.out.println(row.getByName(column));
        });
    });
    long endTime = System.currentTimeMillis();
    LOGGER.info("total time: %.2fs", ((double) (endTime - startTime) / 1000.0));
    return 0;
}
Also used : VertexiumCypherResult(org.vertexium.cypher.VertexiumCypherResult) GraphFactory(org.vertexium.GraphFactory) Authorizations(org.vertexium.Authorizations) Graph(org.vertexium.Graph) CypherCompilerContext(org.vertexium.cypher.ast.CypherCompilerContext) JCommander(com.beust.jcommander.JCommander) VertexiumCypherQueryContext(org.vertexium.cypher.VertexiumCypherQueryContext) VertexiumCypherQuery(org.vertexium.cypher.VertexiumCypherQuery)

Example 2 with VertexiumCypherQuery

use of org.vertexium.cypher.VertexiumCypherQuery in project vertexium by visallo.

the class VertexiumScript method executeCypher.

public static Object executeCypher(String code) {
    VertexiumCypherQueryContext ctx = new CliVertexiumCypherQueryContext(getGraph(), getAuthorizations());
    CypherCompilerContext compilerContext = new CypherCompilerContext(ctx.getFunctions());
    VertexiumCypherQuery query = VertexiumCypherQuery.parse(compilerContext, code);
    return query.execute(ctx);
}
Also used : CypherCompilerContext(org.vertexium.cypher.ast.CypherCompilerContext) VertexiumCypherQueryContext(org.vertexium.cypher.VertexiumCypherQueryContext) VertexiumCypherQuery(org.vertexium.cypher.VertexiumCypherQuery)

Aggregations

VertexiumCypherQuery (org.vertexium.cypher.VertexiumCypherQuery)2 VertexiumCypherQueryContext (org.vertexium.cypher.VertexiumCypherQueryContext)2 CypherCompilerContext (org.vertexium.cypher.ast.CypherCompilerContext)2 JCommander (com.beust.jcommander.JCommander)1 Authorizations (org.vertexium.Authorizations)1 Graph (org.vertexium.Graph)1 GraphFactory (org.vertexium.GraphFactory)1 VertexiumCypherResult (org.vertexium.cypher.VertexiumCypherResult)1