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!!!
