RDF can be expressed in a variety of different serialization formats. It can also be used inline with HTML. Following is an example of the most widely used of these formats so that you can compare them at a glance. RDF/XML An XML-based syntax for RDF graphs that was the first standard format for serializing […]

Return items with recorded date less than given date PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX web: <http://base22.com/ont/web#> SELECT * WHERE { ?subject dcterms:title ?title. ?subject dcterms:abstract ?abstract. ?subject web:publishDate ?publishDate. FILTER (?publishDate < “2016-09-28T19:19:02.982Z”^^xsd:dateTime) }   […]

Limit the number of results returned PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX bc: <http://www.base22.com/ontologies/2010/5/bc.owl#> SELECT * WHERE { ?subject bc:hasEmployer <http://www.base22.com/ontologies/2010/5/my-contacts.owl#IBM> . ?subject bc:hasBusinessEmail ?email . } LIMIT 5 The LIMIT keyword is used after the WHERE clause, followed by a numerical value. In this case, of course, only 5 results are returned. LIMIT is a solution […]

Find the person entries in Tim Berners-Lee’s FOAF file that do not contain a URL for the person’s FOAF file. Try this on ARQ. PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?name FROM <http://www.w3.org/People/Berners-Lee/card> WHERE { ?person a foaf:Person ; foaf:name ?name . MINUS { ?person rdfs:seeAlso ?url } }   […]

Retrieve the second page of names and emails of people in Tim Berners-Lee’s FOAF file, given that each page has 10 people. Try this on ARQ. PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?email FROM <http://www.w3.org/People/Berners-Lee/card> WHERE { { SELECT DISTINCT ?person ?name WHERE { ?person foaf:name ?name } ORDER BY ?name LIMIT 10 OFFSET 10 } OPTIONAL […]

Is the Amazon river longer than the Nile river? You can also try this one against DBPedia… PREFIX prop: <http://dbpedia.org/property/> ASK { <http://dbpedia.org/resource/Amazon_River> prop:length ?amazon . <http://dbpedia.org/resource/Nile> prop:length ?nile . FILTER(?amazon > ?nile) . } The answer is: false. Note: The WHERE keyword is optional–not only in ASK queries but in all SPARQL queries. Does […]

Here’s a SPARQL query that counts all statements (triples) in a repository. SELECT (COUNT(?s) AS ?triples) WHERE { ?s ?p ?o } Note that this can be a long running query. For me it took took 21 seconds to count the statements in a repository with 30 million triples. […]

Federate data from 2 endpoints Find the birth dates of all of the actors in Star Trek: The Motion Picture. Try this on ARQ. PREFIX movie: <http://data.linkedmdb.org/resource/movie/> PREFIX dbpedia: <http://dbpedia.org/ontology/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?actor_name ?birth_date FROM <http://www.w3.org/People/Berners-Lee/card> # placeholder graph WHERE { SERVICE <http://data.linkedmdb.org/sparql> { <http://data.linkedmdb.org/resource/film/675> movie:actor ?actor . ?actor movie:actor_name ?actor_name } SERVICE […]

Insert some statements PREFIX <http://bedrock/> INSERT DATA { :fred :hasSpouse :wilma . :fred :hasChild :pebbles . :wilma :hasChild :pebbles . :pebbles :hasSpouse :bamm-bamm ; :hasChild :roxy, :chip. } Insert data into a named graph INSERT DATA { GRAPH <http://example.org/myGraph> { <http://example.org/subject> <http://example.org/predicate> <http://example.org/object> } } Inserts into a specific Graph. You can insert as many […]

An example SPARQL query filtering for resources within a given date range (between two given dates). PREFIX c: <https://carbonldp.com/ns/v1/platform#> SELECT ?document ?createdDate WHERE { ?document c:created ?createdDate FILTER (?createdDate < “2017-04-18T22:29:33.667Z”^^xsd:dateTime && ?createdDate > “2017-04-18T21:37:37.708Z”^^xsd:dateTime) } LIMIT 100   […]