チェンジセット 3

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

The latest OWLClassGraph.java added

パス:
BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL
ファイル:
2 変更

凡例:

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

    r2 r3  
    1414    String startClass; 
    1515    String endClass; 
    16     int startNode; 
    17     int endNode; 
    1816    int nsteps; 
    1917    int limit; 
    20      
    21     List<OWLEdge> allOWLEdge;  
    2218         
    23     public class OWLEdge{ 
    24         String startClass; 
    25         ClassLink classLink; 
    26         public OWLEdge(String startClass, ClassLink classLink){ 
    27            this.startClass = startClass;  
    28            this.classLink = classLink; 
    29         } 
    30     } 
    31      
    3219    public class LinkAndPath{ 
    3320        ClassLink classLink; 
     
    3926    } 
    4027     
    41     public OWLClassGraph(String p_startClass, String p_endClass){ 
     28    public OWLClassGraph(String startClass, String endClass){ 
    4229        super(); 
    43         startClass = p_startClass; 
    44         adjlist.add(new LinkedList<LabeledEdge>()); 
    45         labels.add(startClass); 
    46         endClass = p_endClass; 
    47         labels.add(endClass); 
    48         nsteps = 3; 
    49         limit = 100; 
    50         allOWLEdge= new LinkedList<OWLEdge>(); 
     30        this.startClass = startClass; 
     31        addNode(startClass); 
     32        this.endClass = endClass; 
     33        addNode(endClass); 
     34        nsteps = 2; 
     35        limit = 1000; 
    5136    } 
    5237     
    53     public void generateGraph(){ 
    54         // atode 
     38    public void generateGraph(List<List<ClassLink>> paths){ 
     39         
    5540    } 
    5641     
    5742    public Path[] getPaths(OWLQueryBuilderImpl qb){ 
    58         List<List<ClassLink>> paths = searchPathsFromOWL(qb); 
     43        //List<List<ClassLink>> paths = searchPathsFromOWL(qb); 
     44        List<List<ClassLink>> paths = searchPathsFromInstances(qb); 
    5945        Path[] patharray = new Path[paths.size()]; 
    6046        ListIterator<List<ClassLink>> pit = paths.listIterator(); 
    6147        int i = 0; 
    6248        while ( pit.hasNext() ){ 
     49            patharray[i] = new Path(); 
    6350            patharray[i].setStartClass(startClass); 
    6451            List<ClassLink> path = pit.next(); 
    65             path.remove(0); 
    6652            patharray[i].setClassLinks(path); 
    6753            i++; 
     
    7157     
    7258    private List<List<ClassLink>> searchPathsFromOWL(OWLQueryBuilderImpl qb){ 
     59        return searchPathsEngine(qb, 0); 
     60    } 
     61     
     62    private List<List<ClassLink>> searchPathsFromInstances(OWLQueryBuilderImpl qb){ 
     63        return searchPathsEngine(qb, 1); 
     64    } 
     65     
     66    private List<List<ClassLink>> searchPathsEngine(OWLQueryBuilderImpl qb, int mode){ 
    7367        List<List<ClassLink>> paths = new ArrayList<List<ClassLink>>(); 
    7468        ClassLink crrLink = new ClassLink(null,startClass,Direction.both); 
     
    8276                  LinkAndPath crrlp = lit.next(); 
    8377                  if ( crrlp.classLink.getLinkedClassURI().equals(endClass) ){ continue; } 
    84                   ClassLink[] classLinks = qb.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit); 
     78                  ClassLink[] classLinks = null; 
     79                  // Mode 
     80                  if ( mode == 0 ){ 
     81                      classLinks = qb.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit); 
     82                  }else if ( mode == 1 ){ 
     83                      classLinks = qb.getNextClassViaInstanceLink(null, crrlp.classLink.getLinkedClassURI(), limit);                       
     84                  }else{ System.err.println("Mode is not correct."); } 
    8585                  for ( int j = 0 ; j < classLinks.length; j++ ){ 
    8686                      List<ClassLink> crrpath = new LinkedList<ClassLink>(crrlp.path); 
     
    9292                  } 
    9393              } 
     94              lp = nextlp; 
    9495          } 
    9596        }catch(Exception e){ System.err.println(e);} 
    96         return paths; 
     97        return paths;         
    9798    } 
    9899} 
  • BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/Path.java

    r2 r3  
    44 
    55/** 
    6  * 襍キ轤ケ縺ィ縺ェ繧九Μ繧ス繝シ繧ケ縺九i騾先ャ。逧�↓隍�焚繝ェ繝ウ繧ッ縺ァ邨らせ繝ェ繧ス繝シ繧ケ縺セ縺ァ謗・邯壹&繧後k荳€縺、縺ョ繝代せ繧定ィ倩ソー縺吶k 
     6 * 襍キ轤ケ縺ィ縺ェ繧九Μ繧ス繝シ繧ケ縺九i騾先ャ。逧?↓隍?焚繝ェ繝ウ繧ッ縺ァ邨らせ繝ェ繧ス繝シ繧ケ縺セ縺ァ謗・邯壹&繧後k荳?縺、縺ョ繝代せ繧定ィ倩ソー縺吶k 
    77 * @author Yamaguchi 
    88 * @since 28.01.2014 
     
    1717 
    1818        /** 
    19          * 繝代せ縺ョ襍キ轤ケ縺九i邨らせ縺ォ蜷代°縺」縺ヲ騾先ャ。逧�↓縺、縺ェ縺後k繧ッ繝ゥ繧ケ髢薙Μ繝ウ繧ッ縺ョ繝ェ繧ケ繝� 
     19         * 繝代せ縺ョ襍キ轤ケ縺九i邨らせ縺ォ蜷代°縺」縺ヲ騾先ャ。逧?↓縺、縺ェ縺後k繧ッ繝ゥ繧ケ髢薙Μ繝ウ繧ッ縺ョ繝ェ繧ケ繝? 
    2020         */ 
    2121        private List<ClassLink> classLinks; 
     
    4848        } 
    4949         
    50         public void setStartClas(String startClass){ 
     50        public void setStartClass(String startClass){ 
    5151                this.startClass = startClass; 
    5252        }