Learning SPARQL

Errata for Learning SPARQL

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color Key: Serious Technical Mistake Minor Technical Mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date Submitted Date Corrected
Page 6
1st paragraph

The paragraph states that one can run ex007.rq without specifying the ex002.ttl file. However, with Apache Jena 3.13.1-1 on Archlinux, I get the following error: [heumos@wave LearningSPARQLExamples]$ arq --query ex007.rq Exception java.lang.NullPointerException at org.apache.jena.query.QueryExecutionFactory.make(QueryExecutionFactory.java:615) at org.apache.jena.query.QueryExecutionFactory.create(QueryExecutionFactory.java:94) at arq.query.lambda$queryExec$0(query.java:224) at org.apache.jena.system.Txn.exec(Txn.java:77) at org.apache.jena.system.Txn.executeRead(Txn.java:115) at arq.query.queryExec(query.java:222) at arq.query.exec(query.java:153) at jena.cmd.CmdMain.mainMethod(CmdMain.java:93) at jena.cmd.CmdMain.mainRun(CmdMain.java:58) at jena.cmd.CmdMain.mainRun(CmdMain.java:45) at arq.arq.main(arq.java:28) I suspect this might not be the book's fault, but the one of arq. But I don't know for sure.

Note from the Author or Editor:
I reproduced the error with Jena 3.13.1 after getting it to run fine with 3.10.0 and will report the problem to the Jena mailing list. The example does need revision. In https://lists.apache.org/list.html?users@jena.apache.org see Andy Seaborne's 2019/11/30 22:20:58 response in the thread with a subject of "arq bug?"

Simon Heumos  Nov 28, 2019 
Page 9
3rd line

instead of "ab:i8301" it should be "d:i8301" and also same thing is used in subsequent lines.

Note from the Author or Editor:
This is in the three paragraphs of descriptive text following example ex013.rq. The report is correct.

Saagar Takhi  Jan 31, 2015 
Page 50 & 264
United States

There are two different ex047.rq examples, so one of them should be renamed along with references to it.

Bob DuCharme
Bob DuCharme
Jun 11, 2014 
Page 70
bottom of page 70

rdfs:label should not be in the result of running ex092.rq with ex069.ttl.

Note from the Author or Editor:
Run it again and substitute the correct output.

Bob DuCharme  Apr 27, 2014 
Page 75
Last paragraph

The statement "let's say we say we have some data" is redundant, probably the author meant to write "let's say we have some data".

Note from the Author or Editor:
remove "we say"

Carlos Bustamante  Aug 16, 2017 
Page 81
United States

FROM does not quite say "add the triples from the following graph to the default dataset" because when you use FROM, the query engine does not look at the default dataset. http://www.w3.org/TR/sparql11-query/#specifyingDataset shows that it's a " merge of the graphs referred to in the FROM clauses."

Bob DuCharme  Aug 24, 2014 
Page 103
Remote queries not working on arq

Queries ex 166.rq (pg 103), ex167.rq, ex539.rq, ex170.rq, ex178.rq, ex180.rq and others do not work on arq. Error has "ImplException: 4/UNWISE_CHARACTER in PATH etc.. Please could you suggest what the problem could be, thanks!

Note from the Author or Editor:
(Basically, all queries that reference remote data need to be retested with the latest version of arq. Here is what I will send:) ex166.rq and ex539.rq: I think there's been a change to Jena (the library behind arq) so that it doesn't do remote retrieval like that any more. this worked; note that it doesn't actually use ex536.ttl, but like the warning notice on page 103 says, arq expects you to list some data file on the command line. See that warning message for more details. arq --query ex167.rq --data ex536.ttl ex170: the following command just now shows that that server happens to be down, which may have been the case when you tried it: curl http://wifo5-04.informatik.uni-mannheim.de/gutendata/sparql ex178 looks for data from the same server. ex180: arq seems to treat named graphs differently now, offering a new command line option for identifying them. This worked for me: arq --query ex180.rq --namedGraph=ex122.ttl For the "ImplException: 4/UNWISE_CHARACTER in PATH etc..<p>" error message, could you email me at bob@snee.com with the files you used, the command line you used, and tell me the version of arq that you used?

Anonymous  Jun 17, 2016 
Page 130
13th line from the bottom

ex209.rq does not provide the same results for the third problem as ex207.rq. The variable used for items was changed in the code from "?item" to "?prob44item", but in the OPTIONAL clause, the ?item variable was not changed. The result is that d:item432 is returned as an instance of dm:prob44, as displayed on p. 131, even though this item had in fact been approved by a Supervisor at Job Grade 5. Change "?item" to "?prob44item" in the third UNION, and the correct results are returned.

Note from the Author or Editor:
Mark is correct about the problem and the proposed solution.

Anonymous  Apr 24, 2016 
Page 137
United States

In the RDF/XML example, the rdf:about value should say ns/data#item342 instead of ns/demo#item342.

Note from the Author or Editor:
Submitted myself, will fix.

Bob DuCharme  Jul 22, 2014 
Page 181

Because Python has been updated with some backward-incompatible parts, the example at the bottom of this page does not work with the latest release of Python and should be updated.

Note from the Author or Editor:
update script

Bob DuCharme  Apr 19, 2014 
Page 259
example ex417

The two files that have photographer values should have extensions of jpg, not mp3.

Bob DuCharme  Feb 19, 2015