root/BH13SPARQLBuilder/src/org/biohackathon/SPARQLBuilder/OWL/RDFSchemaAnalyzerFactory.java @ 104

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

querypathgenerator improved

  • 属性 svn:mime-type の設定値 text/plain
行番号 
1package org.biohackathon.SPARQLBuilder.OWL;
2
3import java.io.File;
4import java.util.HashMap;
5import java.util.Map;
6
7import jp.riken.accc.db.rdf.crawler.dataStructure.sparql.JenaModelGenerator;
8
9public class RDFSchemaAnalyzerFactory {
10
11        private Map<String, String> acquiredRDFFiles = null;
12        private static final String FILENAME = "cdata/";
13       
14        public RDFSchemaAnalyzerFactory(){
15            try{
16                setAcqiredRDFFiles(new File(FILENAME));
17            }catch(Exception e){
18                System.err.println(e);
19            }
20        }
21
22        private void setAcqiredRDFFiles(String dirFile) throws Exception{
23                setAcqiredRDFFiles(new File(dirFile));
24        }
25       
26        private void setAcqiredRDFFiles(File data) throws Exception{
27                StructureCrawler sc = new StructureCrawler(data);
28                acquiredRDFFiles = sc.getAcquiredStructureFiles();
29        }
30
31        public String[] getEndpointURIList(){
32                if( acquiredRDFFiles == null ){
33                        return new String[0];
34                }else{
35                        return acquiredRDFFiles.keySet().toArray(new String[0]);
36                }
37        }
38       
39        public RDFSchemaAnalyzer create(String uri) throws Exception{
40                if( acquiredRDFFiles == null || !acquiredRDFFiles.containsKey(uri)){
41                        return new EndpointAnalyzer(uri);
42                }else{
43                        JenaModelGenerator jmGene = new JenaModelGenerator(acquiredRDFFiles.get(uri));
44                        return new AcquiredStructureAnalyzer(jmGene.getEndpointURI(), jmGene.getGraphURIs(), jmGene.getModel());
45                }
46        }
47}
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。