We have 6 lakh statements and when trying to hit the  query with the 
configuration below, it is almost taking 90 secs to load the results. Is there 
anything I can do to improve the performance. Also is there any way inferencing 
can be done during loading of the statements rather than runtime as I was 
getting the result in 2 seconds without the reasoner in the configuration.

Query:

PREFIX dip:<http://sce.ccs.utc.com/dip/reference-ontology#> 
PREFIX map-onto:<http://sce.ccs.utc.com/dip/mapping-ontology#> 
PREFIX auth:<http://sce.ccs.utc.com/dip/semantics/authorization#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX owl: <http://www.w3.org/2002/07/owl#> 

SELECT DISTINCT 
  ?datapointURI  ?datapointTYPE  ?datapointLABEL  ?datapointSYSTEM  
?datapointPROVIDER  ?datapointDATAMOD  ?datapointABSTPROP
WHERE 
{
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
 ?datapointURI  rdf:type   ?datapointTYPE . 
 } 
        UNION
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
 ?datapointURI  rdfs:label   ?datapointLABEL . 
 } 
        UNION
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
 ?datapointURI  dip:data_source_url   ?datapointDATAMOD . 
 } 
        UNION
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system   ?datapointSYSTEM . 
 } 
        UNION
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 } 
        UNION
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
 ?datapointURI  dip:abstracts   ?datapointABSTPROP . 
 } 
{


SELECT DISTINCT 
  ?datapointURI
WHERE 
{
 { 
 ?zoneURI  dip:covers  
<http://test.dip.ales/spacetest#03d78792bb3eb3086b9e4135> . 
 ?zoneURI  dip:has_scene_property   ?zonePROP . 
 ?datapointURI  dip:abstracts   ?zonePROP . 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 } 
        UNION
 { 
<http://test.dip.ales/spacetest#03d78792bb3eb3086b9e4135>  
dip:spatial_containment   ?deviceURI . 
 ?deviceURI  dip:provides_info_object   ?datapointURI . 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 } 
        UNION
 { 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 ?datapointPROVIDER  dip:provides_info_object   ?datapointURI . 
 ?datapointPROVIDER  dip:in_system  <http://dip.bis.utc.com/7#bacnet_7> . 
<http://test.dip.ales/spacetest#03d78792bb3eb3086b9e4135>  
dip:contains_hardware / dip:contains_hardware_device   ?deviceURI . 
 ?deviceURI  dip:provides_info_object   ?datapointURI . 
 ?datapointURI  rdf:type   dip:DataPoint  . 
 } 
}

}
}



Configuration:
==========
@prefix :        <#> .
@prefix fuseki:  <http://jena.apache.org/fuseki#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix tdb2:  <http://jena.apache.org/2016/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .

[] rdf:type fuseki:Server ;
   fuseki:services (        
     <#dip>
   ) .

# TDB
#[] ja:loadClass "org.apache.jena.tdb.TDB" .
#tdb:DatasetTDB  rdfs:subClassOf  ja:RDFDataset .
#tdb:GraphTDB    rdfs:subClassOf  ja:Model .

## ---------------------------------------------------------------

<#dip> rdf:type fuseki:Service ;
    # URI of the dataset -- http://host:port/dip 
    fuseki:name                        "dip" ; 
    fuseki:serviceQuery                "sparql" ;
    fuseki:serviceQuery                "query" ;
    fuseki:serviceUpdate               "update" ;
    fuseki:serviceUpload               "upload" ;
    fuseki:serviceReadWriteGraphStore  "data" ;     
    fuseki:serviceReadGraphStore       "get" ;
    fuseki:dataset                     <#dip_tbd> ;
    .

#TBD
<#dip_tbd> rdf:type ja:RDFDataset ;
     ja:defaultGraph <#infModel>  ;      
         tdb:fileMode "direct" ;
         .

<#infModel>  a ja:InfModel ;
      ja:baseModel <#tdbGraph>;
      ja:reasoner
         [ja:reasonerURL
             <http://jena.hpl.hp.com/2003/OWLMicroFBRuleReasoner>].

<#tdbGraph>  rdf:type tdb2:GraphTDB ;
        tdb2:location "C:\\etc\\fuseki/databases/dip5" ;
        tdb2:unionDefaultGraph true ;

        .


Thanks for the help!!!

Reply via email to