Search in sources :

Example 21 with RepositoryContext

use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.

the class PathPatternQueryExpressionTests method test_12.

/**
 * Test 12.
 */
@Test
@Order(12)
void test_12() {
    try {
        PathElement element = PathParser.parsePathPattern(repositoryContext, ":Location@:appearsOn[eq id:Calc2Graph1]#");
        assertEquals("Join\r\n" + "   Join\r\n" + "      StatementPattern\r\n" + "         Variable (name=r1)\r\n" + "         Variable (name=subject1, value=http://www.w3.org/1999/02/22-rdf-syntax-ns#subject)\r\n" + "         Variable (name=n0)\r\n" + "      StatementPattern\r\n" + "         Variable (name=r1)\r\n" + "         Variable (name=property1, value=http://www.w3.org/1999/02/22-rdf-syntax-ns#predicate)\r\n" + "         Variable (name=p_n0_n1, value=http://default/appearsOn)\r\n" + "   StatementPattern\r\n" + "      Variable (name=r1)\r\n" + "      Variable (name=object1, value=http://www.w3.org/1999/02/22-rdf-syntax-ns#object)\r\n" + "      Variable (name=n1, value=http://id/Calc2Graph1)\r\n" + "", element.pathPatternQuery().toString());
    } catch (Exception e) {
        assertEquals("", e.getMessage());
    }
}
Also used : PathElement(com.inova8.pathql.element.PathElement) RecognitionException(org.antlr.v4.runtime.RecognitionException) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 22 with RepositoryContext

use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.

the class PathPatternQueryExpressionTests method test_16.

/**
 * Test 16.
 */
@Test
@Order(16)
void test_16() {
    try {
        PathElement element = PathParser.parsePathPattern(repositoryContext, "(^:hasProductBatteryLimit/:massThroughput){1,2}");
        // 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());
    }
}
Also used : PathElement(com.inova8.pathql.element.PathElement) RecognitionException(org.antlr.v4.runtime.RecognitionException) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 23 with RepositoryContext

use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.

the class PathPatternQueryExpressionTests method test_25.

/**
 * Test 25.
 */
@Test
@Order(25)
void test_25() {
    try {
        PathElement element = PathParser.parsePathPattern(repositoryContext, "^:hasProductBatteryLimit/(:temp | (:massFlow |! :volumeFlow  |! :density))");
        // 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" + "   Union\r\n" + "      StatementPattern\r\n" + "         Variable (name=n1)\r\n" + "         Variable (name=p_n1_n2_alt_L, value=http://default/temp)\r\n" + "         Variable (name=n2)\r\n" + "      Union\r\n" + "         Union\r\n" + "            StatementPattern\r\n" + "               Variable (name=n1)\r\n" + "               Variable (name=p_n1_n2_alt_LRLL, value=http://default/massFlow)\r\n" + "               Variable (name=n2)\r\n" + "            StatementPattern\r\n" + "               Variable (name=n1)\r\n" + "               Variable (name=p1_2)\r\n" + "               Variable (name=n2)\r\n" + "         StatementPattern\r\n" + "            Variable (name=n1)\r\n" + "            Variable (name=p1_2)\r\n" + "            Variable (name=n2)\r\n" + "", element.pathPatternQuery().toString());
    } catch (Exception e) {
        assertEquals("", e.getMessage());
    }
}
Also used : PathElement(com.inova8.pathql.element.PathElement) RecognitionException(org.antlr.v4.runtime.RecognitionException) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 24 with RepositoryContext

use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.

the class PathPatternQueryExpressionTests method test_26.

/**
 * Test 26.
 */
@Test
@Order(26)
void test_26() {
    try {
        /**
         ************************************************Negation not yet supported
         */
        PathElement element = PathParser.parsePathPattern(repositoryContext, "^:hasProductBatteryLimit/(* | !(:massFlow |:volumeFlow  |:density))");
        // 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" + "   Union\r\n" + "      StatementPattern\r\n" + "         Variable (name=n1)\r\n" + "         Variable (name=p_n1_n2_alt_L)\r\n" + "         Variable (name=n2)\r\n" + "      Union\r\n" + "         Union\r\n" + "            StatementPattern\r\n" + "               Variable (name=n1)\r\n" + "               Variable (name=p_n1_n2_alt_LRLL, value=http://default/massFlow)\r\n" + "               Variable (name=n2)\r\n" + "            StatementPattern\r\n" + "               Variable (name=n1)\r\n" + "               Variable (name=p_n1_n2_alt_LRLLR, value=http://default/volumeFlow)\r\n" + "               Variable (name=n2)\r\n" + "         StatementPattern\r\n" + "            Variable (name=n1)\r\n" + "            Variable (name=p_n1_n2_alt_LRLR, value=http://default/density)\r\n" + "            Variable (name=n2)\r\n" + "", element.pathPatternQuery().toString());
    } catch (Exception e) {
        assertEquals("", e.getMessage());
    }
}
Also used : PathElement(com.inova8.pathql.element.PathElement) RecognitionException(org.antlr.v4.runtime.RecognitionException) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Example 25 with RepositoryContext

use of com.inova8.pathql.context.RepositoryContext in project com.inova8.intelligentgraph by peterjohnlawrence.

the class PathPatternQueryExpressionTests method test_19.

/**
 * Test 19.
 */
@Test
@Order(19)
void test_19() {
    try {
        PathElement element = PathParser.parsePathPattern(repositoryContext, "(^:hasProductBatteryLimit/:massThroughput){1, 2}/*");
        // Query.assertEqualsWOSpaces
        assertEquals("Join\r\n" + "   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" + "   StatementPattern\r\n" + "      Variable (name=n2)\r\n" + "      Variable (name=p_n2_n3)\r\n" + "      Variable (name=n3)\r\n" + "", element.pathPatternQuery().toString());
    } catch (Exception e) {
        assertEquals("", e.getMessage());
    }
}
Also used : PathElement(com.inova8.pathql.element.PathElement) RecognitionException(org.antlr.v4.runtime.RecognitionException) TestMethodOrder(org.junit.jupiter.api.TestMethodOrder) Order(org.junit.jupiter.api.Order) Test(org.junit.jupiter.api.Test)

Aggregations

PathElement (com.inova8.pathql.element.PathElement)116 Order (org.junit.jupiter.api.Order)110 Test (org.junit.jupiter.api.Test)110 TestMethodOrder (org.junit.jupiter.api.TestMethodOrder)110 RecognitionException (org.antlr.v4.runtime.RecognitionException)78 PathPatternException (com.inova8.pathql.processor.PathPatternException)26 PathTupleExpr (com.inova8.intelligentgraph.path.PathTupleExpr)10 PathPatternVisitor (com.inova8.pathql.processor.PathPatternVisitor)8 RepositoryContext (com.inova8.pathql.context.RepositoryContext)7 Iterations (com.inova8.pathql.element.Iterations)7 PathPatternLexer (com.inova8.pathql.pathPattern.PathPatternLexer)7 PathPatternParser (com.inova8.pathql.pathPattern.PathPatternParser)7 CommonTokenStream (org.antlr.v4.runtime.CommonTokenStream)7 BeforeAll (org.junit.jupiter.api.BeforeAll)7 PathBinding (com.inova8.intelligentgraph.path.PathBinding)5 PathPatternContext (com.inova8.pathql.pathPattern.PathPatternParser.PathPatternContext)4 CharStream (org.antlr.v4.runtime.CharStream)4 PathErrorListener (com.inova8.pathql.processor.PathErrorListener)2 IriRefValueElement (com.inova8.pathql.element.IriRefValueElement)1 PredicateElement (com.inova8.pathql.element.PredicateElement)1