Dataset Bricklink
Published 14th March 2011
Type SPARQL Endpoint
Users 14

SPARQL Endpoint

Use the SPARQL 1.1 query language to perform structured queries against a dataset. Useful for performing precise queries against a dataset whose structure you understand.

Documentation

Endpoint URL

http://api.kasabi.com/dataset/bricklink/apis/sparql
Login to test this query using our experimental API explorer

Authentication

You will need your API key (on your dashboard) in order to authenticate to this API. You have two options for authentication:

  • By URL Parameter -- add the apikey parameter to your request URL, with your key as the value
  • By Request Header -- add a custom HTTP header called X_KASABI_APIKEY to your HTTP request, with your key as the value

For more information on Kasabi authentication options read the authentication documentation. Your API key will need to be authorized to use this service.

Parameters

This API supports the following request parameters:

Parameter NameParameter Value(s)Required?Notes
queryURL encoded SPARQL queryYesThis is the query to execute against the dataset
outputShort name for desired response formatNoSupports selecting response format using url parameter rather than HTTP Accept header.

HTTP Response Codes

Clients should be prepared to receive any valid HTTP response code. The following table lists the most frequently used codes

CodeMeaning
200 OKSuccessful Request
400 Bad RequestMissing or malformed SPARQL query
401 Not AuthorizedAPI key is not authorized to access the data

Please also review our additional notes on response codes.

Response Formats

Query Type Response Format Accept Header output parameter Notes
SELECT or ASK application/sparql-results+json application/sparql-results+json json Return results in SPARQL JSON results format
SELECT or ASK application/sparql-results+xml application/sparql-results+json xml Return results in SPARQL XML results format
CONSTRUCT or DESCRIBE application/rdf application/rdf rdf (or xml) Return results as RDF/XML
CONSTRUCT or DESCRIBE application/rdf application/rdf rdf (or xml) Return results as RDF/XML
CONSTRUCT or DESCRIBE application/json application/json json Return results as RDF/JSON
CONSTRUCT or DESCRIBE text/turtle text/turtle turtle Return results as Turtle
CONSTRUCT or DESCRIBE text/plain text/plain ntriples Return results as NTriples

Sample Queries

Change <http://data.kasabi.com/dataset/bricklink/set/MYSET/inventory> to have your set id.

Query: 
select ?partid ?quantity where { <http://data.kasabi.com/dataset/bricklink/set/MYSET/inventory> <http://purl.org/dc/terms/hasPart> ?part . ?part <http://data.kasabi.com/dataset/bricklink/schema/item> ?partid . ?part <http://www.w3.org/1999/02/22-rdf-syntax-ns#value> ?quantity . }
Login to test this query using our experimental API explorer Permalink to this sample query

This query simply returns a list of lego sets, including their URI, name and identifier where the sets are all in a specific category. In this case its the "Space" category which applies to the Lego Classic space theme.

Query: 
PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX bricklink: <http://data.kasabi.com/dataset/bricklink/schema/> SELECT ?set ?id ?label WHERE { ?set a bricklink:Set; bricklink:category ?category; dcterms:identifier ?id; rdfs:label ?label. ?category skos:prefLabel "Space". }
Login to test this query using our experimental API explorer Permalink to this sample query

This query returns a list of the categories in the system that have Lego Sets in them, along with a count of how many sets there are. The results are returned in descending order, so the category with the most sets is returned first.

Query: 
PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX bricklink: <http://data.kasabi.com/dataset/bricklink/schema/> SELECT ?category (count(?set) as ?count) WHERE { ?set bricklink:category ?category; a bricklink:Set. ?category skos:prefLabel ?label; a skos:Concept. } GROUP BY ?category ORDER BY DESC(?count)
Login to test this query using our experimental API explorer Permalink to this sample query
Create a sample query