root/BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/QueryPathGenerator.java @ 102

リビジョン 101, 2.3 KB (コミッタ: atsuko, 10 年 前)

テスト用コードをコメントアウト

行番号 
1/*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6
7package org.biohackathon.SPARQLBuilder.OWL;
8
9/**
10 *
11 * @author atsuko
12 */
13
14public class QueryPathGenerator {
15    private String sparqlEndpoint = null;
16    private RDFSchemaAnalyzerFactory factory = null;
17    private RDFSchemaAnalyzer analyzer = null;
18    //private OWLClassGraph graph;
19
20    public static void main(String[] args){
21        // For Test
22        String sp = "http://data.allie.dbcls.jp/sparql";
23        String sc = "http://purl.org/allie/ontology/201108#ShortForm";
24        String ec = "http://purl.org/allie/ontology/201108#LongForm";
25        QueryPathGenerator qpg = new QueryPathGenerator(sp);
26        SClass[] cl = qpg.getClasses(null);
27        Path[] path = qpg.getPaths(sc, ec, false);
28        System.out.println(path.length);
29    }
30   
31    public QueryPathGenerator(){
32        factory = new RDFSchemaAnalyzerFactory();
33    }
34   
35    public QueryPathGenerator(String sparqlEndpoint){
36        factory = new RDFSchemaAnalyzerFactory();
37        setSPARQLendpoint(sparqlEndpoint);
38    }
39   
40    public SClass[] getClasses(String keyword){
41        String[] keywords = null;
42        if ( keyword != null ){
43            if ( keyword.length() != 0 ){
44                keywords = new String[1];
45                keywords[0] = keyword;
46            }
47        }
48        try {
49            return analyzer.getOWLClasses(null, keywords, null, false);
50        }catch(Exception e){
51            System.err.println(e);
52            return null;
53        }
54    }
55   
56    public Path[] getPaths(String startClass, String endClass, boolean countLink){
57        if ( analyzer == null ){
58            System.err.println("ERROR. SPARQL endpoint is not decided.");
59        }
60        OWLClassGraph graph = new OWLClassGraph(startClass, endClass);
61        return graph.getPaths(analyzer, countLink);
62    }
63   
64    private void setSPARQLendpoint(String sparqlEndpoint){
65        this.sparqlEndpoint = sparqlEndpoint;
66        setAnalyzer();
67    }
68
69    private void setAnalyzer(){
70        //analyzer = new EndpointAnalyzer(sparqlEndpoint); //ForTest
71       
72        try {
73            analyzer = factory.create(sparqlEndpoint);
74        } catch (Exception e) {
75            System.err.println(e);
76        }
77    }
78}
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。