public IEnumerable <SparqlResult> spoVarGraphs(ObjectVariants subjectNode, ObjectVariants predicateNode, ObjectVariants objectNode, SparqlResult variablesBindings, VariableDataSet graphs) { return((graphs.Any() ? graphs.Where(g => store.NamedGraphs.Contains(subjectNode, predicateNode, objectNode, g)) : store.NamedGraphs.GetGraph(subjectNode, predicateNode, objectNode)) .Select(g => variablesBindings.Add(g, graphs.Variable))); }
public IEnumerable <SparqlResult> SpOVarGraphs(VariableNode sVar, ObjectVariants predicate, VariableNode oVar, SparqlResult variablesBindings, VariableDataSet graphs) { if (graphs.Any()) { return (graphs.SelectMany(g => store.NamedGraphs.GetTriplesWithPredicateFromGraph(predicate, g, (s, o) => variablesBindings.Add(s, sVar, o, oVar, g, graphs.Variable)))); } else { return(store.NamedGraphs.GetTriplesWithPredicate(predicate, (s, o, g) => variablesBindings.Add(s, sVar, o, oVar, g, graphs.Variable))); } }
public IEnumerable <SparqlResult> SPoVarGraphs(VariableNode subj, VariableNode pred, ObjectVariants obj, SparqlResult variablesBindings, VariableDataSet variableDataSet) { if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => store .NamedGraphs .GetTriplesWithObjectFromGraph(obj, g, (s, p) => variablesBindings.Add(p, pred, s, subj, g, variableDataSet.Variable)))); } return(store .NamedGraphs .GetTriplesWithObject(obj, (s, p, g) => variablesBindings.Add(p, pred, s, subj, g, variableDataSet.Variable))); }
public IEnumerable <SparqlResult> sPoVarGraphs(ObjectVariants subj, VariableNode pred, ObjectVariants obj, SparqlResult variablesBindings, VariableDataSet variableDataSet) { if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => store.NamedGraphs.GetPredicate(subj, obj, g) .Select(p => variablesBindings.Add(p, pred, g, variableDataSet.Variable)))); } else { return(store .NamedGraphs .GetTriplesWithSubjectObject(subj, obj, (p, g) => variablesBindings.Add(p, pred, g, variableDataSet.Variable))); } }
public IEnumerable <SparqlResult> SPOVarGraphs(VariableNode subj, VariableNode predicate, VariableNode obj, SparqlResult variablesBindings, VariableDataSet variableDataSet) { if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => store .NamedGraphs .GetTriplesFromGraph(g, (s, p, o) => variablesBindings.Add(s, subj, p, predicate, o, obj, g, variableDataSet.Variable)))); } return(store .NamedGraphs .GetAll((s, p, o, g) => variablesBindings.Add(s, subj, p, predicate, o, obj, g, variableDataSet.Variable))); }
public IEnumerable <SparqlResult> SpoVarGraphs(VariableNode subj, ObjectVariants predicateNode, ObjectVariants objectNode, SparqlResult variablesBindings, VariableDataSet variableDataSet) { if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => store .NamedGraphs .GetSubject(predicateNode, objectNode, g) .Select(s => variablesBindings.Add(s, subj, g, variableDataSet.Variable)))); } else { return(store .NamedGraphs .GetTriplesWithPredicateObject(predicateNode, objectNode, (s, g) => variablesBindings.Add(s, subj, g, variableDataSet.Variable))); } }
// from merged named graphs public IEnumerable <SparqlResult> spOVarGraphs(ObjectVariants subjNode, ObjectVariants predicateNode, VariableNode obj, SparqlResult variablesBindings, VariableDataSet variableDataSet) { if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => store .NamedGraphs .GetObject(subjNode, predicateNode, g) .Select(o => variablesBindings.Add(o, obj, g, variableDataSet.Variable)))); } else { return(store .NamedGraphs .GetTriplesWithSubjectPredicate(subjNode, predicateNode, ((o, g) => variablesBindings.Add(o, obj, g, variableDataSet.Variable)))); } // if graphVariable is null, ctor check this. }
private IEnumerable <SparqlResult> SetVariablesValues(SparqlResult variableBinding, StoreCallCase @case) { switch (@case) { case StoreCallCase.spo: return(spo(Subject, Predicate, Object, variableBinding)); case StoreCallCase.spO: return(q.Store.GetTriplesWithSubjectPredicate(Subject, Predicate).Select(o => variableBinding.Add(o, oVariableNode))); case StoreCallCase.sPo: return(q.Store.GetTriplesWithSubjectObject(Subject, Object).Select(p => variableBinding.Add(p, pVariableNode))); case StoreCallCase.sPO: return(q.Store.GetTriplesWithSubject(Subject).Select(t => SetValues(variableBinding, t))); case StoreCallCase.Spo: return(q.Store.GetSubjects(Predicate, Object).Select(s => variableBinding.Add(s, sVariableNode))); case StoreCallCase.SpO: return(q.Store.GetTriplesWithPredicate(Predicate).Select(t => SetValues(variableBinding, t))); case StoreCallCase.SPo: return(q.Store.GetTriplesWithObject(Object).Select(t => SetValues(variableBinding, t))); case StoreCallCase.SPO: return(q.Store.GetTriples((s, p, o) => variableBinding.Add(s, sVariableNode, p, pVariableNode, o, oVariableNode))); case StoreCallCase.gspo: return(spoGraphs(variableBinding)); case StoreCallCase.gspO: return(graphs.SelectMany(graph => q.Store.NamedGraphs .GetObject(Subject, Predicate, graph) .Select(o => variableBinding.Add(o, oVariableNode)))); case StoreCallCase.gsPo: return(graphs.SelectMany(graph => q.Store.NamedGraphs .GetPredicate(Subject, Object, graph) .Select(p => variableBinding.Add(p, pVariableNode)))); case StoreCallCase.gsPO: return(graphs.SelectMany(g => q.Store .NamedGraphs .GetTriplesWithSubjectFromGraph(Subject, g) .Select(quad => SetValues(variableBinding, quad)))); case StoreCallCase.gSpo: return(graphs.SelectMany(graph => q.Store.NamedGraphs .GetSubject(Predicate, Object, graph) .Select(s => variableBinding.Add(s, sVariableNode)))); case StoreCallCase.gSpO: return(graphs.SelectMany(g => q.Store .NamedGraphs .GetTriplesWithPredicateFromGraph(Predicate, g) .Select(quad => SetValues(variableBinding, quad)))); case StoreCallCase.gSPo: return(graphs.SelectMany(g => q.Store .NamedGraphs .GetTriplesWithObjectFromGraph(Object, g) .Select(quad => SetValues(variableBinding, quad)))); case StoreCallCase.gSPO: return(graphs.SelectMany(g => q.Store.NamedGraphs.GetTriplesFromGraph(g, (s, p, o) => variableBinding.Add(s, sVariableNode, p, pVariableNode, o, oVariableNode)))); case StoreCallCase.Gspo: return((variableDataSet.Any() ? variableDataSet.Where(g => q.Store.NamedGraphs.Contains(Subject, Predicate, Object, g)) : q.Store.NamedGraphs.GetGraph(Subject, Predicate, Object)) .Select(g => variableBinding.Add(g, variableDataSet.Variable))); case StoreCallCase.GspO: if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => q.Store .NamedGraphs .GetObject(Subject, Predicate, g) .Select(o => variableBinding.Add(o, oVariableNode, g, variableDataSet.Variable)))); } else { return(q.Store .NamedGraphs .GetTriplesWithSubjectPredicate(Subject, Predicate) .Select(quad => SetValues(variableBinding, quad))); } // if graphVariable is null, ctor check this. case StoreCallCase.GsPo: if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => q.Store.NamedGraphs.GetPredicate(Subject, Object, g) .Select(p => variableBinding.Add(p, pVariableNode, g, variableDataSet.Variable)))); } else { return(q.Store .NamedGraphs .GetTriplesWithSubjectObject(Subject, Object) .Select(quad => SetValues(variableBinding, quad))); } case StoreCallCase.GsPO: if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => q.Store .NamedGraphs .GetTriplesWithSubjectFromGraph(Subject, g) .Select(quad => SetValues(variableBinding, quad)))); } else { return(q.Store .NamedGraphs .GetTriplesWithSubject(Subject) .Select(quad => SetValues(variableBinding, quad))); } case StoreCallCase.GSpo: if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => q.Store .NamedGraphs .GetSubject(Predicate, Object, g) .Select(s => variableBinding.Add(s, sVariableNode, g, variableDataSet.Variable)))); } else { return(q.Store .NamedGraphs .GetTriplesWithPredicateObject(Predicate, Object) .Select(quad => SetValues(variableBinding, quad))); } case StoreCallCase.GSpO: ObjectVariants predicate = Predicate; if (variableDataSet.Any()) { return (variableDataSet.SelectMany( g => q.Store.NamedGraphs.GetTriplesWithPredicateFromGraph(predicate, g) .Select(quad => SetValues(variableBinding, quad)))); } else { return(q.Store.NamedGraphs.GetTriplesWithPredicate(predicate) .Select(quad => SetValues(variableBinding, quad))); } case StoreCallCase.GSPo: if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => q.Store .NamedGraphs .GetTriplesWithObjectFromGraph(Object, g)) .Select(quad => SetValues(variableBinding, quad))); } return(q.Store .NamedGraphs .GetTriplesWithObject(Object) .Select(quad => SetValues(variableBinding, quad))); case StoreCallCase.GSPO: if (variableDataSet.Any()) { return(variableDataSet.SelectMany(g => q.Store .NamedGraphs .GetTriplesFromGraph(g, (s, p, o) => variableBinding.Add(s, sVariableNode, p, pVariableNode, o, oVariableNode, g, variableDataSet.Variable)))); } return(q.Store .NamedGraphs .GetAll((s, p, o, g) => variableBinding.Add(s, sVariableNode, p, pVariableNode, o, oVariableNode, g, variableDataSet.Variable))); default: throw new ArgumentOutOfRangeException("case"); } }