예제 #1
0
        /// <summary>
        /// Builds a new difference store from this store and a given one
        /// </summary>
        public RDFMemoryStore DifferenceWith(RDFStore store)
        {
            RDFMemoryStore result = new RDFMemoryStore();

            if (store != null)
            {
                //Add difference quadruples
                foreach (RDFQuadruple q in this)
                {
                    if (!store.ContainsQuadruple(q))
                    {
                        result.AddQuadruple(q);
                    }
                }
            }
            else
            {
                //Add quadruples from this store
                foreach (RDFQuadruple q in this)
                {
                    result.AddQuadruple(q);
                }
            }
            return(result);
        }
예제 #2
0
        /// <summary>
        /// Builds a new intersection store from this store and a given one
        /// </summary>
        public RDFMemoryStore IntersectWith(RDFStore store)
        {
            RDFMemoryStore result = new RDFMemoryStore();

            if (store != null)
            {
                //Add intersection quadruples
                foreach (RDFQuadruple q in this)
                {
                    if (store.ContainsQuadruple(q))
                    {
                        result.AddQuadruple(q);
                    }
                }
            }
            return(result);
        }