public override void CreateNodes(PolarTripleStore store) { foreach (var alternative in alternatives) { alternative.CreateNodes(store); sparqlResultSet.ResetDiapason(startVariable, alternative.endIndexVariable); } }
private IEnumerable <Action> Optional(Func <IEnumerable <Action> > graphSelector) { //var packBox = Enumerable.Repeat(pack, 1); // as RPackInt[] ?? packs.ToArray(); bool any = false; foreach (var rPackInt in graphSelector()) { yield return(rPackInt); if (!any) { any = true; } } if (!any) { yield return(() => sparqlResultSet.ResetDiapason(StartIndex, EndIndex)); } }