Exemple #1
0
        //// Идея хорошая, но надо менять схему реализации
        //private GroupedEntities getable;
        //private Dictionary<string, object[]> geHash;

        public TripleStore(string path)
        {
            this.path = path;
            InitTypes();

            otriples    = new PaCell(tp_otriple_seq, path + "otriples.pac", false);
            otriples_op = new PaCell(tp_otriple_seq, path + "otriples_op.pac", false);
            dtriples    = new PaCell(tp_dtriple_seq, path + "dtriples.pac", false);
            dtriples_sp = new PaCell(tp_dtriple_spf, path + "dtriples_spf.pac", false);
            oscale      = new PaCell(new PTypeSequence(new PType(PTypeEnumeration.integer)), path + "oscale.pac", false);
            if (!oscale.IsEmpty)
            {
                CalculateRange();
            }
            if (!otriples.IsEmpty)
            {
                OpenCreateIndexes();
            }
            ewt = new EntitiesWideTable(path, new[]
            {
                new DiapasonScanner <string>(otriples, ent => (string)((object[])ent.Get())[0]),
                new DiapasonScanner <string>(otriples_op, ent => (string)((object[])ent.Get())[2]),
                new DiapasonScanner <string>(dtriples_sp, ent => (string)((object[])ent.Get())[0])
            });
            ewtHash = new EntitiesMemoryHashTable(ewt);
            ewtHash.Load();


            //getable = new GroupedEntities(path); // Это хорошая идея, но нужно менять схему реализации
            //getable.CheckGroupedEntities();
            //geHash = getable.GroupedEntitiesHash();
        }
 public EntitiesMemoryHashTable(EntitiesWideTable entites)
 {
     this.entites = entites;
 }