Я хочу добавить фильтр 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