差分発生行の前後
無視リスト:
更新日時:
2016/03/14 20:01:59 (9 年 前)
更新者:
nori
ログメッセージ:

クローラー結果としてCrawledDataset が扱えるようにの暫定版

ファイル:
1 変更

凡例:

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

    r267 r269  
    33import java.util.*; 
    44 
    5 import jp.riken.accc.db.rdf.crawler.dataStructure.sparql.JenaModelGenerator; 
    6 import jp.riken.accc.db.rdf.crawler.dataStructure.sparql.URICollection; 
     5import jp.riken.accc.db.sparqlBuilderMetadata.crawler.dataStructure.sparql.JenaModelGenerator; 
     6import jp.riken.accc.db.sparqlBuilderMetadata.crawler.dataStructure.sparql.URICollection; 
     7import jp.riken.accc.db.sparqlBuilderMetadata.crawler.dataStructure.sparql.crawler.CrawledMetadata; 
     8import jp.riken.accc.db.sparqlBuilderMetadata.crawler.dataStructure.sparql.crawler.Dataset; 
    79 
    810import com.hp.hpl.jena.query.Query; 
     
    2022public class AcquiredStructureAnalyzer implements RDFSchemaAnalyzer { 
    2123 
    22         private Model model = null; 
    23         private String endpointURI = null; 
    24         private String[] graphURIs = null; 
     24        private CrawledMetadata crawledMetadata = null; 
    2525 
    2626        public String getEndpointURI(){ 
    27                 return endpointURI; 
     27                return crawledMetadata.getEndpointURI(); 
    2828        } 
    2929 
    3030        public String[] getGraphURIs(){ 
    31                 return graphURIs; 
     31                return crawledMetadata.getGraphURIs(); 
    3232        } 
    3333         
     
    5757        */ 
    5858         
    59         public AcquiredStructureAnalyzer(String endpointURI, String[] graphURIs, Model model){ 
    60                 this.model = model; 
    61                 this.endpointURI = endpointURI; 
    62                 this.graphURIs = graphURIs; 
    63         } 
    64  
    65         private String[] filterGraphURIs(String[] orgGraphURIs){ 
     59        public AcquiredStructureAnalyzer(CrawledMetadata crawledMetadata){ 
     60                this.crawledMetadata = crawledMetadata; 
     61        } 
     62 
     63        private String filterGraphURIs(String orgGraphURIs){ 
    6664                // TODO 
    67                 return graphURIs; 
    68         } 
    69  
    70          
    71         public SClass[] listClasses(String[] graphURIs, boolean countInstances) throws Exception{ 
    72                 return getOWLClasses(graphURIs, null, null, countInstances); 
    73         } 
    74                  
    75                  
    76  
    77          
    78         public SClass[] getOWLClasses(String[] graphURIs, String[] keywords, String language, boolean countInstances) throws Exception{ 
    79                 return getOWLClassList(graphURIs, keywords, language, countInstances).toArray(new SClass[0]); 
    80         } 
    81  
    82         public List<SClass> getOWLClassList(String[] graphURIs, String[] keywords, String language, boolean countInstances) throws Exception{ 
    83                 String[] targetGraphURIs = filterGraphURIs(graphURIs); 
    84  
     65                return orgGraphURIs; 
     66        } 
     67 
     68         
     69        public SClass[] listClasses(String graphURI, boolean countInstances) throws Exception{ 
     70                return getOWLClasses(graphURI, null, null, countInstances); 
     71        } 
     72                 
     73                 
     74 
     75         
     76        public SClass[] getOWLClasses(String graphURI, String[] keywords, String language, boolean countInstances) throws Exception{ 
     77                return getOWLClassList(graphURI, keywords, language, countInstances).toArray(new SClass[0]); 
     78        } 
     79 
     80        public List<SClass> getOWLClassList(String graphURI, String[] keywords, String language, boolean countInstances) throws Exception{ 
     81                String targetGraphURI = filterGraphURIs(graphURI); 
     82 
     83                Dataset dataset = crawledMetadata.getDataset(targetGraphURI); 
     84 
     85                 
    8586                StringBuffer queryStr = new StringBuffer(); 
    8687                queryStr.append("PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"); 
     
    8889                queryStr.append("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"); 
    8990                queryStr.append("SELECT DISTINCT ?c ?pLabel ?entities\n"); 
    90 //              if (targetGraphURIs != null) { 
    91 //                      for (String graphURI : targetGraphURIs) { 
    92 //                              queryStr.append("FROM <"); 
    93 //                              queryStr.append(graphURI); 
    94 //                              queryStr.append(">\n"); 
    95 //                      } 
    96 //              } 
     91                if (targetGraphURI != null) { 
     92                                queryStr.append("FROM <"); 
     93                                queryStr.append(targetGraphURI); 
     94                                queryStr.append(">\n"); 
     95                        } 
    9796                queryStr.append("WHERE{\n"); 
    9897                queryStr.append(" ?cp <").append(URICollection.PROPERTY_VOID_CLASS).append("> ?c. \n"); 
     
    133132                try { 
    134133//                      long start = System.currentTimeMillis(); 
    135                         qexec = QueryExecutionFactory.create(query, model); 
     134                        qexec = QueryExecutionFactory.create(query, dataset.getModel()); 
    136135                        results = qexec.execSelect(); 
    137136//                      long end = System.currentTimeMillis(); 
     
    177176 
    178177 
    179         public ClassLink[] getNextClass(String[] graphURIs, String originClass, int limit, boolean countLinks) throws Exception{ 
    180                 String[] targetGraphURIs = filterGraphURIs(graphURIs); 
    181  
     178        public ClassLink[] getNextClass(String graphURI, String originClass, int limit, boolean countLinks) throws Exception{ 
     179                String targetGraphURI = filterGraphURIs(graphURI); 
     180                Dataset dataset = crawledMetadata.getDataset(targetGraphURI); 
     181 
     182                 
    182183                StringBuffer queryStr = new StringBuffer(); 
    183184                queryStr.append("PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"); 
     
    188189                queryStr.append("SELECT DISTINCT ?indPropCat ?c ?dat ?d ?p ?numLnkInsStart ?numLnkInsEnd ?numInsDom ?numInsRan ?numTriples\n"); 
    189190 
    190 //              if (targetGraphURIs != null) { 
    191 //                      for (String graphURI : targetGraphURIs) { 
    192 //                              queryStr.append("FROM <"); 
    193 //                              queryStr.append(graphURI); 
    194 //                              queryStr.append(">\n"); 
    195 //                      } 
    196 //              } 
     191                if (targetGraphURI != null) { 
     192                                queryStr.append("FROM <"); 
     193                                queryStr.append(targetGraphURI); 
     194                                queryStr.append(">\n"); 
     195                } 
    197196 
    198197                queryStr.append("WHERE{\n"); 
     
    254253                try { 
    255254                        long start = System.currentTimeMillis(); 
    256                         qexec = QueryExecutionFactory.create(query, model); 
     255                        qexec = QueryExecutionFactory.create(query, dataset.getModel()); 
    257256                        results = qexec.execSelect(); 
    258257                        long end = System.currentTimeMillis(); 
     
    363362*/ 
    364363 
    365         public LabelMap[] getLabels(String[] graphURIs, String[] resourceURIs, 
     364        public LabelMap[] getLabels(String graphURI, String[] resourceURIs, 
    366365                        String language) throws Exception { 
    367                 if (resourceURIs == null || resourceURIs.length == 0) { 
    368                         return new LabelMap[0]; 
    369                 } 
     366//              if (resourceURI == null || resourceURIs.length == 0) { 
     367//                      return new LabelMap[0]; 
     368//              } 
     369         
     370                String targetGraphURI = filterGraphURIs(graphURI); 
     371                Dataset dataset = crawledMetadata.getDataset(targetGraphURI); 
     372 
     373                 
    370374                StringBuffer queryStr = new StringBuffer(); 
    371375                queryStr.append("PREFIX owl: <http://www.w3.org/2002/07/owl#>\n"); 
     
    373377                queryStr.append("PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>\n"); 
    374378                queryStr.append("SELECT DISTINCT ?res ?label \n"); 
    375                 if (graphURIs != null) { 
    376                         for (String graphURI : graphURIs) { 
     379                if (targetGraphURI != null) { 
    377380                                queryStr.append("FROM <"); 
    378                                 queryStr.append(graphURI); 
     381                                queryStr.append(targetGraphURI); 
    379382                                queryStr.append(">\n"); 
    380                         } 
    381383                } 
    382384                queryStr.append("WHERE{\n"); 
     
    399401 
    400402                Query query = QueryFactory.create(queryStr.toString()); 
    401                 QueryExecution qexec = QueryExecutionFactory.create(query, model); 
     403                QueryExecution qexec = QueryExecutionFactory.create(query, dataset.getModel()); 
    402404                 
    403405                ResultSet results = qexec.execSelect();