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

Latest version of OWLClassGraph.java

ファイル:
1 変更

凡例:

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

    r83 r90  
    1111 * @author atsuko 
    1212 */ 
     13 
    1314public class QueryPathGenerator { 
    14     private String sparqlEndpoint; 
    15     private RDFSchemaAnalyzer analyzer; 
     15    private String sparqlEndpoint = null; 
     16    private RDFSchemaAnalyzerFactory factory = null; 
     17    private RDFSchemaAnalyzer analyzer = null; 
     18    //private OWLClassGraph graph; 
     19 
     20    /* 
     21    public static void main(String[] args){ 
     22        // For Test 
     23        String sp = "http://data.allie.dbcls.jp/sparql"; 
     24        String sc = "http://purl.org/allie/ontology/201108#ShortForm"; 
     25        String ec = "http://purl.org/allie/ontology/201108#LongForm"; 
     26        QueryPathGenerator qpg = new QueryPathGenerator(sp); 
     27        Path[] path = qpg.getPaths(sc, ec, false); 
     28        System.out.println(path.length); 
     29    }*/ 
    1630     
    17     public void setSPARQLendpoint(String sparqlEndpoint){ 
    18         this.sparqlEndpoint = sparqlEndpoint; 
     31    public QueryPathGenerator(){ 
     32        factory = new RDFSchemaAnalyzerFactory(); 
    1933    } 
    2034     
    21     public SClass[] getClasses(){ 
    22         // KOKO 
    23         return new SClass[10]; 
     35    public QueryPathGenerator(String sparqlEndpoint){ 
     36        factory = new RDFSchemaAnalyzerFactory(); 
     37        setSPARQLendpoint(sparqlEndpoint); 
    2438    } 
    2539     
     40    public SClass[] getClasses(String keyword){ 
     41        String[] keywords = null; 
     42        if ( keyword != null ){ // KOKO 
     43            keywords = new String[1]; 
     44            keywords[0] = keyword;             
     45        } 
     46        try { 
     47            return analyzer.getOWLClasses(null, keywords, sparqlEndpoint, false); 
     48        }catch(Exception e){ 
     49            System.err.println(e); 
     50            return null; 
     51        } 
     52    }  
     53     
    2654    public Path[] getPaths(String startClass, String endClass, boolean countLink){ 
    27         // KOKO 
    28         return new Path[10]; 
     55        if ( analyzer == null ){ 
     56            System.err.println("ERROR. SPARQL endpoint is not decided."); 
     57        } 
     58        OWLClassGraph graph = new OWLClassGraph(startClass, endClass); 
     59        return graph.getPaths(analyzer, countLink); 
    2960    } 
    3061     
     62    private void setSPARQLendpoint(String sparqlEndpoint){ 
     63        this.sparqlEndpoint = sparqlEndpoint; 
     64        setAnalyzer(); 
     65    } 
     66 
     67    private void setAnalyzer(){ 
     68        //analyzer = new EndpointAnalyzer(sparqlEndpoint); //ForTest 
     69        try { 
     70            analyzer = factory.create(sparqlEndpoint); 
     71        } catch (Exception e) { 
     72            System.err.println(e); 
     73        } 
     74    } 
    3175}