差分発生行の前後
無視リスト:
更新日時:
2014/09/25 15:42:35 (10 年 前)
更新者:
nori
ログメッセージ:

Metadataファイルの管理プログラム V1

ファイル:
1 変更

凡例:

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

    r158 r160  
    22 
    33import java.io.File; 
     4import java.util.Calendar; 
     5import java.util.Date; 
     6import java.util.HashSet; 
     7 
     8import jp.riken.accc.db.rdf.crawler.dataStructure.sparql.URICollection; 
     9 
     10import org.apache.jena.riot.RDFDataMgr; 
     11 
     12import com.hp.hpl.jena.rdf.model.Literal; 
     13import com.hp.hpl.jena.rdf.model.Model; 
     14import com.hp.hpl.jena.rdf.model.NodeIterator; 
     15import com.hp.hpl.jena.rdf.model.Property; 
     16import com.hp.hpl.jena.rdf.model.RDFNode; 
     17import com.hp.hpl.jena.rdf.model.Resource; 
    418 
    519public class MetadataFile { 
    620 
     21        Model model = null; 
     22        String endpointURI = null; 
     23        Calendar startDateTime = null; 
     24        Calendar endDateTime = null; 
    725         
    826        public MetadataFile(File file) throws Exception{ 
     
    1028        } 
    1129 
     30        public String getEndpointURI(){ 
     31                return endpointURI; 
     32        } 
     33 
     34        public Calendar getStartDateTime(){ 
     35                return startDateTime; 
     36        } 
     37 
     38        public Calendar getEndDateTime(){ 
     39                return endDateTime; 
     40        } 
     41         
     42         
    1243        private void readFile(File file) throws Exception{ 
     44                model = RDFDataMgr.loadModel(file.getAbsolutePath()); 
     45                Property sd_endpoint = model.getProperty(URICollection.PROPERTY_SD_ENDPOINT); 
     46                NodeIterator nit = model.listObjectsOfProperty(sd_endpoint); 
     47                Resource endPointRes = null; 
     48                endpointURI = null; 
     49                if( nit.hasNext() ){ 
     50                                RDFNode endPointNode = nit.next(); 
     51                                endPointRes = endPointNode.asResource(); 
     52                                endpointURI = endPointRes.getURI(); 
     53                } 
    1354                 
     55                Property sd_default_dataset = model.getProperty(URICollection.PROPERTY_SD_DEFAULT_DATA_SET); 
     56                nit = model.listObjectsOfProperty(sd_default_dataset); 
     57                Resource defaultDataSet = null; 
     58                if( nit.hasNext() ){ 
     59                        RDFNode node = nit.next(); 
     60                        defaultDataSet = node.asResource(); 
     61                } 
     62                // log 
     63                Property sbm_crawlLog = model.getProperty(URICollection.PROPERTY_SB_CRAWL_LOG); 
     64                nit = model.listObjectsOfProperty(sbm_crawlLog); 
     65                Resource crawlLogBlankNode = null; 
     66                if( nit.hasNext() ){ 
     67                                RDFNode node = nit.next(); 
     68                                crawlLogBlankNode = node.asResource(); 
     69                } 
     70                // start 
     71                Property sbm_startTime = model.getProperty(URICollection.PROPERTY_SB_CRAWL_START_TIME); 
     72                nit = model.listObjectsOfProperty(sbm_startTime); 
     73                startDateTime = null; 
     74                if( nit.hasNext() ){ 
     75                        Literal startTimeLit = null; 
     76                        RDFNode node = nit.next(); 
     77                        startTimeLit = node.asLiteral(); 
     78                        startDateTime = ((com.hp.hpl.jena.datatypes.xsd.XSDDateTime)(startTimeLit.getValue())).asCalendar(); 
     79                } 
     80                // end 
     81                Property sbm_endTime = model.getProperty(URICollection.PROPERTY_SB_CRAWL_END_TIME); 
     82                nit = model.listObjectsOfProperty(sbm_endTime); 
     83                endDateTime = null; 
     84                if( nit.hasNext() ){ 
     85                        Literal endTimeLit = null; 
     86                        RDFNode node = nit.next(); 
     87                        endTimeLit = node.asLiteral(); 
     88                        endDateTime = ((com.hp.hpl.jena.datatypes.xsd.XSDDateTime)(endTimeLit.getValue())).asCalendar(); 
     89                } 
     90 
    1491        } 
    1592