SPARQL language preview
1. SELECT with FILTER
keywords, variables, prefixed names, and built-in functions
horizon-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?name ?email
WHERE {
?person a foaf:Person ;
foaf:name ?name .
OPTIONAL { ?person foaf:mbox ?email }
FILTER (LANG(?name) = "en" || !BOUND(?email))
}
ORDER BY ?name
LIMIT 10 atom-one-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?name ?email
WHERE {
?person a foaf:Person ;
foaf:name ?name .
OPTIONAL { ?person foaf:mbox ?email }
FILTER (LANG(?name) = "en" || !BOUND(?email))
}
ORDER BY ?name
LIMIT 10 github-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?name ?email
WHERE {
?person a foaf:Person ;
foaf:name ?name .
OPTIONAL { ?person foaf:mbox ?email }
FILTER (LANG(?name) = "en" || !BOUND(?email))
}
ORDER BY ?name
LIMIT 10 dracula
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?name ?email
WHERE {
?person a foaf:Person ;
foaf:name ?name .
OPTIONAL { ?person foaf:mbox ?email }
FILTER (LANG(?name) = "en" || !BOUND(?email))
}
ORDER BY ?name
LIMIT 10 nord
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?name ?email
WHERE {
?person a foaf:Person ;
foaf:name ?name .
OPTIONAL { ?person foaf:mbox ?email }
FILTER (LANG(?name) = "en" || !BOUND(?email))
}
ORDER BY ?name
LIMIT 10 github
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?name ?email
WHERE {
?person a foaf:Person ;
foaf:name ?name .
OPTIONAL { ?person foaf:mbox ?email }
FILTER (LANG(?name) = "en" || !BOUND(?email))
}
ORDER BY ?name
LIMIT 10 2. CONSTRUCT
building a new graph from a WHERE pattern
horizon-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?person foaf:knows ?friend .
}
WHERE {
?person foaf:friendOf ?friend .
FILTER NOT EXISTS { ?person foaf:knows ?friend }
} atom-one-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?person foaf:knows ?friend .
}
WHERE {
?person foaf:friendOf ?friend .
FILTER NOT EXISTS { ?person foaf:knows ?friend }
} github-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?person foaf:knows ?friend .
}
WHERE {
?person foaf:friendOf ?friend .
FILTER NOT EXISTS { ?person foaf:knows ?friend }
} dracula
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?person foaf:knows ?friend .
}
WHERE {
?person foaf:friendOf ?friend .
FILTER NOT EXISTS { ?person foaf:knows ?friend }
} nord
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?person foaf:knows ?friend .
}
WHERE {
?person foaf:friendOf ?friend .
FILTER NOT EXISTS { ?person foaf:knows ?friend }
} github
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT {
?person foaf:knows ?friend .
}
WHERE {
?person foaf:friendOf ?friend .
FILTER NOT EXISTS { ?person foaf:knows ?friend }
} 3. Property paths and typed literals
a property path expression and a lang/datatype-tagged literal
horizon-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?age WHERE {
?person foaf:knows+/foaf:name ?name .
?person foaf:age "30"^^xsd:integer ;
foaf:label "Alice"@en .
FILTER (?age > 18)
} atom-one-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?age WHERE {
?person foaf:knows+/foaf:name ?name .
?person foaf:age "30"^^xsd:integer ;
foaf:label "Alice"@en .
FILTER (?age > 18)
} github-dark
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?age WHERE {
?person foaf:knows+/foaf:name ?name .
?person foaf:age "30"^^xsd:integer ;
foaf:label "Alice"@en .
FILTER (?age > 18)
} dracula
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?age WHERE {
?person foaf:knows+/foaf:name ?name .
?person foaf:age "30"^^xsd:integer ;
foaf:label "Alice"@en .
FILTER (?age > 18)
} nord
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?age WHERE {
?person foaf:knows+/foaf:name ?name .
?person foaf:age "30"^^xsd:integer ;
foaf:label "Alice"@en .
FILTER (?age > 18)
} github
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?name ?age WHERE {
?person foaf:knows+/foaf:name ?name .
?person foaf:age "30"^^xsd:integer ;
foaf:label "Alice"@en .
FILTER (?age > 18)
}