Joins and NULLs in SPARQL - Stardog
Joins play a pretty important role for defining the semantics of evaluating SPARQL queries even though they are not a part of the SPARQL syntax. One does not have to think about joins as long as their queries are restricted to basic graph patterns. However once more complex constructs appear in the query, their results are typically combined using the good old relational join operator. It has certain quirks, for example, in how it deals with nulls, and it's important to understand those to avoid result explosion and performance problems.