SlideShare a Scribd company logo
1 of 8
Download to read offline
Software demo
SPARQList: Markdown-based highly
configurable REST API hosting server for
SPARQL
Toshiaki Katayama <ktym@dbcls.jp>
http://jp.linkedin.com/in/toshiakikatayama
Database Center for Life Science (DBCLS),
Joint Support-Center for Data Science Research,
Research Organization of Information and Systems (ROIS), Japan
2017/12/6 @ SWAT4HCLS, Rome
SPARQListREST query
SPARQL
endpoint
Parameters SPARQL query
SPARQL resultFormatted result
Data transformation
Query construction
Configuration written in Markdown
* Documentation of the REST API
* SPARQL endpoint(s)
* Query parameter(s) (w/ default values)
* SPARQL query template(s)
* JavaScript data transformation function(s)
* Content-type negotiation
Markdown-based configuration
# Title of the API
Some description
## Parameters
* `param_name` description
* default: default value
## Endpoint
SPARQL endpoint URI
## `var_name` description
Some comments
```sparql
SELECT * WHERE {
VALUES ?var { "{{param_name}}" }
...
}
```
## Data transformation (optional)
Content-type negotiation aware JS
snippet
```javascript
({var_name}) =>
{ transformation_function }
```
Each REST API configuration is called SPARQLet
written in the Markdown format.
Admin can newly create a API configuration or
just copy those files to the server to host.
ktym@server:sparqlist%	tree	repository/

repository/

├──	adjacent.md

├──	bh_chart.md

├──	bh_graph.md

├──	bh_info.md

├──	bh_list.md

├──	d3sparql_barchart.md

├──	d3sparql_circlepack.md

├──	d3sparql_coordmap.md

├──	d3sparql_dendrogram.md

├──	d3sparql_forcegraph.md

├──	d3sparql_htmlhash.md

├──	d3sparql_htmltable.md

├──	d3sparql_namedmap.md

├──	d3sparql_piechart.md

├──	d3sparql_roundtree.md

├──	d3sparql_sankey.md

├──	d3sparql_sunburst.md

├──	d3sparql_tree_ec.md

├──	d3sparql_treemap.md

├──	d3sparql_treemapzoom.md

├──	d3sparql_tree_tax.md

├──	describe.md

├──	sake.md

└──	up_interaction_pair.md
User of the API can see the documentation on
the Web page such as:
* Name of the API
* Description of the API
* Parameters and default values
* SPARQL endpoint to be used
* SPARQL query to be executed
* JavaScript data transformation function
* Raw Markdown text
Admin can copy, edit and delete the REST API
configuration.
API configuration can contain any Markdown
text to describe the functionalities of the API.
Admin can edit the API configuration on the
Web browser or directly modify the Markdown
file resides on the server file system.
# Title of the API
Some description
## Parameters
## Endpoint
## SPARQL query
## JavaScript function
User can change parameter values and execute
the API on the Web page or from any Web
client program.
* Execution result will be shown if success
* Stack trace of the execution for debugging
SPARQList = Gist for SPARQL & REST API
GitHub https://github.com/dbcls/sparqlist
Each REST API comes with a GUI to execute / stack trace / copy / edit / delete
with a detailed documentation written in the Markdown text.
http://example.org/<sparqlist_path>/<api_name>
API can take multiple parameters and be configured for content-type negotiation
http://example.org/<sparqlist_path>/api/<api_name>?<parameter>=<value>
Please see demos at http://biohackathon.org/rest/ in action.

More Related Content

What's hot

Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
HostedbyConfluent
 
Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008
wbarthol
 

What's hot (12)

Rails 3.1 sneak peak
Rails 3.1 sneak peakRails 3.1 sneak peak
Rails 3.1 sneak peak
 
Zend Framework Quick Start Walkthrough
Zend Framework Quick Start WalkthroughZend Framework Quick Start Walkthrough
Zend Framework Quick Start Walkthrough
 
CakePHP REST Plugin
CakePHP REST PluginCakePHP REST Plugin
CakePHP REST Plugin
 
Deploying and Operating KSQL
Deploying and Operating KSQLDeploying and Operating KSQL
Deploying and Operating KSQL
 
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
Apicurio Registry: Event-driven APIs & Schema governance for Apache Kafka | F...
 
Real time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafkaReal time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafka
 
深入淺出RoR
深入淺出RoR深入淺出RoR
深入淺出RoR
 
Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008Whats New in MSBuild 3.5 and Team Build 2008
Whats New in MSBuild 3.5 and Team Build 2008
 
OBIEE 11g: Configuring LDAP Server
OBIEE 11g: Configuring LDAP Server  OBIEE 11g: Configuring LDAP Server
OBIEE 11g: Configuring LDAP Server
 
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...
Creating Connector to Bridge the Worlds of Kafka and gRPC at Wework (Anoop Di...
 
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
(ATS3-PLAT07) Pipeline Pilot Protocol Tips, Tricks, and Challenges
 
Birds Eye View on API Development - v1.0
Birds Eye View on API Development - v1.0Birds Eye View on API Development - v1.0
Birds Eye View on API Development - v1.0
 

Similar to SPARQList

Java New Evolution
Java New EvolutionJava New Evolution
Java New Evolution
Allan Huang
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
Leigh Dodds
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
Leigh Dodds
 

Similar to SPARQList (20)

SCR Annotations for Fun and Profit
SCR Annotations for Fun and ProfitSCR Annotations for Fun and Profit
SCR Annotations for Fun and Profit
 
Rspec API Documentation
Rspec API DocumentationRspec API Documentation
Rspec API Documentation
 
SCDJWS 5. JAX-WS
SCDJWS 5. JAX-WSSCDJWS 5. JAX-WS
SCDJWS 5. JAX-WS
 
Spark as a Service with Azure Databricks
Spark as a Service with Azure DatabricksSpark as a Service with Azure Databricks
Spark as a Service with Azure Databricks
 
Salesforce Lightning Web Components Overview
Salesforce Lightning Web Components OverviewSalesforce Lightning Web Components Overview
Salesforce Lightning Web Components Overview
 
LarKC Tutorial at ISWC 2009 - Architecture
LarKC Tutorial at ISWC 2009 - ArchitectureLarKC Tutorial at ISWC 2009 - Architecture
LarKC Tutorial at ISWC 2009 - Architecture
 
Test-Driven Documentation for your REST(ful) service
Test-Driven Documentation for your REST(ful) serviceTest-Driven Documentation for your REST(ful) service
Test-Driven Documentation for your REST(ful) service
 
Java New Evolution
Java New EvolutionJava New Evolution
Java New Evolution
 
SpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptxSpringBootCompleteBootcamp.pptx
SpringBootCompleteBootcamp.pptx
 
SPARQLing Services
SPARQLing ServicesSPARQLing Services
SPARQLing Services
 
Robotframework
RobotframeworkRobotframework
Robotframework
 
RESTful SCA with Apache Tuscany
RESTful SCA with Apache TuscanyRESTful SCA with Apache Tuscany
RESTful SCA with Apache Tuscany
 
Resthub lyonjug
Resthub lyonjugResthub lyonjug
Resthub lyonjug
 
AEM Sightly Deep Dive
AEM Sightly Deep DiveAEM Sightly Deep Dive
AEM Sightly Deep Dive
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
 
Parallelizing Existing R Packages
Parallelizing Existing R PackagesParallelizing Existing R Packages
Parallelizing Existing R Packages
 
Iswc 2009 LarKC Tutorial: Architecture
Iswc 2009 LarKC Tutorial: ArchitectureIswc 2009 LarKC Tutorial: Architecture
Iswc 2009 LarKC Tutorial: Architecture
 
Spring 3 - Der dritte Frühling
Spring 3 - Der dritte FrühlingSpring 3 - Der dritte Frühling
Spring 3 - Der dritte Frühling
 

More from Toshiaki Katayama (6)

SPARQLアプリケーション開発
SPARQLアプリケーション開発SPARQLアプリケーション開発
SPARQLアプリケーション開発
 
BioHackathon 2015 report
BioHackathon 2015 reportBioHackathon 2015 report
BioHackathon 2015 report
 
RDFによるデータ統合と相互運用性のための技術開発
RDFによるデータ統合と相互運用性のための技術開発RDFによるデータ統合と相互運用性のための技術開発
RDFによるデータ統合と相互運用性のための技術開発
 
d3sparql.js
d3sparql.js d3sparql.js
d3sparql.js
 
d3sparql.js demo at SWAT4LS 2014 in Berlin
d3sparql.js demo at SWAT4LS 2014 in Berlind3sparql.js demo at SWAT4LS 2014 in Berlin
d3sparql.js demo at SWAT4LS 2014 in Berlin
 
Introduction to BioHackathon 2014
Introduction to BioHackathon 2014Introduction to BioHackathon 2014
Introduction to BioHackathon 2014
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 

SPARQList

  • 1. Software demo SPARQList: Markdown-based highly configurable REST API hosting server for SPARQL Toshiaki Katayama <ktym@dbcls.jp> http://jp.linkedin.com/in/toshiakikatayama Database Center for Life Science (DBCLS), Joint Support-Center for Data Science Research, Research Organization of Information and Systems (ROIS), Japan 2017/12/6 @ SWAT4HCLS, Rome
  • 2. SPARQListREST query SPARQL endpoint Parameters SPARQL query SPARQL resultFormatted result Data transformation Query construction Configuration written in Markdown * Documentation of the REST API * SPARQL endpoint(s) * Query parameter(s) (w/ default values) * SPARQL query template(s) * JavaScript data transformation function(s) * Content-type negotiation
  • 3. Markdown-based configuration # Title of the API Some description ## Parameters * `param_name` description * default: default value ## Endpoint SPARQL endpoint URI ## `var_name` description Some comments ```sparql SELECT * WHERE { VALUES ?var { "{{param_name}}" } ... } ``` ## Data transformation (optional) Content-type negotiation aware JS snippet ```javascript ({var_name}) => { transformation_function } ```
  • 4. Each REST API configuration is called SPARQLet written in the Markdown format. Admin can newly create a API configuration or just copy those files to the server to host. ktym@server:sparqlist% tree repository/ repository/ ├── adjacent.md ├── bh_chart.md ├── bh_graph.md ├── bh_info.md ├── bh_list.md ├── d3sparql_barchart.md ├── d3sparql_circlepack.md ├── d3sparql_coordmap.md ├── d3sparql_dendrogram.md ├── d3sparql_forcegraph.md ├── d3sparql_htmlhash.md ├── d3sparql_htmltable.md ├── d3sparql_namedmap.md ├── d3sparql_piechart.md ├── d3sparql_roundtree.md ├── d3sparql_sankey.md ├── d3sparql_sunburst.md ├── d3sparql_tree_ec.md ├── d3sparql_treemap.md ├── d3sparql_treemapzoom.md ├── d3sparql_tree_tax.md ├── describe.md ├── sake.md └── up_interaction_pair.md
  • 5. User of the API can see the documentation on the Web page such as: * Name of the API * Description of the API * Parameters and default values * SPARQL endpoint to be used * SPARQL query to be executed * JavaScript data transformation function * Raw Markdown text Admin can copy, edit and delete the REST API configuration. API configuration can contain any Markdown text to describe the functionalities of the API.
  • 6. Admin can edit the API configuration on the Web browser or directly modify the Markdown file resides on the server file system. # Title of the API Some description ## Parameters ## Endpoint ## SPARQL query ## JavaScript function
  • 7. User can change parameter values and execute the API on the Web page or from any Web client program. * Execution result will be shown if success * Stack trace of the execution for debugging
  • 8. SPARQList = Gist for SPARQL & REST API GitHub https://github.com/dbcls/sparqlist Each REST API comes with a GUI to execute / stack trace / copy / edit / delete with a detailed documentation written in the Markdown text. http://example.org/<sparqlist_path>/<api_name> API can take multiple parameters and be configured for content-type negotiation http://example.org/<sparqlist_path>/api/<api_name>?<parameter>=<value> Please see demos at http://biohackathon.org/rest/ in action.