Пример #1
0
        public static FullLexicalModel GetWordInfo(string word, ExtraLexicalKnowledge lexFlags)
        {
            var request = new RestRequest("words", Method.GET);

            request.AddParameter("sp", word, ParameterType.GetOrPost);
            request.AddParameter("qe", "sp", ParameterType.GetOrPost);
            request.AddParameter(GetLexicalParam(lexFlags));
            request.AddParameter("max", 1, ParameterType.GetOrPost);
            return(JSON.Deserialize <FullLexicalModel[]>(CLIENT.Execute(request).Content).Single());
        }
Пример #2
0
        public static Parameter GetLexicalParam(ExtraLexicalKnowledge flags)
        {
            string str      = "";
            int    flagsNum = (int)flags;

            for (int i = 4; i >= 0; --i)
            {
                int num = Convert.ToInt32(Math.Pow(2, i));
                if (flagsNum >= num)
                {
                    flagsNum -= num;
                    str      += LEXICAL_FLAGS[i];
                }
            }

            return(new Parameter()
            {
                Name = "md",
                Value = str,
                Type = ParameterType.GetOrPost
            });
        }
Пример #3
0
        public static FullLexicalModel[] Words(APIConstraints apiFlags, ExternalConstraints relFlags, ExtraLexicalKnowledge lexFlags, params string[] paramValues)
        {
            List <Parameter> parameters = new List <Parameter>();

            if (apiFlags != APIConstraints.None)
            {
                parameters.AddRange(GetAPIParameters(apiFlags, paramValues.GetEnumerator()));
            }
            if (relFlags != ExternalConstraints.None)
            {
                parameters.Add(GetRelParam(relFlags, paramValues.Last()));
            }
            if (lexFlags != ExtraLexicalKnowledge.None)
            {
                parameters.Add(GetLexicalParam(lexFlags));
            }

            var response = CLIENT.Execute(
                new RestRequest(
                    "words",
                    Method.GET
                    ).AddOrUpdateParameters(parameters)
                );

            return(JSON.Deserialize <FullLexicalModel[]>(response.Content));
        }