SPARQL

Expressions are evaluated exactly in the order they are declared including filtering and joining of data.

The combination of list-aware subjects and objects plus a pipeline approach can yield extremely expressive queries spanning many different domains of data.

Literal nodes carry type information consistent with the underlying XSD namespace including signed and unsigned short and long integers, single and double precision floats, datetime, penny-precise decimal, Boolean, and string.

Polymorphic databases such as MongoDB and SQLite can store the native value directly into the object field.

For the sake of readability, the author of this query chose to reference the subject using the variable name "?person".

Since the first element of the triple is always the subject, the author could have just as easily used any variable name, such as "?subj" or "?x".

This query returns the ?name and ?email because ?person is often a complex URI rather than a human-friendly string.

An important consideration in SPARQL is that when lookup conditions are not met in the pipeline for terminal entities like ?email, then the whole row is excluded, unlike SQL where typically a null column is returned.

To align the output with that expected from an equivalent SQL query, the OPTIONAL keyword is required:

Whether in a federated manner or locally, additional triple definitions in the query could allow joins to different subject types, such as automobiles, to allow simple queries, for example, to return a list of names and emails for people who drive automobiles with a high fuel efficiency.

To make queries concise, SPARQL allows the definition of prefixes and base URIs in a fashion similar to Turtle.

Here is a query that will return all pieces of software where the EOL date is greater than or equal to 1000 days from the release date and the release year is 2020 or greater: GeoSPARQL defines filter functions for geographic information system (GIS) queries using well-understood OGC standards (GML, WKT, etc.).

It enables the RDF store to be updated with this declarative query language, by adding INSERT and DELETE methods.