public void Assert(IGraph graph) { foreach (var t in graph.Triples) { Asserted.Add(new Tuple <INode, INode, INode, Uri>(t.Subject, t.Predicate, t.Object, graph.BaseUri)); } }
public void Assert(INode subject, INode predicate, INode obj, Uri graph) { Asserted.Add(new Tuple <INode, INode, INode, Uri>(subject, predicate, obj, graph)); var t = new Triple(subject, predicate, obj, graph); if (_triplesBySubject.TryGetValue(subject, out var triples)) { triples.Add(t); } else { _triplesBySubject.Add(t.Subject, new List <Triple> { t }); } if (_triplesByObject.TryGetValue(obj, out var triples2)) { triples2.Add(t); } else { _triplesByObject.Add(t.Object, new List <Triple> { t }); } Flushed = false; }
public void AssertTriplesInserted(BaseTripleCollection tripleCollection, Uri graphIri) { foreach (var t in tripleCollection) { Asserted.Should().Contain(x => x.Item1.Equals(t.Subject) && x.Item2.Equals(t.Predicate) && x.Item3.Equals(t.Object) && x.Item4.Equals(graphIri), "Expected a quad ({0}, {1}, {2}, {3}) to have been asserted but no matching quad was found.", t.Subject, t.Predicate, t.Object, graphIri); } }
public bool Retract(Triple t) { bool previouslyAsserted = Asserted.Remove(t); if (_innerGraph.Retract(t)) { if (!previouslyAsserted) { Retracted.Add(t); } return(true); } else { return(false); } }
public IEnumerable <Triple> GetTriplesForSubject(INode subjectNode) { return(Asserted.Where(t => t.Item1.Equals(subjectNode)) .Select(t => new Triple(t.Item1, t.Item2, t.Item3, t.Item4))); }
public IEnumerable <Triple> GetTriplesForSubject(Uri subjectUri) { return(Asserted.Where(x => x.Item1 is IUriNode && ((IUriNode)x.Item1).Uri.Equals(subjectUri)) .Select(x => new Triple(x.Item1, x.Item2, x.Item3, x.Item4))); }