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

Latest version of OWLClassGraph.java

ファイル:
1 変更

凡例:

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

    r82 r90  
    3535        } 
    3636         
    37         public LinkAndPath(ClassLink classLink, List<ClassLink> path, String orinalClassURI, boolean converge){ 
     37        public LinkAndPath(ClassLink classLink, List<ClassLink> path, String originalClassURI, boolean converge){ 
    3838           this.classLink = classLink; 
    3939           this.path = path; 
     
    4949        this.endClass = endClass; 
    5050        addNode(endClass); 
    51         nsteps = 3; 
     51        nsteps = 10; 
    5252        limit = 1000; 
    53         th = 0; 
    54         concut = 2.0; 
    55         divcut = - 2.0; 
     53        //th = 0; 
     54        //concut = 2.0; 
     55        //divcut = - 2.0; 
    5656    } 
    5757         
     
    8383    private List<List<ClassLink>> searchPaths(RDFSchemaAnalyzer rdfsa, boolean countLinks){ 
    8484        List<List<ClassLink>> paths = new ArrayList<>(); 
    85         ClassLink crrLink = new ClassLink(null,startClass,Direction.both,0,0,0,0,0); 
    8685        List<LinkAndPath> lp = new LinkedList<>(); 
    87         lp.add(new LinkAndPath(crrLink, new LinkedList<ClassLink>())); 
     86        lp.add(new LinkAndPath(new ClassLink("",startClass,Direction.both,0,0,0,0,0), new LinkedList<ClassLink>(), "", false)); 
    8887        try{ 
    8988          for ( int i = 0; i < nsteps; i++ ){ 
     
    9291              while ( lit.hasNext() ){ 
    9392                  LinkAndPath crrlp = lit.next(); 
    94                   ClassLink[] classLinks = null; 
    95                   classLinks = rdfsa.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit, countLinks); 
     93                  ClassLink[] classLinks = rdfsa.getNextClass(null, crrlp.classLink.getLinkedClassURI(), limit, countLinks); 
    9694                  for ( int j = 0 ; j < classLinks.length; j++ ){ 
    9795                      List<ClassLink> crrpath = new LinkedList<>(crrlp.path); 
     
    104102                          continue; 
    105103                      } 
    106                       nextlp.add(new LinkAndPath(classLinks[j],crrpath)); 
     104                      if ( crrlp.classLink.getPropertyURI().equals(classLinks[j].getPropertyURI()) && 
     105                           crrlp.classLink.getDirection() != classLinks[j].getDirection() && 
     106                           crrlp.originalClassURI.equals( classLinks[j].getLinkedClassURI()) ){ 
     107                          continue; 
     108                      } 
     109                       
     110                      nextlp.add(new LinkAndPath(classLinks[j], crrpath, crrlp.classLink.getLinkedClassURI(), false)); 
    107111                  } 
    108112              }