public void SingleStatementPlusUnmatchableOptionalStatementWithVariable() { MemoryTripleStore statements = new MemoryTripleStore(); statements.Add(new Statement(new UriRef("ex:s"), new UriRef("ex:p"), new UriRef("ex:o"))); SimpleQueryBuilder builder = new SimpleQueryBuilder(); builder.AddPattern(new Pattern(new Variable("v"), new UriRef("ex:p"), new UriRef("ex:o"))); builder.AddOptional(new Pattern(new Variable("v"), new UriRef("ex:p2"), new Variable("o"))); Query query = builder.GetQuery(); QuerySqlMapper mapper = new QuerySqlMapper(query, statements); string expected = "SELECT rn_v.resourceHash rh_v, rn_v.nodeHash nh_v, rn_v.nodeType nt_v, u_v.uri val_v, NULL sub_v, NULL rh_o, NULL nh_o, NULL nt_o, NULL val_o, NULL sub_o " + "FROM Statements s1 JOIN ResourceNodes rn_v ON rn_v.resourceHash=s1.subjectHash AND rn_v.graphId=s1.graphId " + "LEFT OUTER JOIN UriRefs u_v ON rn_v.nodeHash=u_v.hash AND rn_v.nodeType='u' " + "WHERE s1.predicateHash=" + statements.GetResourceDenotedBy(new UriRef("ex:p")).GetHashCode() + " AND s1.objectHash=" + statements.GetResourceDenotedBy(new UriRef("ex:o")).GetHashCode() + " AND s1.graphId=" + statements.GetHashCode(); Assert.AreEqual(expected, mapper.Sql); }
public void ConstraintBound() { MemoryTripleStore statements = new MemoryTripleStore(); statements.Add(new Statement(new UriRef("ex:s"), new UriRef("ex:p"), new UriRef("ex:o"))); SimpleQueryBuilder builder = new SimpleQueryBuilder(); builder.AddPattern(new Pattern(new UriRef("ex:s"), new UriRef("ex:p"), new Variable("v"))); builder.AddConstraint(new Constraint(new Bound(new Variable("v")))); Query query = builder.GetQuery(); QuerySqlMapper mapper = new QuerySqlMapper(query, statements); string expected = "SELECT rn_v.resourceHash rh_v, rn_v.nodeHash nh_v, rn_v.nodeType nt_v, COALESCE(u_v.uri, pl_v.value, l_v.value) val_v, COALESCE(tl_v.value, t_v.value) sub_v " + "FROM Statements s1 JOIN ResourceNodes rn_v ON rn_v.resourceHash=s1.objectHash AND rn_v.graphId=s1.graphId " + "LEFT OUTER JOIN UriRefs u_v ON rn_v.nodeHash=u_v.hash AND rn_v.nodeType='u' " + "LEFT OUTER JOIN PlainLiterals pl_v ON rn_v.nodeHash=pl_v.hash AND rn_v.nodeType='p' " + "LEFT OUTER JOIN Languages l_v ON pl_v.languageHash=l_v.hash " + "LEFT OUTER JOIN TypedLiterals tl_v ON rn_v.nodehash=tl_v.hash AND rn_v.nodeType='t' " + "LEFT OUTER JOIN DataTypes t_v ON tl_v.datatypeHash=t_v.hash " + "WHERE s1.subjectHash=" + statements.GetResourceDenotedBy(new UriRef("ex:s")).GetHashCode() + " AND s1.predicateHash=" + statements.GetResourceDenotedBy(new UriRef("ex:p")).GetHashCode() + " AND s1.graphId=" + statements.GetHashCode() + " AND s1.objectHash IS NOT NULL"; Assert.AreEqual(expected, mapper.Sql); }
public void SingleStatementTwoVariables() { MemoryTripleStore statements = new MemoryTripleStore(); statements.Add(new Statement(new UriRef("ex:s"), new UriRef("ex:p"), new UriRef("ex:o"))); SimpleQueryBuilder builder = new SimpleQueryBuilder(); builder.AddPattern(new Pattern(new Variable("s"), new UriRef("ex:p"), new Variable("o"))); Query query = builder.GetQuery(); QuerySqlMapper mapper = new QuerySqlMapper(query, statements); string expected = "SELECT rn_s.resourceHash rh_s, rn_s.nodeHash nh_s, rn_s.nodeType nt_s, u_s.uri val_s, NULL sub_s, rn_o.resourceHash rh_o, rn_o.nodeHash nh_o, rn_o.nodeType nt_o, COALESCE(u_o.uri, pl_o.value, l_o.value) val_o, COALESCE(tl_o.value, t_o.value) sub_o " + "FROM Statements s1 JOIN ResourceNodes rn_s ON rn_s.resourceHash=s1.subjectHash AND rn_s.graphId=s1.graphId " + "LEFT OUTER JOIN UriRefs u_s ON rn_s.nodeHash=u_s.hash AND rn_s.nodeType='u' " + "JOIN ResourceNodes rn_o ON rn_o.resourceHash=s1.objectHash AND rn_o.graphId=s1.graphId " + "LEFT OUTER JOIN UriRefs u_o ON rn_o.nodeHash=u_o.hash AND rn_o.nodeType='u' " + "LEFT OUTER JOIN PlainLiterals pl_o ON rn_o.nodeHash=pl_o.hash AND rn_o.nodeType='p' " + "LEFT OUTER JOIN Languages l_o ON pl_o.languageHash=l_o.hash " + "LEFT OUTER JOIN TypedLiterals tl_o ON rn_o.nodehash=tl_o.hash AND rn_o.nodeType='t' " + "LEFT OUTER JOIN DataTypes t_o ON tl_o.datatypeHash=t_o.hash " + "WHERE s1.predicateHash=" + statements.GetResourceDenotedBy(new UriRef("ex:p")).GetHashCode() + " AND s1.graphId=" + statements.GetHashCode(); Assert.AreEqual(expected, mapper.Sql); }
//ACC000_00_01 public static async Task <NksResponse> Access_000_00_01() { SimpleQueryBuilder builder = Nks.NewConnection(Server).PrepareRequest().Access().Element() .CreateSimpleQuery() .AddTargets().Interventions().Done().Done() .AddConcept(BasicEntries.InterventionsStructure).Done() .SetOrder().List(); Console.Out.WriteLine(builder.GetPath()); new NksJson().Display(builder.GetQuery()); return(await builder.Execute()); }
public void NoPatterns() { MemoryTripleStore statements = new MemoryTripleStore(); statements.Add(new Statement(new UriRef("ex:s"), new UriRef("ex:p"), new UriRef("ex:o"))); SimpleQueryBuilder builder = new SimpleQueryBuilder(); Query query = builder.GetQuery(); QuerySqlMapper mapper = new QuerySqlMapper(query, statements); Assert.AreEqual(false, mapper.IsFeasible); }
public static async Task <NksResponse> ACC_000_03() { SimpleQueryBuilder builder = Nks.NewConnection(Server).PrepareRequest().Search().Proposal() .CreateSimpleQuery() .AddTargets() .Interventions().AddStructure("AkutPflege_").Done() .InterventionsBundle().AddStructure("AkutPflege_").Done() .Done() .SetDepth(7) .SetSearchText("Verba"); Console.Out.WriteLine(builder.GetPath()); new NksJson().Display(builder.GetQuery()); return(await builder.Execute()); }
public static async Task <NksResponse> ACC_000_07() { SimpleQueryBuilder builder = Nks.NewConnection(Server).PrepareRequest().Access().Element() .CreateSimpleQuery() .AddTargets() .BodyLocations().AddStructure("AkutPflege_").Done() .BodyLocationsStructure().AddStructure("AkutPflege_").Done() .Done() .AddConcept("BF75").Done() .SetOrder().List() .SetDepth(1); new NksJson().Display(builder.GetQuery()); return(await builder.Execute()); }
public static async Task <NksResponse> ACC_000_06() { SimpleQueryBuilder builder = Nks.NewConnection(Server).PrepareRequest().Search().Catalog() .CreateSimpleQuery() .AddTargets() .Interventions().AddStructure("AkutPflege_").Done() .InterventionsBundle().AddStructure("AkutPflege_").Done() .Done() .AddAttributes() .Aged() .Female() .Done() .AddConcept("TA11.0").Done() .SetSearchText("Oberfl") .SetDepth(20); new NksJson().Display(builder.GetQuery()); return(await builder.Execute()); }
public static async Task <NksResponse> ACC_000_02() { SimpleQueryBuilder builder = Nks.NewConnection(Server).PrepareRequest().Search().AdHocIntervention() .CreateSimpleQuery() .AddTargets() .Interventions().AddStructure("AkutPflege_").Done() .InterventionsBundle().AddStructure("AkutPflege_").Done() .Done() .AddConcept("PC1115").Done() .AddConcept("TA2.0").Done() .AddConcept("UA0").Done() .AddConcept("BA293").Done() .AddConcept("PA50").Done() .SetDepth(10); Console.Out.WriteLine(builder.GetPath()); new NksJson().Display(builder.GetQuery()); return(await builder.Execute()); }
public async static void Workflow_001() { Nks nks = Nks.NewConnection(Server); SimpleQueryBuilder phenomenonsRequest = nks.PrepareRequest().Search().Catalog() .CreateSimpleQuery() .AddTargets().Phenomenons().Done().Done() .SetSearchText("Zustand") .DefineTemplate().PhenomenonsTemplate().Done(); NksResponse shapes = await phenomenonsRequest.Execute(); new NksJson().Display(phenomenonsRequest.GetQuery()); NksEntry shape = shapes.Elements[0]; new NksJson().Display(shape); SimpleQueryBuilder linkRequest = nks.PrepareRequest().Search().Link() .CreateSimpleQuery() .AddConcept(shape) .AddConcept("IA123").AddStructure("Blub").SetDomain("welt").Done() .AddTargets().Causes().Done().Done(); NksResponse causes = await linkRequest.Execute(); NksEntry cause = causes.Elements[1]; SimpleQueryBuilder interventionRequest = nks.PrepareRequest().Search().Link() .CreateSimpleQuery() .AddConcept(cause).AddConcept(shape) .AddTargets().Interventions().Done().Done(); NksResponse interventions = await interventionRequest.Execute(); //new NksJson().Display(interventions); SimpleQueryBuilder correlationRequest = nks.PrepareRequest().Search().Correlation() .CreateSimpleQuery() .AddConcept(cause) .AddTargets().Causes().Done().Done(); //causes }
public void SingleStatementPlusMultipleOptionalStatementsInOneGroup() { MemoryTripleStore statements = new MemoryTripleStore(); statements.Add(new Statement(new UriRef("ex:s"), new UriRef("ex:p"), new UriRef("ex:o"))); statements.Add(new Statement(new UriRef("ex:s"), new UriRef("ex:p2"), new UriRef("ex:o2"))); SimpleQueryBuilder builder = new SimpleQueryBuilder(); builder.AddPattern(new Pattern(new Variable("v"), new UriRef("ex:p"), new UriRef("ex:o"))); builder.AddOptional(new Pattern(new Variable("v"), new Variable("p"), new UriRef("ex:o2"))); builder.AddOptional(new Pattern(new Variable("v"), new Variable("p"), new UriRef("ex:o"))); Query query = builder.GetQuery(); QuerySqlMapper mapper = new QuerySqlMapper(query, statements); string expected = "SELECT rn_v.resourceHash rh_v, rn_v.nodeHash nh_v, rn_v.nodeType nt_v, u_v.uri val_v, NULL sub_v, rn_p.resourceHash rh_p, rn_p.nodeHash nh_p, rn_p.nodeType nt_p, u_p.uri val_p, NULL sub_p " + "FROM Statements s1 " + "LEFT OUTER JOIN Statements s2" + " ON s2.subjectHash=s1.subjectHash" + " AND s2.objectHash=" + statements.GetResourceDenotedBy(new UriRef("ex:o2")).GetHashCode() + " AND s2.graphId=" + statements.GetHashCode() + " JOIN Statements s3" + " ON s3.subjectHash=s2.subjectHash" + " AND s3.predicateHash=s2.predicateHash" + " AND s3.objectHash=" + statements.GetResourceDenotedBy(new UriRef("ex:o")).GetHashCode() + " AND s3.graphId=" + statements.GetHashCode() + " JOIN ResourceNodes rn_v ON rn_v.resourceHash=s1.subjectHash AND rn_v.graphId=s1.graphId " + "LEFT OUTER JOIN UriRefs u_v ON rn_v.nodeHash=u_v.hash AND rn_v.nodeType='u' " + "JOIN ResourceNodes rn_p ON rn_p.resourceHash=s2.predicateHash AND rn_p.graphId=s2.graphId " + "LEFT OUTER JOIN UriRefs u_p ON rn_p.nodeHash=u_p.hash AND rn_p.nodeType='u' " + "WHERE s1.predicateHash=" + statements.GetResourceDenotedBy(new UriRef("ex:p")).GetHashCode() + " AND s1.objectHash=" + statements.GetResourceDenotedBy(new UriRef("ex:o")).GetHashCode() + " AND s1.graphId=" + statements.GetHashCode(); Assert.AreEqual(expected, mapper.Sql); }