Ignoring Missing Graphs

By default, AnzoGraph returns a "No such graph or view" error and aborts the query if a query references a graph that does not exist. You can configure AnzoGraph to conform to the SPARQL specification and return an empty result instead of an error, however, if a query references a missing graph. Follow the instructions below to

  1. Stop the database.
  2. On the leader node, open the AnzoGraph settings file, settings.conf, in a text editor. The file is in the install_path/config directory.
  3. In settings.conf, uncomment the enable_unbound_variables=false line and change the value to true:
    enable_unbound_variables=true
  4. Save and close settings.conf.
  5. Restart the database to apply the configuration change.
Note In addition to allowing queries that reference non-existent graphs to succeed, setting enable_unbound_variables to true also configures AnzoGraph to ignore unbound variables elsewhere in queries. For example, by default (when enable_unbound_variables=false), if a query includes a variable in the SELECT list that is not referenced in a WHERE clause pattern, AnzoGraph aborts the query and returns a "Named variable not in contained WHERE clause" error. When enable_unbound_variables=true, AnzoGraph does not warn the user about unbound variables. Instead, the results are empty for the unbound variable. For example:
SELECT ?unbound ?person ?name
FROM <http://cambridgesemantics.com/people>
WHERE {?person <http://cambridgesemantics.com/people#firstname> ?name}
LIMIT 5
 unbound | person      | name
---------+-------------+---------
	 | person35632 | Ross
         | person20216 | Quin
         | person35859 | Kellie
	 | person2551  | Maris
	 | person24963 | Madonna
5 rows
Related Topics