umlsfilebackedontology.java

来自「dragontoolkit用于机器学习」· Java 代码 · 共 69 行

JAVA
69
字号
package dragon.nlp.ontology.umls;

import dragon.nlp.ontology.*;
import dragon.nlp.tool.*;
import dragon.util.*;
import java.io.File;

/**
 * <p>The class has functions of readingUMLS ontology from file</p>
 * <p></p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: IST, Drexel University</p>
 * @author Davis Zhou
 * @version 1.0
 */

public class UmlsFileBackedOntology extends UmlsExactOntology implements Ontology{
    private UmlsCUIList cuiList;
    private BasicTermList termList;
    private File directory;
    private UmlsSemanticNet snNet;

    public UmlsFileBackedOntology(Lemmatiser lemmatiser){
        this(EnvVariable.getDragonHome()+"/nlpdata/umls",lemmatiser);
    }

    public UmlsFileBackedOntology(String workDir, Lemmatiser lemmatiser) {
        super(lemmatiser);
        if(!FileUtil.exist(workDir) && FileUtil.exist(EnvVariable.getDragonHome()+"/"+workDir))
            workDir=EnvVariable.getDragonHome()+"/"+workDir;
        this.directory=new File(workDir);
        cuiList=new UmlsCUIList(directory+"/cui.list");
        termList=new BasicTermList(directory+"/termindex.list");
        UmlsSTYList styList=new UmlsSTYList(directory+"/semantictype.list");
        UmlsRelationNet relationNet=new UmlsRelationNet(directory+"/semanticrelation.list",styList);
        snNet=new UmlsSemanticNet(this,styList,relationNet);
        System.out.println(new java.util.Date() +" Ontology Loading Done!");
    }

    public SemanticNet getSemanticNet(){
        return snNet;
    }

    public String[] getSemanticType(String cui)
    {
        UmlsCUI cur;

        cur=cuiList.lookup(cui);
        if(cur==null)
            return null;
        else
            return cur.getAllSTY();
    }

    public String[] getCUI(String term){
        BasicTerm cur;

        cur=termList.lookup(term);
        if(cur==null)
            return null;
        else
            return cur.getAllCUI();
    }

    public boolean isTerm(String term){
        return  termList.lookup(term)!=null;
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?