Abstract. This document lists a selection of queries that have been used in the discussions of the RDF Data Access Working Group.
Last updated 2004-07-23
Optional triples: single optional triple case.
Optional triples: multiple triples in one optional clause. Must find a name for each person known.
Optional triples: multiple optional clauses.
Optional triples: single optional triple case.
# Get name, and optionally the mbox, of each person
SELECT ?name ?mbox
WHERE
(?person foaf:name ?name)
OPTIONAL
(?person foaf:mbox ?mbox)
USING foaf FOR <http://xmlns.com/foaf/0.1/>
| name | mbox |
|---|---|
| "Alice" | <mailto:alice@work> |
| "Bob" | <mailto:bob@work> |
| "Bob" | <mailto:bob@home> |
| "Eve" | NULL |
Optional triples: multiple triples in one optional clause. Must find a name for each person known.
# Get names of people, together with the names of people they know.
SELECT ?name, ?name2
WHERE
(?person foaf:name ?name)
OPTIONAL
(?person foaf:knowns ?p2)
(?p2 foaf:name ?name2)
USING foaf FOR <http://xmlns.com/foaf/0.1/>
| name | name2 |
|---|---|
| "Alice" | "Bob" |
| "Eve" | NULL |
| "Bob" | "Alice" |
Optional triples: multiple optional clauses.
# Get names and mboxes, each of which may be optional.
SELECT ?name, ?mbox
WHERE
(?person rdf:type foaf:Person)
OPTIONAL
(?person foaf:name ?name)
OPTIONAL
(?person foaf:mbox ?mbox)
USING foaf FOR <http://xmlns.com/foaf/0.1/>
| name | mbox |
|---|---|
| "Bob" | <mailto:bob@home> |
| "Alice" | <mailto:alice@work> |
| "Bob" | <mailto:bob@work> |
| NULL | <test:fred@edu> |
| "Eve" | NULL |