Exemple #1
0
 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));
     }
 }
Exemple #2
0
        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;
        }
Exemple #3
0
 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);
     }
 }
Exemple #4
0
        public bool Retract(Triple t)
        {
            bool previouslyAsserted = Asserted.Remove(t);

            if (_innerGraph.Retract(t))
            {
                if (!previouslyAsserted)
                {
                    Retracted.Add(t);
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #5
0
 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)));
 }
Exemple #6
0
 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)));
 }