package semanticMarkup.know; import java.util.Set; /** * An IGlossary allows to lookup categories of words and vice versa * @author rodenhausen * */ public interface IGlossary { /** * @param word * @return categories of the word */ public Set<String> getCategories(String word); /** * @param category * @return word in the category */ public Set<String> getWords(String category); /** * @param word * @return if the word is contained in the glossary */ public boolean contains(String word); /** * @param categories * @return words of the glossary that are not contained in the categories */ public Set<String> getWordsNotInCategories(Set<String> categories); /** * @param word * @param category */ public void addEntry(String word, String category); /* public void addStructure(String structure); public void addCharacterCategory(String category); *//** * Adds the category if it didn't exist yet as well * @param state * @param category *//* public void addCharacterState(String state, String category); public boolean isStructure(String structure); public boolean isCharacterCategory(String category); public boolean isCharacterState(String state); public boolean isCharacterStateCategoryPair(String state, String category); public Set<String> getCharacterStateCategories(String state); public Set<String> getCharacterCategoryStates(String category); public Set<String> getStructures(); public Set<String> getCharacterCategories(); public Set<String> getCharacterStatesNotInCharacterCategories(Set<String> categories); */ }