SlideShare a Scribd company logo
1 of 19
Download to read offline
A BASILar Approach
for Building Web APIs on top of SPARQL
Endpoints
1
Enrico Daga, Luca Panziera and Carlos Pedrinaci
June	
  1st,	
  2015	
  	
  
Services	
  and	
  Applica7ons	
  over	
  Linked	
  APIs	
  and	
  Data	
  -­‐	
  ESWC2015	
  workshop	
  
hDp://salad2015.linked.services/
Background
Distributed systems based on open data are a challenge for the
development of the WWW.
Two (major) approaches:
2
REST principles
» Web APIs
» Loose Coupling
» For Web Developers
Linked Data
» SPARQL Endpoints
» Data Integration
» For Semantic Web Geeks
Is it possible to benefit from the advantages of
both approaches?
Can we find a solution that minimises the barrier
to adoption?
3
Questions
Methodology (two-ways)
• Bottom-Up: use the experience (Facts)
– http://data.open.ac.uk
– Take into account consumers and providers
• Top-Down: use the principles of data services (Dimensions)
– Seamless data integration between distributed sources;
– Loose coupling between client & server
– Interoperability between services and applications;
– Description to allow search and proper data consumption.
• Organise feedback: S.W.O.T. (Method)
– Used for decision making in project management
– Web APIs and SPARQL as two possible solutions
• Extract requirements
4
{Consumers and Providers working together}
http://data.open.ac.uk
{Feedback in E-Mails, Informal conversations}
{From 2010}
{Appreciated by developers}
{SPARQL Endpoint}
6
Issue Feedback Affects Aspect
S1S
SPARQL is a rich query language, capable of selecting any portion of the data and to
exploit relations and paths between resources.
P,C di
S2S
The output can be an RDF graph, a semantic meta model that generalizes from specific
syntaxes.
C di, io
S3S The interaction is a standard protocol. P,C io, de
W1S
RDF and SPARQL are not widespread technologies, and the related data model may not
be optimised for the needs of a dedicated application
C di, ad
W2S Some requests might require too many resources (CPU, RAM). P,C ad
W3S
Embedded queries in the consumer’s code add a dependency between the application and
the provider’s data schema.
C lc
O1S
The SPARQL query language allows for a deep data exploration and design of task
tailored views.
C di
O2S The RDF output can be integrated with other RDF data with little effort. C di, io
O3S The data provider maintains a standard infrastructure. P ad
T1S
Data consumers may decide not to use the service because of a too steep learning curve
(both for querying or post- processing of the output).
C ad
T2S
The data provider cannot optimize the infrastructure in advance (or contribute to optimize
the query) and the system could crash.
P lc
T3S Changes in the data schema will break existing embedded queries. C lc
SWOT: SPARQL endpoint
SWOT: Web APIs
7
Issue Feedback Affects Aspect
S1A
Web APIs can be made simple and intuitive, the data models are made ad-hoc for
specific tasks and reused by a wide community of developers.
C di, io, de
S2A Resources of the underlying infrastructure are controlled. P lc
S3A Each resource (request) is fully decoupled from the underlying database schema. P,C lc
W1A The set of possible requests and data objects is preordered. C di
W2A The output data model cannot be customised to better fit the use case. C io
W3A Interfaces and documentation need to be setup and maintained. P de, ad
O1A
Web developers can use the service straight forward to integrate the output in the
applications. Data models are reused by different applications.
C di, ad
O2A The infrastructure can be easily optimised. P lc
O3A
Evolutions in the stored data model in many cases can be reflected in the way the
API interacts with the database wihout disrupting existing applications.
P,C lc
T1A The supported APIs may not cover relevant use cases, and may be hard to extend. P,C di, io, ad
T2A Data consumers cannot easily implement data integration strategies. C di
T3A
The cost for maintaining infrastructure and documentation increases with the
amount of functionalities/data provided.
P ad
SWOT: Result
SPARQL endpoint and Web APIs are
complementary approaches!
8
Requirements
• Data Integration. Explorable data, to be extracted and reused
as RDF as well as non-standard formats.
• Loose Coupling. Do not introduce dependencies between the
systems, both syntactically and semantically
• Description. Described for both human and agents with small
effort
• Interoperability. Customisable and reusable data models,
relevant for both consumers and providers, and formally
specified.
• +Adoption. Limit additional technologies, specifications or
formalisms, and provide new opportunities for publishers and
consumers.
9
Building Apis SImpLy
https://github.com/the-open-university/basil
10
BASIL API
Data Provider
consumes
data or views
Web
API
Data Consumer
Linked Data Cloud
tailors WEB API
(API specification)
Web API Tailor
.
.
.
Web
API maintains
SPARQL
endpoint
defines view
(template)
Web
API
Web
API
BASIL is designed as middleware system that mediates between SPARQL
endpoints and applications.
BASIL stores SPARQL queries and builds APIs with standard and custom
outputs
Convention instead of configuration
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> […]

SELECT DISTINCT
(?related as ?identifier)
?type
(STR(?label) AS ?title)
(STR(?location) AS ?link)
FROM <http://data.open.ac.uk/context/youtube>

FROM <http://data.open.ac.uk/context/audioboo>

FROM <http://data.open.ac.uk/context/podcast>
FROM <http://data.open.ac.uk/context/openlearn>
FROM <http://data.open.ac.uk/context/course>

FROM <http://data.open.ac.uk/context/qualification>
FROM <http://data.open.ac.uk/context/xcri>
WHERE {

BIND(IRI(CONCAT("http://data.open.ac.uk/qualification/",?_qid)) AS ?qualification)
{
# related video podcasts
?related podcast:relatesToQualification ?qualification .
?related a podcast:VideoPodcast .

?related rdfs:label ?label .

optional { ?related bazaar:download ?location }
BIND( "VideoPodcast" as ?type ) .
} UNION {
# related audio podcasts … } UNION {
# related audioboo posts … } UNION {
# related openlearn units … } UNION {
# related youtube videos … } }
11
https://gist.github.com/enridaga/3b71423df42328ea2110
{PUT}
A CRUD interface for tailored APIs
12
• /basil/1jyd93olk8c3b → base resource, redirects to /spec
• /api → to retrieve the data
• /spec → to get and update the stored query
• /explain → to inspect the query after variables substitution
• /view → to manage views
• /api-docs → to access the Swagger description
Example:
/api?qid=q18 → with content negotiation
/api.json?qid=q18 → or .xml, .rdf, .jsonld, .csv, .nt, .ttl, . . .
/api.html-list?qid=q18 → preprocess the output using a user defined view script
A journey with cURL…
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/spec
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api?
qid=q18
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api.json?
qid=q18
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/view
curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/view/
html-list
… and with a browser:
http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api.html-list?
qid=q18
Benefits
• Data integration.
• Guaranteed by design, relying on SPARQL and RDF
• Vocabulary rewriting, inferences materialisation, data refactoring,
cleaning, and patching
• Views allow to shape the data to fit specific needs
• Interoperability.
• Specialised Web APIs for consumers (towards clients)
• SPARQL as a data requirement language (towards servers)
14
Benefits
• Loose Coupling.
• No dependencies on (evolving!) remote schemas
• Support independent evolution of client and server
• … just change the query!
• Description.
• Swagger offers a good support for discovery, consumption and
testing
• SPARQL queries are also conceptual descriptions of data
requirements!
15
(More) benefits
• Adoption.
• No introduction of new specifications or formalisms for both data
consumers and providers.
• Moreover:
• Queries can be shared, discovered and reused.
• APIs are sharable and reusable.
• Specifications (Queries!) can be exploited to perform usage
analysis and optimisations…
• A middleware could integrate sophisticated solutions for caching,
query execution or federation …
16
Conclusions & Related Work
• Tailor (linked) open data for a task is a problem
• Query design is rarely easy
• Queries are important, we need to reuse them
• We propose a basilar approach to query reuse by exploiting Web
APIs
• Like SQL Stored Queries (SQL Views) and Procedures
– But in an open data settings use cases are unpredictable!
• Also, BASIL views are from MVC
• Linked Data Platform (to R/W RDF, Entity-based)
• Linked Data API (and others…)
– Too much configuration… you need to study/depend on it!
– We don’t need a new specification and a sophisticated API!
17
Future work
• User based evaluation
• we will apply it on data.open.ac.uk (and let you know…)
• Extend description and explanation
• Provenance
• Data cataloguing
• Support discovery and query reuse
• BASIL as the BASIC for:
– Improve availability (caching, LDFragments)
– Endpoint federations?
– APIs composition?
• Improve the BASIL reference implementation
• Better query storage
• Documentation!
• Nice web interface
18
Thank you
Enrico Daga
enrico.daga@open.ac.uk
19

More Related Content

What's hot

Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014OSSCube
 
Learning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar CastanedaLearning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar CastanedaDatabricks
 
Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...
Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...
Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...Edureka!
 
Top 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseTop 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseSandesh Rao
 
High quality Linked Data generation for librarians
High quality Linked Data generation for librariansHigh quality Linked Data generation for librarians
High quality Linked Data generation for librariansandimou
 
Building Linked Data Applications
Building Linked Data ApplicationsBuilding Linked Data Applications
Building Linked Data ApplicationsEUCLID project
 
Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...
Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...
Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...Edureka!
 
Evaluation criteria for nosql databases
Evaluation criteria for nosql databasesEvaluation criteria for nosql databases
Evaluation criteria for nosql databasesEbenezer Daniel
 
Oracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by ExampleOracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by ExampleHarald Erb
 
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...andimou
 
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...Edureka!
 
Replacing Oracle CDC with Oracle GoldenGate
Replacing Oracle CDC with Oracle GoldenGateReplacing Oracle CDC with Oracle GoldenGate
Replacing Oracle CDC with Oracle GoldenGateStewart Bryson
 
ORAchk EXAchk what's new in 12.1.0.2.7
ORAchk EXAchk what's new in 12.1.0.2.7ORAchk EXAchk what's new in 12.1.0.2.7
ORAchk EXAchk what's new in 12.1.0.2.7Sandesh Rao
 
DBCS Office Hours - Modernization through Migration
DBCS Office Hours - Modernization through MigrationDBCS Office Hours - Modernization through Migration
DBCS Office Hours - Modernization through MigrationTammy Bednar
 
KnowIT, semantic informatics knowledge base
KnowIT, semantic informatics knowledge baseKnowIT, semantic informatics knowledge base
KnowIT, semantic informatics knowledge baseLaurent Alquier
 
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEAIntroduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEASandesh Rao
 
Open Source ETL using Talend Open Studio
Open Source ETL using Talend Open StudioOpen Source ETL using Talend Open Studio
Open Source ETL using Talend Open Studiosantosluis87
 
Etl with talend (data integeration)
Etl with talend (data integeration)Etl with talend (data integeration)
Etl with talend (data integeration)Pooja Mishra
 
Semantic Web use cases in outcomes research
Semantic Web use cases in outcomes researchSemantic Web use cases in outcomes research
Semantic Web use cases in outcomes researchChimezie Ogbuji
 

What's hot (20)

Meetup Oracle Database BCN: 2.1 Data Management Trends
Meetup Oracle Database BCN: 2.1 Data Management TrendsMeetup Oracle Database BCN: 2.1 Data Management Trends
Meetup Oracle Database BCN: 2.1 Data Management Trends
 
Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014Talend Open Studio Introduction - OSSCamp 2014
Talend Open Studio Introduction - OSSCamp 2014
 
Learning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar CastanedaLearning to Rank Datasets for Search with Oscar Castaneda
Learning to Rank Datasets for Search with Oscar Castaneda
 
Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...
Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...
Talend Data Integration Tutorial | Talend Tutorial For Beginners | Talend Onl...
 
Top 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous DatabaseTop 20 FAQs on the Autonomous Database
Top 20 FAQs on the Autonomous Database
 
High quality Linked Data generation for librarians
High quality Linked Data generation for librariansHigh quality Linked Data generation for librarians
High quality Linked Data generation for librarians
 
Building Linked Data Applications
Building Linked Data ApplicationsBuilding Linked Data Applications
Building Linked Data Applications
 
Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...
Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...
Talend Components | tMap, tJoin, tFileList, tInputFileDelimited | Talend Onli...
 
Evaluation criteria for nosql databases
Evaluation criteria for nosql databasesEvaluation criteria for nosql databases
Evaluation criteria for nosql databases
 
Oracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by ExampleOracle Unified Information Architeture + Analytics by Example
Oracle Unified Information Architeture + Analytics by Example
 
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
iLastic: Linked Data Generation Workflow and User Interface for iMinds Schola...
 
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
Talend Interview Questions and Answers | Talend Online Training | Talend Tuto...
 
Replacing Oracle CDC with Oracle GoldenGate
Replacing Oracle CDC with Oracle GoldenGateReplacing Oracle CDC with Oracle GoldenGate
Replacing Oracle CDC with Oracle GoldenGate
 
ORAchk EXAchk what's new in 12.1.0.2.7
ORAchk EXAchk what's new in 12.1.0.2.7ORAchk EXAchk what's new in 12.1.0.2.7
ORAchk EXAchk what's new in 12.1.0.2.7
 
DBCS Office Hours - Modernization through Migration
DBCS Office Hours - Modernization through MigrationDBCS Office Hours - Modernization through Migration
DBCS Office Hours - Modernization through Migration
 
KnowIT, semantic informatics knowledge base
KnowIT, semantic informatics knowledge baseKnowIT, semantic informatics knowledge base
KnowIT, semantic informatics knowledge base
 
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEAIntroduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
Introduction to Machine Learning - From DBA's to Data Scientists - OGBEMEA
 
Open Source ETL using Talend Open Studio
Open Source ETL using Talend Open StudioOpen Source ETL using Talend Open Studio
Open Source ETL using Talend Open Studio
 
Etl with talend (data integeration)
Etl with talend (data integeration)Etl with talend (data integeration)
Etl with talend (data integeration)
 
Semantic Web use cases in outcomes research
Semantic Web use cases in outcomes researchSemantic Web use cases in outcomes research
Semantic Web use cases in outcomes research
 

Similar to A BASILar Approach for Building Web APIs on top of SPARQL Endpoints

Wed roman tut_open_datapub
Wed roman tut_open_datapubWed roman tut_open_datapub
Wed roman tut_open_datapubeswcsummerschool
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
Connecting your .Net Applications to NoSQL Databases - MongoDB & Cassandra
Connecting your .Net Applications to NoSQL Databases - MongoDB & CassandraConnecting your .Net Applications to NoSQL Databases - MongoDB & Cassandra
Connecting your .Net Applications to NoSQL Databases - MongoDB & CassandraLohith Goudagere Nagaraj
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresEDB
 
Whither the Hadoop Developer Experience, June Hadoop Meetup, Nitin Motgi
Whither the Hadoop Developer Experience, June Hadoop Meetup, Nitin MotgiWhither the Hadoop Developer Experience, June Hadoop Meetup, Nitin Motgi
Whither the Hadoop Developer Experience, June Hadoop Meetup, Nitin MotgiFelicia Haggarty
 
ALIGNED Data Curation Methods and Tools
ALIGNED Data Curation Methods and ToolsALIGNED Data Curation Methods and Tools
ALIGNED Data Curation Methods and ToolsAlignedProject
 
Linked Services for the Web of Data
Linked Services for the Web of DataLinked Services for the Web of Data
Linked Services for the Web of DataCarlos Pedrinaci
 
Towards Semantic APIs for Research Data Services (Invited Talk)
Towards Semantic APIs for Research Data Services (Invited Talk)Towards Semantic APIs for Research Data Services (Invited Talk)
Towards Semantic APIs for Research Data Services (Invited Talk)Anna Fensel
 
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle DatabasesMigrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle DatabasesJade Global
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureDatabricks
 
Database Integrated Analytics using R InitialExperiences wi
Database Integrated Analytics using R InitialExperiences wiDatabase Integrated Analytics using R InitialExperiences wi
Database Integrated Analytics using R InitialExperiences wiOllieShoresna
 
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...semanticsconference
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Connor McDonald
 
JavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCJavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCSteve Speicher
 
Logical Data Fabric and Data Mesh – Driving Business Outcomes
Logical Data Fabric and Data Mesh – Driving Business OutcomesLogical Data Fabric and Data Mesh – Driving Business Outcomes
Logical Data Fabric and Data Mesh – Driving Business OutcomesDenodo
 
Delivering a Linked Data warehouse and realising the power of graphs
Delivering a Linked Data warehouse and realising the power of graphsDelivering a Linked Data warehouse and realising the power of graphs
Delivering a Linked Data warehouse and realising the power of graphsBen Gardner
 
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Shahzad S
 
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Igor De Souza
 
(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform
(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform
(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise PlatformBIOVIA
 

Similar to A BASILar Approach for Building Web APIs on top of SPARQL Endpoints (20)

Wed roman tut_open_datapub
Wed roman tut_open_datapubWed roman tut_open_datapub
Wed roman tut_open_datapub
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
Connecting your .Net Applications to NoSQL Databases - MongoDB & Cassandra
Connecting your .Net Applications to NoSQL Databases - MongoDB & CassandraConnecting your .Net Applications to NoSQL Databases - MongoDB & Cassandra
Connecting your .Net Applications to NoSQL Databases - MongoDB & Cassandra
 
Key Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to PostgresKey Methodologies for Migrating from Oracle to Postgres
Key Methodologies for Migrating from Oracle to Postgres
 
Whither the Hadoop Developer Experience, June Hadoop Meetup, Nitin Motgi
Whither the Hadoop Developer Experience, June Hadoop Meetup, Nitin MotgiWhither the Hadoop Developer Experience, June Hadoop Meetup, Nitin Motgi
Whither the Hadoop Developer Experience, June Hadoop Meetup, Nitin Motgi
 
ALIGNED Data Curation Methods and Tools
ALIGNED Data Curation Methods and ToolsALIGNED Data Curation Methods and Tools
ALIGNED Data Curation Methods and Tools
 
Linked Services for the Web of Data
Linked Services for the Web of DataLinked Services for the Web of Data
Linked Services for the Web of Data
 
Towards Semantic APIs for Research Data Services (Invited Talk)
Towards Semantic APIs for Research Data Services (Invited Talk)Towards Semantic APIs for Research Data Services (Invited Talk)
Towards Semantic APIs for Research Data Services (Invited Talk)
 
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle DatabasesMigrating Data Warehouse Solutions from Oracle to non-Oracle Databases
Migrating Data Warehouse Solutions from Oracle to non-Oracle Databases
 
Architect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh ArchitectureArchitect’s Open-Source Guide for a Data Mesh Architecture
Architect’s Open-Source Guide for a Data Mesh Architecture
 
Database Integrated Analytics using R InitialExperiences wi
Database Integrated Analytics using R InitialExperiences wiDatabase Integrated Analytics using R InitialExperiences wi
Database Integrated Analytics using R InitialExperiences wi
 
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
Ben Gardner | Delivering a Linked Data warehouse and integrating across the w...
 
Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2Whats new in Oracle Database 12c release 12.1.0.2
Whats new in Oracle Database 12c release 12.1.0.2
 
JavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLCJavaOne2013 Leveraging Linked Data and OSLC
JavaOne2013 Leveraging Linked Data and OSLC
 
Logical Data Fabric and Data Mesh – Driving Business Outcomes
Logical Data Fabric and Data Mesh – Driving Business OutcomesLogical Data Fabric and Data Mesh – Driving Business Outcomes
Logical Data Fabric and Data Mesh – Driving Business Outcomes
 
Delivering a Linked Data warehouse and realising the power of graphs
Delivering a Linked Data warehouse and realising the power of graphsDelivering a Linked Data warehouse and realising the power of graphs
Delivering a Linked Data warehouse and realising the power of graphs
 
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
Implementing BCS-Business Connectivity Services - Sharepoint 2013- Office 365
 
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
 
Graphql
GraphqlGraphql
Graphql
 
(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform
(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform
(ATS4-DEV09) Visualizing SmartLab Data Using the Accelrys Enterprise Platform
 

More from Enrico Daga

Citizen Experiences in Cultural Heritage Archives: a Data Journey
Citizen Experiences in Cultural Heritage Archives: a Data JourneyCitizen Experiences in Cultural Heritage Archives: a Data Journey
Citizen Experiences in Cultural Heritage Archives: a Data JourneyEnrico Daga
 
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...Enrico Daga
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Enrico Daga
 
Knowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectKnowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectEnrico Daga
 
Capturing the semantics of documentary evidence for humanities research
Capturing the semantics of documentary evidence for humanities researchCapturing the semantics of documentary evidence for humanities research
Capturing the semantics of documentary evidence for humanities researchEnrico Daga
 
Trying SPARQL Anything with MEI
Trying SPARQL Anything with MEITrying SPARQL Anything with MEI
Trying SPARQL Anything with MEIEnrico Daga
 
The SPARQL Anything project
The SPARQL Anything projectThe SPARQL Anything project
The SPARQL Anything projectEnrico Daga
 
Towards a Smart (City) Data Science. A case-based retrospective on policies, ...
Towards a Smart (City) Data Science. A case-based retrospective on policies, ...Towards a Smart (City) Data Science. A case-based retrospective on policies, ...
Towards a Smart (City) Data Science. A case-based retrospective on policies, ...Enrico Daga
 
Linked data for knowledge curation in humanities research
Linked data for knowledge curation in humanities researchLinked data for knowledge curation in humanities research
Linked data for knowledge curation in humanities researchEnrico Daga
 
Capturing Themed Evidence, a Hybrid Approach
Capturing Themed Evidence, a Hybrid ApproachCapturing Themed Evidence, a Hybrid Approach
Capturing Themed Evidence, a Hybrid ApproachEnrico Daga
 
Challenging knowledge extraction to support
the curation of documentary evide...
Challenging knowledge extraction to support
the curation of documentary evide...Challenging knowledge extraction to support
the curation of documentary evide...
Challenging knowledge extraction to support
the curation of documentary evide...Enrico Daga
 
OU RSE Tutorial Big Data Cluster
OU RSE Tutorial Big Data ClusterOU RSE Tutorial Big Data Cluster
OU RSE Tutorial Big Data ClusterEnrico Daga
 
CityLABS Workshop: Working with large tables
CityLABS Workshop: Working with large tablesCityLABS Workshop: Working with large tables
CityLABS Workshop: Working with large tablesEnrico Daga
 
Propagating Data Policies - A User Study
Propagating Data Policies - A User StudyPropagating Data Policies - A User Study
Propagating Data Policies - A User StudyEnrico Daga
 
Linked Data at the OU - the story so far
Linked Data at the OU - the story so farLinked Data at the OU - the story so far
Linked Data at the OU - the story so farEnrico Daga
 
Propagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data FlowsPropagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data FlowsEnrico Daga
 
A bottom up approach for licences classification and selection
A bottom up approach for licences classification and selectionA bottom up approach for licences classification and selection
A bottom up approach for licences classification and selectionEnrico Daga
 
Early Analysis and Debuggin of Linked Open Data Cubes
Early Analysis and Debuggin of Linked Open Data CubesEarly Analysis and Debuggin of Linked Open Data Cubes
Early Analysis and Debuggin of Linked Open Data CubesEnrico Daga
 

More from Enrico Daga (19)

Citizen Experiences in Cultural Heritage Archives: a Data Journey
Citizen Experiences in Cultural Heritage Archives: a Data JourneyCitizen Experiences in Cultural Heritage Archives: a Data Journey
Citizen Experiences in Cultural Heritage Archives: a Data Journey
 
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...Streamlining Knowledge Graph Construction with a façade:  the SPARQL Anything...
Streamlining Knowledge Graph Construction with a façade: the SPARQL Anything...
 
Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.Data integration with a façade. The case of knowledge graph construction.
Data integration with a façade. The case of knowledge graph construction.
 
Knowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything ProjectKnowledge graph construction with a façade - The SPARQL Anything Project
Knowledge graph construction with a façade - The SPARQL Anything Project
 
Capturing the semantics of documentary evidence for humanities research
Capturing the semantics of documentary evidence for humanities researchCapturing the semantics of documentary evidence for humanities research
Capturing the semantics of documentary evidence for humanities research
 
Trying SPARQL Anything with MEI
Trying SPARQL Anything with MEITrying SPARQL Anything with MEI
Trying SPARQL Anything with MEI
 
The SPARQL Anything project
The SPARQL Anything projectThe SPARQL Anything project
The SPARQL Anything project
 
Towards a Smart (City) Data Science. A case-based retrospective on policies, ...
Towards a Smart (City) Data Science. A case-based retrospective on policies, ...Towards a Smart (City) Data Science. A case-based retrospective on policies, ...
Towards a Smart (City) Data Science. A case-based retrospective on policies, ...
 
Linked data for knowledge curation in humanities research
Linked data for knowledge curation in humanities researchLinked data for knowledge curation in humanities research
Linked data for knowledge curation in humanities research
 
Capturing Themed Evidence, a Hybrid Approach
Capturing Themed Evidence, a Hybrid ApproachCapturing Themed Evidence, a Hybrid Approach
Capturing Themed Evidence, a Hybrid Approach
 
Challenging knowledge extraction to support
the curation of documentary evide...
Challenging knowledge extraction to support
the curation of documentary evide...Challenging knowledge extraction to support
the curation of documentary evide...
Challenging knowledge extraction to support
the curation of documentary evide...
 
Ld4 dh tutorial
Ld4 dh tutorialLd4 dh tutorial
Ld4 dh tutorial
 
OU RSE Tutorial Big Data Cluster
OU RSE Tutorial Big Data ClusterOU RSE Tutorial Big Data Cluster
OU RSE Tutorial Big Data Cluster
 
CityLABS Workshop: Working with large tables
CityLABS Workshop: Working with large tablesCityLABS Workshop: Working with large tables
CityLABS Workshop: Working with large tables
 
Propagating Data Policies - A User Study
Propagating Data Policies - A User StudyPropagating Data Policies - A User Study
Propagating Data Policies - A User Study
 
Linked Data at the OU - the story so far
Linked Data at the OU - the story so farLinked Data at the OU - the story so far
Linked Data at the OU - the story so far
 
Propagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data FlowsPropagation of Policies in Rich Data Flows
Propagation of Policies in Rich Data Flows
 
A bottom up approach for licences classification and selection
A bottom up approach for licences classification and selectionA bottom up approach for licences classification and selection
A bottom up approach for licences classification and selection
 
Early Analysis and Debuggin of Linked Open Data Cubes
Early Analysis and Debuggin of Linked Open Data CubesEarly Analysis and Debuggin of Linked Open Data Cubes
Early Analysis and Debuggin of Linked Open Data Cubes
 

Recently uploaded

Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Valters Lauzums
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...amitlee9823
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...amitlee9823
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...amitlee9823
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Delhi Call girls
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...amitlee9823
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% SecurePooja Nehwal
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxolyaivanovalion
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...amitlee9823
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Researchmichael115558
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...amitlee9823
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysismanisha194592
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...SUHANI PANDEY
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceDelhi Call girls
 

Recently uploaded (20)

Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
Call Girls Jalahalli Just Call 👗 7737669865 👗 Top Class Call Girl Service Ban...
 
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Rabindra Nagar  (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Rabindra Nagar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night StandCall Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Hsr Layout ☎ 7737669865 🥵 Book Your One night Stand
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
Mg Road Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Banga...
 
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
Call Girls in Sarai Kale Khan Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escorts S...
 
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men  🔝malwa🔝   Escorts Ser...
➥🔝 7737669865 🔝▻ malwa Call-girls in Women Seeking Men 🔝malwa🔝 Escorts Ser...
 
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
(NEHA) Call Girls Katra Call Now 8617697112 Katra Escorts 24x7
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 
Midocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFxMidocean dropshipping via API with DroFx
Midocean dropshipping via API with DroFx
 
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
Call Girls Bommasandra Just Call 👗 7737669865 👗 Top Class Call Girl Service B...
 
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Surabaya ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men  🔝Dindigul🔝   Escor...
➥🔝 7737669865 🔝▻ Dindigul Call-girls in Women Seeking Men 🔝Dindigul🔝 Escor...
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
VIP Model Call Girls Hinjewadi ( Pune ) Call ON 8005736733 Starting From 5K t...
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 

A BASILar Approach for Building Web APIs on top of SPARQL Endpoints

  • 1. A BASILar Approach for Building Web APIs on top of SPARQL Endpoints 1 Enrico Daga, Luca Panziera and Carlos Pedrinaci June  1st,  2015     Services  and  Applica7ons  over  Linked  APIs  and  Data  -­‐  ESWC2015  workshop   hDp://salad2015.linked.services/
  • 2. Background Distributed systems based on open data are a challenge for the development of the WWW. Two (major) approaches: 2 REST principles » Web APIs » Loose Coupling » For Web Developers Linked Data » SPARQL Endpoints » Data Integration » For Semantic Web Geeks
  • 3. Is it possible to benefit from the advantages of both approaches? Can we find a solution that minimises the barrier to adoption? 3 Questions
  • 4. Methodology (two-ways) • Bottom-Up: use the experience (Facts) – http://data.open.ac.uk – Take into account consumers and providers • Top-Down: use the principles of data services (Dimensions) – Seamless data integration between distributed sources; – Loose coupling between client & server – Interoperability between services and applications; – Description to allow search and proper data consumption. • Organise feedback: S.W.O.T. (Method) – Used for decision making in project management – Web APIs and SPARQL as two possible solutions • Extract requirements 4
  • 5. {Consumers and Providers working together} http://data.open.ac.uk {Feedback in E-Mails, Informal conversations} {From 2010} {Appreciated by developers} {SPARQL Endpoint}
  • 6. 6 Issue Feedback Affects Aspect S1S SPARQL is a rich query language, capable of selecting any portion of the data and to exploit relations and paths between resources. P,C di S2S The output can be an RDF graph, a semantic meta model that generalizes from specific syntaxes. C di, io S3S The interaction is a standard protocol. P,C io, de W1S RDF and SPARQL are not widespread technologies, and the related data model may not be optimised for the needs of a dedicated application C di, ad W2S Some requests might require too many resources (CPU, RAM). P,C ad W3S Embedded queries in the consumer’s code add a dependency between the application and the provider’s data schema. C lc O1S The SPARQL query language allows for a deep data exploration and design of task tailored views. C di O2S The RDF output can be integrated with other RDF data with little effort. C di, io O3S The data provider maintains a standard infrastructure. P ad T1S Data consumers may decide not to use the service because of a too steep learning curve (both for querying or post- processing of the output). C ad T2S The data provider cannot optimize the infrastructure in advance (or contribute to optimize the query) and the system could crash. P lc T3S Changes in the data schema will break existing embedded queries. C lc SWOT: SPARQL endpoint
  • 7. SWOT: Web APIs 7 Issue Feedback Affects Aspect S1A Web APIs can be made simple and intuitive, the data models are made ad-hoc for specific tasks and reused by a wide community of developers. C di, io, de S2A Resources of the underlying infrastructure are controlled. P lc S3A Each resource (request) is fully decoupled from the underlying database schema. P,C lc W1A The set of possible requests and data objects is preordered. C di W2A The output data model cannot be customised to better fit the use case. C io W3A Interfaces and documentation need to be setup and maintained. P de, ad O1A Web developers can use the service straight forward to integrate the output in the applications. Data models are reused by different applications. C di, ad O2A The infrastructure can be easily optimised. P lc O3A Evolutions in the stored data model in many cases can be reflected in the way the API interacts with the database wihout disrupting existing applications. P,C lc T1A The supported APIs may not cover relevant use cases, and may be hard to extend. P,C di, io, ad T2A Data consumers cannot easily implement data integration strategies. C di T3A The cost for maintaining infrastructure and documentation increases with the amount of functionalities/data provided. P ad
  • 8. SWOT: Result SPARQL endpoint and Web APIs are complementary approaches! 8
  • 9. Requirements • Data Integration. Explorable data, to be extracted and reused as RDF as well as non-standard formats. • Loose Coupling. Do not introduce dependencies between the systems, both syntactically and semantically • Description. Described for both human and agents with small effort • Interoperability. Customisable and reusable data models, relevant for both consumers and providers, and formally specified. • +Adoption. Limit additional technologies, specifications or formalisms, and provide new opportunities for publishers and consumers. 9
  • 10. Building Apis SImpLy https://github.com/the-open-university/basil 10 BASIL API Data Provider consumes data or views Web API Data Consumer Linked Data Cloud tailors WEB API (API specification) Web API Tailor . . . Web API maintains SPARQL endpoint defines view (template) Web API Web API BASIL is designed as middleware system that mediates between SPARQL endpoints and applications. BASIL stores SPARQL queries and builds APIs with standard and custom outputs
  • 11. Convention instead of configuration PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> […]
 SELECT DISTINCT (?related as ?identifier) ?type (STR(?label) AS ?title) (STR(?location) AS ?link) FROM <http://data.open.ac.uk/context/youtube>
 FROM <http://data.open.ac.uk/context/audioboo>
 FROM <http://data.open.ac.uk/context/podcast> FROM <http://data.open.ac.uk/context/openlearn> FROM <http://data.open.ac.uk/context/course>
 FROM <http://data.open.ac.uk/context/qualification> FROM <http://data.open.ac.uk/context/xcri> WHERE {
 BIND(IRI(CONCAT("http://data.open.ac.uk/qualification/",?_qid)) AS ?qualification) { # related video podcasts ?related podcast:relatesToQualification ?qualification . ?related a podcast:VideoPodcast .
 ?related rdfs:label ?label .
 optional { ?related bazaar:download ?location } BIND( "VideoPodcast" as ?type ) . } UNION { # related audio podcasts … } UNION { # related audioboo posts … } UNION { # related openlearn units … } UNION { # related youtube videos … } } 11 https://gist.github.com/enridaga/3b71423df42328ea2110 {PUT}
  • 12. A CRUD interface for tailored APIs 12 • /basil/1jyd93olk8c3b → base resource, redirects to /spec • /api → to retrieve the data • /spec → to get and update the stored query • /explain → to inspect the query after variables substitution • /view → to manage views • /api-docs → to access the Swagger description Example: /api?qid=q18 → with content negotiation /api.json?qid=q18 → or .xml, .rdf, .jsonld, .csv, .nt, .ttl, . . . /api.html-list?qid=q18 → preprocess the output using a user defined view script
  • 13. A journey with cURL… curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/spec curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api? qid=q18 curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api.json? qid=q18 curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/view curl -v http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/view/ html-list … and with a browser: http://basil.kmi.open.ac.uk/basil/1jyd93olk8c3b/api.html-list? qid=q18
  • 14. Benefits • Data integration. • Guaranteed by design, relying on SPARQL and RDF • Vocabulary rewriting, inferences materialisation, data refactoring, cleaning, and patching • Views allow to shape the data to fit specific needs • Interoperability. • Specialised Web APIs for consumers (towards clients) • SPARQL as a data requirement language (towards servers) 14
  • 15. Benefits • Loose Coupling. • No dependencies on (evolving!) remote schemas • Support independent evolution of client and server • … just change the query! • Description. • Swagger offers a good support for discovery, consumption and testing • SPARQL queries are also conceptual descriptions of data requirements! 15
  • 16. (More) benefits • Adoption. • No introduction of new specifications or formalisms for both data consumers and providers. • Moreover: • Queries can be shared, discovered and reused. • APIs are sharable and reusable. • Specifications (Queries!) can be exploited to perform usage analysis and optimisations… • A middleware could integrate sophisticated solutions for caching, query execution or federation … 16
  • 17. Conclusions & Related Work • Tailor (linked) open data for a task is a problem • Query design is rarely easy • Queries are important, we need to reuse them • We propose a basilar approach to query reuse by exploiting Web APIs • Like SQL Stored Queries (SQL Views) and Procedures – But in an open data settings use cases are unpredictable! • Also, BASIL views are from MVC • Linked Data Platform (to R/W RDF, Entity-based) • Linked Data API (and others…) – Too much configuration… you need to study/depend on it! – We don’t need a new specification and a sophisticated API! 17
  • 18. Future work • User based evaluation • we will apply it on data.open.ac.uk (and let you know…) • Extend description and explanation • Provenance • Data cataloguing • Support discovery and query reuse • BASIL as the BASIC for: – Improve availability (caching, LDFragments) – Endpoint federations? – APIs composition? • Improve the BASIL reference implementation • Better query storage • Documentation! • Nice web interface 18