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

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

RDFSchemaAnalyzerFactory コンストラクタ変更に伴う変更

行番号 
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 *
12 * @author atsuko
13 */
14
15public class QueryPathGenerator {
16    private String sparqlEndpoint = null;
17    private RDFSchemaAnalyzerFactory factory = null;
18    private RDFSchemaAnalyzer analyzer = null;
19    //private OWLClassGraph graph;
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, "c:\\cdata");
27        SClass[] cl = qpg.getClasses(null);
28        Path[] path = qpg.getPaths(sc, ec, false);
29        System.out.println(path.length);
30    }
31   
32    public QueryPathGenerator(){
33        factory = new RDFSchemaAnalyzerFactory();
34    }
35   
36    public QueryPathGenerator(String sparqlEndpoint, String crawlFileName){
37        factory = new RDFSchemaAnalyzerFactory(crawlFileName);
38        setSPARQLendpoint(sparqlEndpoint);
39    }
40   
41    public SClass[] getClasses(String keyword){
42        String[] keywords = null;
43        if ( keyword != null ){
44            if ( keyword.length() != 0 ){
45                keywords = new String[1];
46                keywords[0] = keyword;
47            }
48        }
49        try {
50            return analyzer.getOWLClasses(null, keywords, null, false);
51        }catch(Exception e){
52            System.err.println(e);
53            return null;
54        }
55    }
56   
57    public Path[] getPaths(String startClass, String endClass, boolean countLink){
58        if ( analyzer == null ){
59            System.err.println("ERROR. SPARQL endpoint is not decided.");
60        }
61        OWLClassGraph graph = new OWLClassGraph(startClass, endClass);
62        return graph.getPaths(analyzer, countLink);
63    }
64   
65    private void setSPARQLendpoint(String sparqlEndpoint){
66        this.sparqlEndpoint = sparqlEndpoint;
67        setAnalyzer();
68    }
69
70    private void setAnalyzer(){
71        //analyzer = new EndpointAnalyzer(sparqlEndpoint); //ForTest
72       
73        try {
74            analyzer = factory.create(sparqlEndpoint);
75        } catch (Exception e) {
76            System.err.println(e);
77        }
78    }
79}
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。