public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args.Length < 4)
            {
                return;
            }

            var vm = new Ngram1LayerSelectiveViewModel
            {
                Selection         = selection,
                NGramSize         = int.Parse(args[0]),
                LayerDisplayname  = args[1],
                NGramMinFrequency = int.Parse(args[2])
            };

            var queries = args.ToList();

            queries.RemoveAt(0);
            queries.RemoveAt(0);
            queries.RemoveAt(0);

            if (queries.Count == 1 && queries[0].StartsWith("FILE:"))
            {
                vm.LayerQueries = File.ReadAllLines(queries[0].Replace("FILE:", ""), Configuration.Encoding);
            }
            else
            {
                vm.LayerQueries = queries;
            }

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var columns = selection.GetDocumentMetadataPrototypeOnlyPropertiesAndTypes();

            if (columns.ContainsKey(Resources.Guid))
            {
                columns.Remove(Resources.Guid);
            }

            var dt = new DataTable();

            dt.Columns.Add(Resources.Guid, typeof(string));
            foreach (var column in columns)
            {
                dt.Columns.Add(column.Key, column.Value);
            }

            dt.BeginLoadData();
            foreach (var pair in selection.DocumentMetadata)
            {
                var items = new List <object> {
                    pair.Key.ToString("N")
                };
                items.AddRange(columns.Select(column => pair.Value.ContainsKey(column.Key) ? pair.Value[column.Key] : null));
                dt.Rows.Add(items.ToArray());
            }

            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length != 1)
            {
                return;
            }

            var guid = Guid.Parse(args[0]);

            if (!selection.ContainsDocument(guid))
            {
                return;
            }

            var columns = selection.GetDocumentMetadata(guid);

            var dt = new DataTable();

            dt.Columns.Add(Resources.Category, typeof(string));
            dt.Columns.Add(Resources.Value, typeof(string));

            dt.BeginLoadData();
            dt.Rows.Add(Resources.Guid, args[0]);
            foreach (var pair in columns)
            {
                dt.Rows.Add(pair.Key, pair.Value.ToString());
            }

            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
Exemple #4
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length != 2)
            {
                return;
            }

            var block = selection.CreateBlock <CorrespondingLayerValueBlock>();

            block.Layer1Displayname = args[0];
            block.Layer2Displayname = args[1];
            block.Calculate();

            var dt = new DataTable();

            dt.Columns.Add(args[0], typeof(string));
            dt.Columns.Add(args[1], typeof(string));

            dt.BeginLoadData();
            foreach (var x in block.CorrespondingLayerValues)
            {
                dt.Rows.Add(x.Key, string.Join(" | ", x.Value));
            }
            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
        private void ExecuteFileQuery(string tid, AbstractTableWriter writer, Frequency1LayerViewModel vm, double div,
                                      string path)
        {
            var lines = File.ReadAllLines(path, Configuration.Encoding);

            var res = new DataTable();

            res.Columns.Add(vm.LayerDisplayname, typeof(string));
            res.Columns.Add(Resources.Frequency, typeof(double));
            res.Columns.Add(Resources.FrequencyRel, typeof(double));

            res.BeginLoadData();

            foreach (var line in lines)
            {
                if (!vm.Frequency.ContainsKey(line))
                {
                    continue;
                }

                var sum = vm.Frequency[line];
                res.Rows.Add(line, sum, sum / div);
            }

            res.EndLoadData();

            writer.WriteTable(tid, res);
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args.Length != 1)
            {
                return;
            }

            var query = QueryParser.Parse(args[0]);

            if (!(query is FilterQueryUnsupportedParserFeature))
            {
                return;
            }

            var selections =
                UnsupportedQueryParserFeatureHelper.Handle(selection, (FilterQueryUnsupportedParserFeature)query);

            if (selections == null)
            {
                return;
            }

            foreach (var sub in selections)
            {
                writer.WriteTable(sub.Displayname, sub.GetDocumentGuidAndDisplaynamesAsDataTable());
            }
        }
Exemple #7
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length < 2)
            {
                return;
            }

            var queries = new List <string>(args);

            queries.RemoveAt(0);

            queries = ResolveFileQueriesRecursive(queries);

            var spanHelper = new KwicSpanHelper(queries);

            var vm = new TextLiveSearchViewModel
            {
                Selection = selection,
                AddContextSentencesPre  = spanHelper.SentencePre,
                AddContextSentencesPost = spanHelper.SentencePost
            };

            vm.AddQuery(GetQuery(args[0], spanHelper.CleanArguments));
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetUniqueDataTableCsv());
        }
Exemple #8
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var arguments = args.ToList();
            var l1        = arguments[0];

            arguments.RemoveAt(0);
            var w1 = arguments[0];

            arguments.RemoveAt(0);
            var l2 = arguments[0];

            arguments.RemoveAt(0);

            var vm = new PositionFrequencyViewModel
            {
                Selection        = selection,
                LayerDisplayname = l1,
                LayerQueries     = new[] { w1 },
                CorrespondingLayerValueFilter = new CorrespondingLayerValueFilterViewModel
                {
                    Layer1Displayname  = l1,
                    Layer2Displayname  = l2,
                    AnyMatch           = true,
                    Layer2ValueFilters = new HashSet <string>(arguments),
                    Selection          = selection
                }
            };

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new NgramViewModel {
                Selection = selection
            };

            if (args.Length == 0)
            {
                vm.NGramSize = 5;
            }
            if (args.Length >= 1)
            {
                vm.NGramSize = int.Parse(args[0]);
            }
            if (args.Length >= 2)
            {
                vm.LayerDisplayname = args[1];
            }
            if (args.Length == 3)
            {
                vm.NGramMinFrequency = int.Parse(args[2]);
            }
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length != 3)
            {
                return;
            }

            var s = args[0].Split(new[] { "::" }, StringSplitOptions.RemoveEmptyEntries);

            if (s.Length != 2)
            {
                return;
            }

            var query = QueryParser.Parse(args[0]);

            if (query is FilterQueryUnsupportedParserFeature feature)
            {
                UnsupportedQueryParserFeatureHelper.Handle(selection, feature, args[1], writer);
                return;
            }

            var sub = selection.Create(new[] { query }, Path.GetFileNameWithoutExtension(args[1]), false);

            writer.WriteTable(args[2], sub.GetDocumentGuidAndDisplaynamesAsDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new CooccurrenceViewModel {
                Selection = selection
            };

            var arguments = args.ToList();
            var l1        = arguments[0];

            arguments.RemoveAt(0);
            var l2 = arguments[0];

            arguments.RemoveAt(0);
            var any = bool.Parse(arguments[0]);

            arguments.RemoveAt(0);

            vm.LayerDisplayname = l1;
            vm.CorrespondingLayerValueFilter = new CorrespondingLayerValueFilterViewModel
            {
                Layer1Displayname  = l1,
                Layer2Displayname  = l2,
                AnyMatch           = any,
                Layer2ValueFilters = new HashSet <string>(arguments),
                Selection          = selection
            };
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetFullDataTable());
        }
Exemple #12
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new CorpusWeightUnlimmitedViewModel {
                Selection = selection
            };

            vm.Execute();
            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
        private void ExecuteSdmFileQuery(string tid, AbstractTableWriter writer, Frequency1LayerViewModel vm, double div,
                                         string path)
        {
            var lines = File.ReadAllLines(path, Configuration.Encoding);

            var res = new DataTable();

            res.Columns.Add(Resources.Category, typeof(string));
            res.Columns.Add(vm.LayerDisplayname, typeof(string));
            res.Columns.Add(Resources.Frequency, typeof(double));
            res.Columns.Add(Resources.FrequencyRel, typeof(double));
            res.Columns.Add(Resources.Value, typeof(double));

            res.BeginLoadData();
            var match = 0d;

            foreach (var line in lines)
            {
                var split = line.Split(new[] { "\t" }, StringSplitOptions.RemoveEmptyEntries);
                if (split.Length != 3)
                {
                    continue;
                }

                var word = split[1];
                if (word.StartsWith("*")) // Postfix
                {
                    foreach (var w in GetSdmPostfixQuery(word.Substring(1), vm.Frequency))
                    {
                        res.Rows.Add(split[0], w.Key, w.Value, w.Value / div, split[2]);
                        match += w.Value;
                    }
                }
                else if (word.EndsWith("*")) // Prefix
                {
                    foreach (var w in GetSdmPrefixQuery(word.Substring(0, word.Length - 1), vm.Frequency))
                    {
                        res.Rows.Add(split[0], w.Key, w.Value, w.Value / div, split[2]);
                        match += w.Value;
                    }
                }
                else if (vm.Frequency.ContainsKey(word))
                {
                    res.Rows.Add(split[0], word, vm.Frequency[word], vm.Frequency[word] / div, split[2]);
                    match += vm.Frequency[word];
                }
            }

            var other = vm.Selection.CountToken - match;

            res.Rows.Add(Resources.Other, Resources.TokenCount, other, other / div, 0);

            res.EndLoadData();

            writer.WriteTable(tid, res);
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var dt = new DataTable();

            dt.Columns.Add(Resources.Param, typeof(string));
            dt.Columns.Add(Resources.Value, typeof(double));

            dt.BeginLoadData();
            dt.Rows.Add(Resources.Documents, (double)selection.CountDocuments);
            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
Exemple #15
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new EditDistantCalculationViewModel {
                Selection = selection
            };

            if (args.Length >= 1)
            {
                vm.LayerDisplayname = args[0];
            }
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
Exemple #16
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new DocumentTermFrequencyViewModel {
                Selection = selection, MetadataKey = args[0]
            };

            if (args.Length == 2)
            {
                vm.LayerDisplayname = args[1];
            }
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
Exemple #17
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length == 0)
            {
                return;
            }

            var vm = new CorpusWeightUnlimmitedViewModel {
                Selection = selection
            };

            vm.Execute();
            writer.WriteTable(selection.Displayname, vm.GetFilteredDataTable(args));
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new VocabularyComplexityViewModel {
                Selection = selection
            };

            if (args != null && args.Length == 1)
            {
                vm.LayerDisplayname = args[0];
            }
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTableSimple());
        }
Exemple #19
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var vm = new Frequency1LayerViewModel {
                Selection = selection
            };

            if (args != null && args.Length == 1)
            {
                vm.LayerDisplayname = args[0];
            }
            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetNormalizedDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args.Length != 2)
            {
                return;
            }

            var block = selection.CreateBlock <NgramHighlightCooccurrencesBlock>();

            block.NGramSize        = int.Parse(args[0]);
            block.LayerDisplayname = args[1];
            block.Calculate();

            var dt = new DataTable();

            dt.Columns.Add(Resources.NGram, typeof(string));

            var max = block.NgramsWeighted[0].Key.Length;

            for (var cnt = 1; cnt <= max; cnt++)
            {
                dt.Columns.Add($"{Resources.Token} ({cnt})", typeof(string));
                dt.Columns.Add($"{Resources.Rank} ({cnt})", typeof(byte));
            }
            dt.Columns.Add(Resources.Frequency, typeof(double));
            dt.Columns.Add(Resources.Significance + " (max.)", typeof(double));
            dt.Columns.Add(Resources.Significance + " (sum)", typeof(double));

            dt.BeginLoadData();
            foreach (var x in block.NgramsWeighted)
            {
                var data = new List <object> {
                    string.Join(" ", x.Key.Select(y => y.Key))
                };
                foreach (var y in x.Key)
                {
                    data.Add(y.Key);
                    data.Add(y.Value);
                }

                data.Add(x.Value[0]);
                data.Add(x.Value[1]);
                data.Add(x.Value[2]);
                dt.Rows.Add(data.ToArray());
            }
            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
Exemple #21
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var dt = new DataTable();

            dt.Columns.Add(Resources.Layernames, typeof(string));

            dt.BeginLoadData();
            foreach (var x in selection.LayerDisplaynames)
            {
                dt.Rows.Add(x);
            }
            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var dt = new DataTable();

            dt.Columns.Add(Resources.Tokens, typeof(string));

            dt.BeginLoadData();
            foreach (var v in selection.GetLayers(args[0]).FirstOrDefault().Values)
            {
                dt.Rows.Add(v);
            }
            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
Exemple #23
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length < 1)
            {
                return;
            }

            var guid = Guid.Parse(args[0]);

            if (!selection.ContainsDocument(guid))
            {
                return;
            }

            var layers = selection.GetReadableMultilayerDocument(guid);

            var fArgs = new List <string>(args);

            fArgs.RemoveAt(0);
            var filter = new HashSet <string>();

            if (fArgs.Count == 0)
            {
                foreach (var l in layers)
                {
                    filter.Add(l.Key);
                }
            }
            else
            {
                filter = new HashSet <string>(fArgs);
            }

            var dt = new DataTable();

            dt.Columns.Add(Resources.Layer, typeof(string));
            dt.Columns.Add(Resources.Content, typeof(string));

            dt.BeginLoadData();
            foreach (var pair in layers.Where(pair => filter.Contains(pair.Key)))
            {
                dt.Rows.Add(pair.Key, pair.Value.ReduceDocumentToText());
            }

            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
Exemple #24
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args.Length != 1)
            {
                return;
            }

            var vm = new NamedEntityDetectionViewModel
            {
                Selection = selection,
                Model     = Blocks.NamedEntityRecognition.NamedEntityRecognitionModel.Load(args[0])
            };

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            var categories = selection.GetDocumentMetadataPrototypeOnlyProperties();

            var dt = new DataTable();

            dt.Columns.Add(Resources.Category, typeof(string));

            dt.BeginLoadData();
            foreach (var x in categories)
            {
                dt.Rows.Add(x);
            }
            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }
Exemple #26
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args.Length != 2)
            {
                return;
            }

            var vm = new VocdViewModel
            {
                Selection        = selection,
                LayerDisplayname = args[0],
                MetadataKey      = args[1]
            };

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length < 2)
            {
                return;
            }

            var vm = new CooccurrenceSecondLevelProfileViewModel
            {
                Selection        = selection,
                LayerDisplayname = args[0],
                LayerValue       = args[1]
            };

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
Exemple #28
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length < 2)
            {
                return;
            }

            var vm = new PositionFrequencyViewModel
            {
                Selection        = selection,
                LayerDisplayname = args[0],
                LayerQueries     = new[] { args[1] }
            };

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetDataTable());
        }
Exemple #29
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length != 2)
            {
                return;
            }

            var vm = new ClusterMetadataByBurrowsDeltaViewModel
            {
                Selection    = selection,
                MetadataKeyA = args[0],
                MetadataKeyB = args[1]
            };

            vm.Execute();

            writer.WriteTable(selection.Displayname, vm.GetCrossDataTable());
        }
Exemple #30
0
        public void Execute(Selection selection, string[] args, AbstractTableWriter writer)
        {
            if (args == null || args.Length < 1)
            {
                return;
            }

            var dt = new DataTable();

            dt.Columns.Add(Resources.Query, typeof(string));
            dt.Columns.Add(Resources.Frequency, typeof(double));

            dt.BeginLoadData();
            if (args[0].StartsWith("FILE:"))
            {
                var lines = File.ReadAllLines(args[0].Replace("FILE:", string.Empty), Configuration.Encoding);
                foreach (var x in lines.ToDictionary(x => x, QueryParser.Parse))
                {
                    dt.Rows.Add(x.Key, QuickQuery.CountOnWordLevel(selection, new[] { x.Value }));
                }
            }
            else
            {
                var s = args[0].Split(new[] { "::" }, StringSplitOptions.RemoveEmptyEntries);
                if (s.Length != 2)
                {
                    return;
                }

                var query = QueryParser.Parse(args[0]);
                if (query is FilterQueryUnsupportedParserFeature feature)
                {
                    UnsupportedQueryParserFeatureHelper.Handle(selection, feature, args[1], writer);
                    return;
                }

                dt.Rows.Add(args[0], QuickQuery.CountOnWordLevel(selection, new[] { query }));
            }

            dt.EndLoadData();

            writer.WriteTable(selection.Displayname, dt);
        }