差分発生行の前後
無視リスト:
更新日時:
2014/01/30 13:41:37 (11 年 前)
更新者:
atsuko
ログメッセージ:

getPaths の引数変更 第二引数が0: クラス間探索, 1: インスタンス利用探索

ファイル:
1 変更

凡例:

変更なし
追加
削除
  • BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/OWLClassGraph.java

    r8 r15  
    3737     
    3838    public void generateGraph(List<List<ClassLink>> paths){ 
    39          
     39        ListIterator<List<ClassLink>> pit = paths.listIterator(); 
     40        while( pit.hasNext() ){ 
     41            // KOKO 
     42        } 
    4043    } 
    4144     
    42     public Path[] getPaths(OWLQueryBuilderImpl qb){ 
    43         List<List<ClassLink>> paths = searchPathsFromOWL(qb); 
    44         //List<List<ClassLink>> paths = searchPathsFromInstances(qb); 
     45    public Path[] getPaths(OWLQueryBuilderImpl qb, int mode){ 
     46        List<List<ClassLink>> paths = searchPaths(qb, mode); 
    4547        Path[] patharray = new Path[paths.size()]; 
    4648        ListIterator<List<ClassLink>> pit = paths.listIterator(); 
     
    6567    } 
    6668     
     69    /* 
    6770    private List<List<ClassLink>> searchPathsFromOWL(OWLQueryBuilderImpl qb){ 
    6871        return searchPathsEngine(qb, 0); 
     
    7275        return searchPathsEngine(qb, 1); 
    7376    } 
     77    */ 
    7478     
    75     private List<List<ClassLink>> searchPathsEngine(OWLQueryBuilderImpl qb, int mode){ 
    76         List<List<ClassLink>> paths = new ArrayList<List<ClassLink>>(); 
     79    private List<List<ClassLink>> searchPaths(OWLQueryBuilderImpl qb, int mode){ 
     80        List<List<ClassLink>> paths = new ArrayList<>(); 
    7781        ClassLink crrLink = new ClassLink(null,startClass,Direction.both,0); 
    78         List<LinkAndPath> lp = new LinkedList<LinkAndPath>(); 
     82        List<LinkAndPath> lp = new LinkedList<>(); 
    7983        lp.add(new LinkAndPath(crrLink, new LinkedList<ClassLink>())); 
    8084        try{ 
    8185          for ( int i = 0; i < nsteps; i++ ){ 
    8286              ListIterator<LinkAndPath> lit = lp.listIterator(); 
    83               List<LinkAndPath> nextlp = new LinkedList<LinkAndPath>(); 
     87              List<LinkAndPath> nextlp = new LinkedList<>(); 
    8488              while ( lit.hasNext() ){ 
    8589                  LinkAndPath crrlp = lit.next(); 
     
    9397                  }else{ System.err.println("Mode is not correct."); } 
    9498                  for ( int j = 0 ; j < classLinks.length; j++ ){ 
    95                       List<ClassLink> crrpath = new LinkedList<ClassLink>(crrlp.path); 
     99                      //List<ClassLink> crrpath = new LinkedList<ClassLink>(crrlp.path); 
     100                      List<ClassLink> crrpath = new LinkedList<>(crrlp.path); 
    96101                      crrpath.add(classLinks[j]); 
    97102                      if ( classLinks[j].getLinkedClassURI().equals(endClass) ){ 
    98                           paths.add(new LinkedList<ClassLink>(crrpath)); 
     103                          //paths.add(new LinkedList<ClassLink>(crrpath)); 
     104                          paths.add(new LinkedList<>(crrpath)); 
    99105                      } 
    100106                      nextlp.add(new LinkAndPath(classLinks[j],crrpath)); 
     
    103109              lp = nextlp; 
    104110          } 
    105         }catch(Exception e){ System.err.println(e);} 
     111        }catch(Exception e){  
     112            System.err.println(e); 
     113        } 
    106114        return paths;         
    107115    }