ORDER BY solution modifier in CONSTRUCT pattern of SPARQL

Course Queries Syllabus Queries 3 years ago

7.01K 2 0 0 0

User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.

Answers (2)

Post Answer
profilepic.png
manpreet Tuteehub forum best answer Best Answer 3 years ago

 

I followed SPARQL 1.1 section 10.2 CONSTRUCT and have the following SPARQL query which returns all triples whose subject has type Homework and which also have an event date.

CONSTRUCT  { ?s ?p ?o } WHERE 
{
 GRAPH ?g { ?s ?p ?o } .
 { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   
    <http://lod.isi.edu/ontology/syllabus/Homework> 
 }.

 { ?s <http://lod.isi.edu/ontology/syllabus/hasEventDate> ?date}.
}

Now, I want to retrieve the results in ascending/descending order of the event date, ?date. I tried adding the order by modifier as shown below, but there are parse errors in the OpenRDF workbench.

CONSTRUCT  { ?s ?p ?o } WHERE 
{
 GRAPH ?g { ?s ?p ?o } .
 { ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>   
    <http://lod.isi.edu/ontology/syllabus/Homework> 
 }.

 { ?s <http://lod.isi.edu/ontology/syllabus/hasEventDate> ?date}.
 ORDER BY DESC(?date)

}
Encountered " "order" "ORDER "" at line 9, column 6. Was expecting one of:
"(" ... "{" ... "}" ... "[" ...  ...  ... "optional" ...
"https://forum.tuteehub.com/tag/graph">graph" ... "minus" ... "filter" ... "true" ... "false" ... "bind" ...
"service" ... "values" ...  ...  ...  ...
 ...  ...  ...  ...  ...
 ...  ...  ...
 ...  ...  ...
 ...  ...  ...
 ...  ...
0 views
0 shares

profilepic.png
manpreet 3 years ago

The problem is that your ORDER BY clause is not in the correct place in the query. It should be after the closing bracket that closes the WHERE clause:

CONSTRUCT  { ?s ?p ?o } 
WHERE 
{
 GRAPH ?g { ?s ?p ?o } 
 ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#https://forum.tuteehub.com/tag/type">type> <http://lod.isi.edu/ontology/syllabus/Homework> .
 ?s <http://lod.isi.edu/ontology/syllabus/hasEventDate> ?date .
}
ORDER BY ASC(?date)

Also note that several of the curly braces in your original query are, although not exactly https://forum.tuteehub.com/tag/wrong">wrong, superfluous.


0 views   0 shares

No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.

Similar Forum