Exemplo n.º 1
0
        /*
         * (non-Javadoc)
         *
         * @see simplenlg.lexicon.Lexicon#getWordsByID(java.lang.string)
         */

        public List <WordElement> getWordsByID(string id)
        {
            // get words from DB
            try
            {
                LexAccessApiResult lexResult = lexdb.GetLexRecords(id);
                return(getWordsFromLexResult(new LexicalCategory_ANY(), lexResult));
            }
            catch (SQLException ex)
            {
                Console.WriteLine("Lexical DB error: " + ex.ToString());
                // probably should thrown an exception
            }
            return(null);
        }
Exemplo n.º 2
0
        /**
         * return list of WordElement from LexAccessApiResult
         *
         * @param category
         *            - desired category (eg, NOUN) (this filters list)
         * @param lexResult
         *            - the LexAccessApiResult
         * @return list of WordElement
         */
        private IList <WordElement> getWordsFromLexResult(LexicalCategory category, LexAccessApiResult lexResult)
        {
            List <LexRecord> recordList = lexResult.GetJavaObjs();
            // set up array of words to return
            IList <WordElement> wordElements = new List <WordElement>();

            // iterate through result records, adding to words as appropriate
            foreach (LexRecord record in recordList)
            {
                if (category.GetLexicalCategory() == LexicalCategory.LexicalCategoryEnum.ANY || category == getSimplenlgCategory(record))
                {
                    wordElements.Add(makeWord(record));
                }
            }
            return(wordElements);
        }
Exemplo n.º 3
0
        /****************************************************************************/
        // core methods to retrieve words from DB
        /****************************************************************************/

        /*
         * (non-Javadoc)
         *
         * @see simplenlg.lexicon.Lexicon#getWords(java.lang.string,
         * simplenlg.features.LexicalCategory)
         */

        public List <WordElement> getWords(string baseForm, LexicalCategory category)
        {
            // get words from DB
            try
            {
                LexAccessApiResult lexResult = lexdb.GetLexRecordsByBase(baseForm,
                                                                         LexAccessApi.B_EXACT);
                return(getWordsFromLexResult(category, lexResult));
            }
            catch (SQLException ex)
            {
                Console.WriteLine("Lexical DB error: " + ex.ToString());
                // probably should thrown an exception
            }
            return(null);
        }
Exemplo n.º 4
0
 /*
  * (non-Javadoc)
  *
  * @see simplenlg.lexicon.Lexicon#getWordsFromVariant(java.lang.String,
  * simplenlg.features.LexicalCategory)
  */
 public override IList <WordElement> getWordsFromVariant(string variant, LexicalCategory category)
 {
     lock (this)
     {
         // get words from DB
         try
         {
             LexAccessApiResult lexResult = lexdb.GetLexRecords(variant);
             return(getWordsFromLexResult(category, lexResult));
         }
         catch (Exception ex)
         {
             Console.WriteLine("Lexical DB error: " + ex.ToString());
             // probably should thrown an exception
         }
         return(null);
     }
 }