use of ai.grakn.GraknTx in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingSub.
@Test
public void testReasoningWithQueryContainingSub() {
GraknTx graph = nonMaterialisedGeoKB.tx();
String queryString = "match " + "$x isa $type;$type sub geoObject;" + "(geo-entity: $x, entity-location: $y) isa is-located-in; $y isa country;" + "$y has name 'Poland';" + "$x has name $name; get;";
String queryString2 = "match " + "$x isa $type;{$type label 'region';} or {$type label 'city';} or {$type label 'geoObject';};" + "(geo-entity: $x, entity-location: $y) isa is-located-in;$y isa country;" + "$y has name 'Poland';" + "$x has name $name; get;";
QueryBuilder iqb = graph.graql().infer(true);
GetQuery query = iqb.parse(queryString);
GetQuery query2 = iqb.parse(queryString2);
assertQueriesEqual(query, query2);
}
use of ai.grakn.GraknTx in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingTautology.
@Test
public void testReasoningWithQueryContainingTautology() {
GraknTx graph = nonMaterialisedGeoKB.tx();
String queryString = "match ($x, $y) isa is-located-in;city sub geoObject; get;";
String queryString2 = "match ($x, $y) isa is-located-in; get;";
QueryBuilder iqb = graph.graql().infer(true);
GetQuery query = iqb.parse(queryString);
GetQuery query2 = iqb.parse(queryString2);
assertQueriesEqual(query, query2);
}
use of ai.grakn.GraknTx in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingTypeHas.
@Test
public void testReasoningWithQueryContainingTypeHas() {
GraknTx graph = nonMaterialisedGeoKB.tx();
String queryString = "match $x isa $type;$type has name;$y isa country;$y has name 'Poland';" + "($x, $y) isa is-located-in;get $x, $y;";
String queryString2 = "match $y isa country;$y has name 'Poland';" + "($x, $y) isa is-located-in; get;";
QueryBuilder iqb = graph.graql().infer(true);
GetQuery query = iqb.parse(queryString);
GetQuery query2 = iqb.parse(queryString2);
assertQueriesEqual(query, query2);
}
use of ai.grakn.GraknTx in project grakn by graknlabs.
the class ReasonerTest method testReasoningWithQueryContainingContradiction.
@Test
public void testReasoningWithQueryContainingContradiction() {
GraknTx graph = nonMaterialisedGeoKB.tx();
// geoObject sub city always returns an empty set
String queryString = "match ($x, $y) isa is-located-in;geoObject sub city; get;";
QueryBuilder iqb = graph.graql().infer(true);
List<Answer> answers = iqb.<GetQuery>parse(queryString).execute();
assertThat(answers, empty());
}
use of ai.grakn.GraknTx in project grakn by graknlabs.
the class OntologicalQueryTest method allInstancesOfTypesThatCanHaveAGivenResourceType.
/**
* HasAtom *
*/
@Test
public void allInstancesOfTypesThatCanHaveAGivenResourceType() {
GraknTx tx = testContext.tx();
QueryBuilder qb = tx.graql().infer(true);
String queryString = "match $x isa $type; $type has name; get;";
List<Answer> answers = qb.<GetQuery>parse(queryString).execute();
// 1 x noRoleEntity + 3 x 3 (hierarchy) anotherTwoRoleEntities
assertEquals(answers.size(), 10);
assertCollectionsEqual(answers, qb.infer(false).<GetQuery>parse(queryString).execute());
}
Aggregations