Проблема при выполнении запроса с фильтром MINUS в JENA - PullRequest
0 голосов
/ 02 июня 2019

Я хочу добавить фильтр MINUS в запрос, но когда я его добавляю, запрос просто не выполняется, но когда я удаляю фильтр MINUS, запрос выполняется нормально.

Это код, когда я использую МИНУС:

Query sparql = QueryFactory.create("PREFIX sosa: <http://www.w3.org/ns/sosa/>\r\n" + 
                "PREFIX owl: <http://www.w3.org/2002/07/owl#>\r\n" + 
                "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>" +
                "SELECT ?s ?c ?p ?o FROM <http://147.27.60.65/sensorOntology> WHERE {?s rdf:type owl:NamedIndividual.\r\n" + 
                "?p rdf:type owl:ObjectProperty.\r\n" + 
                "?c rdf:type owl:Class.\r\n" + 
                "?s rdf:type ?c.\r\n" +
                "?s ?p ?o\r\n" + 
                "MINUS {?s rdf:type owl:Thing}\r\n" + 
                "}");
QueryExecution vqe = QueryExecutionFactory.create(sparql, inf);

Это код, который выполняется правильно, когда я не использую МИНУС:

Query sparql = QueryFactory.create("PREFIX sosa: <http://www.w3.org/ns/sosa/>\r\n" + 
                "PREFIX owl: <http://www.w3.org/2002/07/owl#>\r\n" + 
                "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>" +
                "SELECT ?s ?c ?p ?o FROM <http://147.27.60.65/sensorOntology> WHERE {?s rdf:type owl:NamedIndividual.\r\n" + 
                "?p rdf:type owl:ObjectProperty.\r\n" + 
                "?c rdf:type owl:Class.\r\n" + 
                "?s rdf:type ?c.\r\n" +
                "?s ?p ?o}");
         QueryExecution vqe = QueryExecutionFactory.create(sparql, inf);

Что-то не так с синтаксисом? Может быть, я запрашиваю тип InfModel

...