Example #1
0
        public virtual IThingGraph Use(IGraph <IThing, ILink> source, IThingGraph sink)
        {
            var thingGraph = Use(source);

            if (thingGraph != null)
            {
                var things         = ExpandThings(thingGraph, source);
                var completeThings =
                    things.Distinct().CompletedThings(thingGraph)
                    .ToList();
                sink.AddRange(completeThings);
                foreach (var thing in completeThings.OfType <IStreamThing>())
                {
                    var data = thingGraph.ContentContainer.GetById(thing.Id);
                    sink.ContentContainer.Add(data);
                }
            }
            return(sink);
        }