Search in sources :

Example 1 with TypeQLDelete

use of com.vaticle.typeql.lang.query.TypeQLDelete in project grakn by graknlabs.

the class TypeQLSteps method typeql_delete.

@Given("typeql delete")
public void typeql_delete(String deleteQueryStatements) {
    TypeQLDelete typeQLQuery = TypeQL.parseQuery(String.join("\n", deleteQueryStatements)).asDelete();
    tx().query().delete(typeQLQuery);
}
Also used : TypeQLDelete(com.vaticle.typeql.lang.query.TypeQLDelete) Given(io.cucumber.java.en.Given)

Example 2 with TypeQLDelete

use of com.vaticle.typeql.lang.query.TypeQLDelete in project grakn by graknlabs.

the class QueryService method delete.

private void delete(String queryStr, Options.Query options, UUID reqID) {
    TypeQLDelete query = TypeQL.parseQuery(queryStr).asDelete();
    Context.Query context = new Context.Query(transactionSvc.context(), options.query(query), query);
    queryMgr.delete(query, context);
    transactionSvc.respond(deleteRes(reqID));
}
Also used : Context(com.vaticle.typedb.core.common.parameters.Context) TypeQLDelete(com.vaticle.typeql.lang.query.TypeQLDelete)

Example 3 with TypeQLDelete

use of com.vaticle.typeql.lang.query.TypeQLDelete in project grakn by graknlabs.

the class QueryTest method test_query_delete.

@Test
public void test_query_delete() throws IOException {
    Util.resetDirectory(dataDir);
    try (TypeDB.DatabaseManager typedb = CoreDatabaseManager.open(options)) {
        typedb.create(database);
        try (TypeDB.Session session = typedb.session(database, Arguments.Session.Type.SCHEMA)) {
            try (TypeDB.Transaction transaction = session.transaction(Arguments.Transaction.Type.WRITE)) {
                TypeQLDefine query = TypeQL.parseQuery(new String(Files.readAllBytes(Paths.get("test/integration/schema.tql")), UTF_8));
                transaction.query().define(query);
                transaction.commit();
            }
        }
        try (TypeDB.Session session = typedb.session(database, Arguments.Session.Type.DATA)) {
            try (TypeDB.Transaction transaction = session.transaction(Arguments.Transaction.Type.WRITE)) {
                String insertString = "insert " + "$o isa organisation, has name 'vaticle'; " + "$t isa team, has name 'engineers', has symbol 'vaticle/engineers'; " + "$u isa user, has name 'butler', has email 'butler@vaticle.com'; " + "($o, $t) isa org-team; " + "($o, $u) isa org-member; " + "($t, $u) isa team-member;";
                TypeQLInsert insertQuery = TypeQL.parseQuery(insertString);
                transaction.query().insert(insertQuery);
                transaction.commit();
            }
            try (TypeDB.Transaction transaction = session.transaction(Arguments.Transaction.Type.WRITE)) {
                String deleteString = "match $x isa thing; delete $x isa thing;";
                TypeQLDelete deleteQuery = TypeQL.parseQuery(deleteString);
                transaction.query().delete(deleteQuery);
                transaction.commit();
            }
            try (TypeDB.Transaction transaction = session.transaction(Arguments.Transaction.Type.READ)) {
                String matchString = "match $x isa thing;";
                TypeQLMatch matchQuery = TypeQL.parseQuery(matchString);
                FunctionalIterator<ConceptMap> answers = transaction.query().match(matchQuery);
                assertFalse(answers.hasNext());
            }
        }
    }
}
Also used : TypeQLDefine(com.vaticle.typeql.lang.query.TypeQLDefine) TypeQLDelete(com.vaticle.typeql.lang.query.TypeQLDelete) TypeDB(com.vaticle.typedb.core.TypeDB) TypeQLInsert(com.vaticle.typeql.lang.query.TypeQLInsert) TypeQLMatch(com.vaticle.typeql.lang.query.TypeQLMatch) ConceptMap(com.vaticle.typedb.core.concept.answer.ConceptMap) Test(org.junit.Test)

Aggregations

TypeQLDelete (com.vaticle.typeql.lang.query.TypeQLDelete)3 TypeDB (com.vaticle.typedb.core.TypeDB)1 Context (com.vaticle.typedb.core.common.parameters.Context)1 ConceptMap (com.vaticle.typedb.core.concept.answer.ConceptMap)1 TypeQLDefine (com.vaticle.typeql.lang.query.TypeQLDefine)1 TypeQLInsert (com.vaticle.typeql.lang.query.TypeQLInsert)1 TypeQLMatch (com.vaticle.typeql.lang.query.TypeQLMatch)1 Given (io.cucumber.java.en.Given)1 Test (org.junit.Test)1