Hello, I'm using SPARQL update (using Ontology API of Jena 2.7.2, to make my system compatible with SPIN API as well) for tagging instances (classifying classes of instances)
and I found that some of my queries take too much time to complete. To make them faster, I'd like to restrict the range of SPARQL queries. For example, assuming '?f' are the instances to be retrieved, I'd like to restrict that "?f belongs to a certain ontology, therefore the system need not to search other ontologies for ?f". The below is one example of my query. ------------------------------------------------------------------------------------------------------------------------- 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#> PREFIX NS_SpatialRelationOntology: <http://sadl.org/SemTagOntology/SpatialRelationOntology#> PREFIX NS_FeatureOntology: <http://sadl.org/SemTagOntology/FeatureOntology#> PREFIX NS_TurbineBladeOntology: <http://sadl.org/SemTagOntology/TurbineBladeOntology#> PREFIX NS_GenericTurbineBlade: <http://sadl.org/SemTagOntology/GenericTurbineBlade#> INSERT{ ?f a NS_TurbineBladeOntology:ConcavePressureSurface } WHERE{ SELECT ?f (COUNT(DISTINCT ?LE) AS ?NumberOfLE) (COUNT(DISTINCT ?TE) AS ?NumberOfTE) (COUNT(DISTINCT ?CSS) AS ?NumberOfCSS) WHERE { ?f a NS_TurbineBladeOntology:AirfoilWall . ?LE a NS_TurbineBladeOntology:AirfoilWall . ?TE a NS_TurbineBladeOntology:AirfoilWall . ?CSS a NS_TurbineBladeOntology:AirfoilWall . ?f NS_SpatialRelationOntology:isAftOf ?LE . ?f NS_SpatialRelationOntology:isStarboardOf ?TE . ?f NS_SpatialRelationOntology:isPortOf ?CSS . } GROUP BY ?f HAVING( (?NumberOfLE = 1) && (?NumberOfTE = 1) && (?NumberOfCSS = 1) ) } ---------------------------------------------------------------------------------------------------------------------------- I tried keyword "FROM ", "FROM NAMED", and "GRAPH" but I was not able to specify the range of query. (I was not able to make valid SPARQL query with "With" keyword) More specifically, when I use the them, it seems like the query set becomes empty. (It cannot retrieve anything, and the execution time is extremely fast) If someone have suggestion about the issue, please let me know. I hope you have a nice day! Regards, SungKu
