use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.
the class PathPatternPathTests method test_5.
/**
* Test 5.
*
* @throws RecognitionException the recognition exception
* @throws PathPatternException the path pattern exception
*/
@Test
@Order(5)
void test_5() throws RecognitionException, PathPatternException {
PathElement element = PathParser.parsePathPattern(repositoryContext, ":connectedTo{1,3}");
PathBinding pathBinding = new PathBinding();
pathBinding = element.visitPathBinding(pathBinding, 2);
assertEquals("[n0,http://default/connectedTo,n1_i1,DIRECT]\r\n" + "[n1_i1,http://default/connectedTo,n1_i2,DIRECT]\r\n" + "[n1_i2,http://default/connectedTo,n1,DIRECT]\r\n" + "", pathBinding.toString());
}
use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.
the class PathPatternPathTests method setUpBeforeClass.
/**
* Sets the up before class.
*
* @throws Exception the exception
*/
@BeforeAll
static void setUpBeforeClass() throws Exception {
repositoryContext = new RepositoryContext();
repositoryContext.getReifications().addReificationType(PathConstants.RDF_STATEMENT_IRI, PathConstants.RDF_SUBJECT_IRI, PathConstants.RDF_PREDICATE_IRI, PathConstants.RDF_OBJECT_IRI, null, null, null);
repositoryContext.getReifications().addReificationType(iri("http://default/Attribute"), PathConstants.RDF_SUBJECT_IRI, PathConstants.RDF_PREDICATE_IRI, PathConstants.RDF_OBJECT_IRI, PathConstants.RDF_ISSUBJECTOF_IRI, PathConstants.RDF_ISPREDICATEOF_IRI, PathConstants.RDF_ISOBJECTOF_IRI);
repositoryContext.getReifications().addReificationType(iri("http://default/Location"), PathConstants.RDF_SUBJECT_IRI, PathConstants.RDF_PREDICATE_IRI, PathConstants.RDF_OBJECT_IRI, null, null, null);
repositoryContext.prefix("http://default/").prefix("local", "http://local/").prefix("rdfs", "http://rdfs/").prefix("id", "http://id/").prefix("xsd", "http://www.w3.org/2001/XMLSchema#");
// thing = repositoryContext.getThing( "http://",null);
}
use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.
the class PathPatternQueryExpressionTests method test_39.
/**
* Test 39.
*/
@Test
@Order(39)
void test_39() {
try {
PathElement element = PathParser.parsePathPattern(repositoryContext, "^rdf:type[:hasHeight [ lt '1.7' ]]/:hasBMI");
// Query.assertEqualsWOSpaces
assertEquals("Join\r\n" + " Filter\r\n" + " Compare (<)\r\n" + " Variable (name=n0_1)\r\n" + " ValueConstant (value=\"1.7\")\r\n" + " Join\r\n" + " StatementPattern\r\n" + " Variable (name=n1)\r\n" + " Variable (name=p_n0_n1, value=http://rdf/type)\r\n" + " Variable (name=n0)\r\n" + " StatementPattern\r\n" + " Variable (name=n1)\r\n" + " Variable (name=p_n1_n0_1, value=http://default/hasHeight)\r\n" + " Variable (name=n0_1)\r\n" + " StatementPattern\r\n" + " Variable (name=n1)\r\n" + " Variable (name=p_n1_n2, value=http://default/hasBMI)\r\n" + " Variable (name=n2)\r\n" + "", element.pathPatternQuery().toString());
} catch (Exception e) {
assertEquals("", e.getMessage());
}
}
use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.
the class PathPatternQueryExpressionTests method test_15.
/**
* Test 15.
*/
@Test
@Order(15)
void test_15() {
try {
PathElement element = PathParser.parsePathPattern(repositoryContext, "^:hasProductBatteryLimit{1,}/:massThroughput");
// Query.assertEqualsWOSpaces
assertEquals("Join\r\n" + " StatementPattern\r\n" + " Variable (name=n1)\r\n" + " Variable (name=p_n0_n1, value=http://default/hasProductBatteryLimit)\r\n" + " Variable (name=n0)\r\n" + " StatementPattern\r\n" + " Variable (name=n1)\r\n" + " Variable (name=p_n1_n2, value=http://default/massThroughput)\r\n" + " Variable (name=n2)\r\n" + "", element.pathPatternQuery().toString());
} catch (Exception e) {
assertEquals("", e.getMessage());
}
}
use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.
the class PathPatternQueryExpressionTests method test_29_1.
@Test
@Order(29)
void test_29_1() {
try {
PathElement element = PathParser.parsePathPattern(repositoryContext, "[rdf:label [ like \"Unit\" ; a :Unit]]/:hasProductBatteryLimit");
// Query.assertEqualsWOSpaces
assertEquals(" Join\r\n" + " Filter\r\n" + " Regex\r\n" + " Var (name=b1)\r\n" + " ValueConstant (value=\"Unit1\")\r\n" + " Extension\r\n" + " Join\r\n" + " StatementPattern\r\n" + " Var (name=bind)\r\n" + " Var (name=_const_9285ccfc_uri, value=http://www.w3.org/2000/01/rdf-schema#label, anonymous)\r\n" + " Var (name=b1)\r\n" + " StatementPattern\r\n" + " Var (name=bind)\r\n" + " Var (name=_const_f5e5585a_uri, value=http://www.w3.org/1999/02/22-rdf-syntax-ns#type, anonymous)\r\n" + " Var (name=_const_3433d213_uri, value=http://defaultUnit, anonymous)\r\n" + " ExtensionElem (n0)\r\n" + " Var (name=bind)\r\n" + " StatementPattern\r\n" + " Var (name=n0)\r\n" + " Var (name=_const_eec771f2_uri, value=http://defaulthasProductBatteryLimit, anonymous)\r\n" + " Var (name=n1)\r\n" + "", element.pathPatternQuery().toString());
Query.assertEqualsWOSpaces("BIND(<http://default/Unit1> as ?n0)\n" + "", element.getLeftPathElement().toSPARQL());
} catch (Exception e) {
assertEquals("", e.getMessage());
}
}
Aggregations