This document proposes a lightweight approach to semantically annotating RESTful services. It describes annotating the parameters of 60 sample RESTful services by matching them to DBpedia and Geonames ontologies or using suggestion services. It reports results of annotating 369 initial parameters with 191 matches, increasing to 1573 parameters and 159 matches using additional techniques. The approach was able to annotate 78 input parameters and 315 output parameters of the services and validate 56 of 60 services based on executions.
GeoLinked Data (.es) is an open initiative whose aim is to enrich the Web of Data with Spanish geospatial data. This initiative started off by publishing diverse information sources belonging to the Spanish National Geographic Institute. Such sources are made available as RDF (Resource Description Framework) knowledge bases according to the Linked Data principles. With this work, Spain has joined the Linked Data initiative, in which the United Kingdom and Germany are already participating. In this presentation, we provide an overview of the process that has been followed for the development of this initiative.
GeoLinked Data (.es) is an open initiative whose aim is to enrich the Web of Data with Spanish geospatial data. This initiative started off by publishing diverse information sources belonging to the Spanish National Geographic Institute. Such sources are made available as RDF (Resource Description Framework) knowledge bases according to the Linked Data principles. With this work, Spain has joined the Linked Data initiative, in which the United Kingdom and Germany are already participating. In this presentation, we provide an overview of the process that has been followed for the development of this initiative.
Clean up this mess - API Gateway & Service Discovery in .NETMarcin Tyborowski
Presentation about API Gateway and Service Discovery in .NET
Links:
https://devmentors.io/distributed-net-core/
https://microservices.io/patterns/index.html
https://www.consul.io/docs/index.html
https://github.com/canton7/RestEase
https://github.com/tbr09/TrashRouting
Speaker:Drew DiPalma
Learn more about MongoDB Stitch, our new Backend as a Service (BaaS) that makes it easy for developers to create and launch applications across mobile and web platforms. Stitch provides a REST API on top of MongoDB with read, write, and validation rules built-in and full integration with the services you love. This talk will cover the what, why, and how of MongoDB Stitch. We'll discuss everything from features to the architecture. You'll walk away knowing how Stitch can kickstart your new project or take your existing application to the next level.
API Testing. Streamline your testing process.Andrey Oleynik
Slides from IT talk: «API Testing. Streamline your testing process. A step by step tutorial»
Code on github: https://github.com/a-oleynik/soap-ui
Webinar on youtube: https://www.youtube.com/watch?v=x2ALtuCjuUo
DataArt P. https://www.meetup.com/ru-RU/DataArt-Wroclaw-IT-talk/events/246967484/?eventId=246967484 Wroclaw, 2018, February 15
Generating Unified APIs with Protocol Buffers and gRPCC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2k1eZ00.
Chris Roche and Christopher Burnett discuss how they extended the Protocol Buffer (PB) IDL to create unified APIs and data models. From validation logic to automatic logging and statistics, PBs allows them to speed up development across Go, Python, and PHP stacks. They also show how they leverage the Envoy proxy to transparently upgrade HTTP/1.1 services to speak gRPC on the wire. Filmed at qconnewyork.com.
Chris Roche is a Core Libraries Engineer at Lyft focused on enriching the tools to create distributed systems. Christopher Burnett is Lead Core Libraries Engineer at Lyft, where he designs software for distributed systems.
Linked Statistical Data: does it actually pay off?Oscar Corcho
Invited keynote at the ISWC2015 Workshop on Semantics and Statistics (SemStats 2015). http://semstats.github.io/2015/
The release of the W3C RDF Data Cube recommendation was a significant milestone towards improving the maturity of the area of Linked Statistical Data. Many Data Cube-based datasets have been released since then. Tools for the generation and exploitation of such datasets have also appeared. While the benefits for the usage of RDF Data Cube and the generation of Linked Data in this area seem to be clear, there are still many challenges associated to the generation and exploitation of such data. In this talk we will reflect about them, based on our experience on generating and exploiting such type of data, and hopefully provoke some discussion about what the next steps should be.
Wie für viele andere Plattformen, so ist auch für XING die Öffnung der Rechenzentrumsgrenzen mit Hilfe von externen APIs, z.B. zur Partnerintegration, ein wichtiges Thema. In diesem Vortrag werfen wir einen Blick auf die Interna der (API-)Entwicklung bei XING: Architektur der Plattform, Historie der verschiedenen APIs, Entwicklungsprozesse, best practices beim API-Design, enge Zusammenarbeit mit einzelnen Consumern sowie (rechtliche) Herausforderungen bei der Datenweitergabe via API.
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBMongoDB
Watch this webinar to learn about our new Backend as a Service (BaaS) – MongoDB Stitch.
MongoDB Stitch lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastructure. Whether you’re just starting up and want a fully managed backend as a service, or you’re part of an enterprise and want to expose existing MongoDB data to new applications, Stitch lets you focus on building the app users want, not on writing boilerplate backend logic.
This webinar will cover the what, why, and how of MongoDB Stitch. We’ll cover everything from the features it provides to the architecture that makes it possible. By the end of the session, you should understand how Stitch can kickstart your new project or take your existing application to the next level.
Attendees will learn:
- The basics of MongoDB Stitch and how to use it for new projects or to expose existing data to new applications
- How to control what data and services individual users can access
- How to integrate your favorite services with your MongoDB application without writing extra code
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionJasonRafeMiller
The Arabidopsis Information Portal (araport.org) is a resource for the plant genomics research community. The AIP conducts developer workshops to help other labs get involved. This presentation introduces the web site with a case study about contributing new module built around a legacy data set.
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
What is a Microservices architecture and how does it differ from a Service-Oriented Architecture? Should you use traditional REST APIs to bind services together? Or is it better to use a richer, more loosely-coupled protocol? This talk will start with quick recap of how we created systems over the past 20 years and how different architectures evolved from it. The talk will show how we piece services together in event driven systems, how we use a distributed log (event hub) to create a central, persistent history of events and what benefits we achieve from doing so.
Apache Kafka is a perfect match for building such an asynchronous, loosely-coupled event-driven backbone. Events trigger processing logic, which can be implemented in a more traditional as well as in a stream processing fashion. The talk will show the difference between a request-driven and event-driven communication and show when to use which. It highlights how the modern stream processing systems can be used to hold state both internally as well as in a database and how this state can be used to further increase independence of other services, the primary goal of a Microservices architecture.
Clean up this mess - API Gateway & Service Discovery in .NETMarcin Tyborowski
Presentation about API Gateway and Service Discovery in .NET
Links:
https://devmentors.io/distributed-net-core/
https://microservices.io/patterns/index.html
https://www.consul.io/docs/index.html
https://github.com/canton7/RestEase
https://github.com/tbr09/TrashRouting
Speaker:Drew DiPalma
Learn more about MongoDB Stitch, our new Backend as a Service (BaaS) that makes it easy for developers to create and launch applications across mobile and web platforms. Stitch provides a REST API on top of MongoDB with read, write, and validation rules built-in and full integration with the services you love. This talk will cover the what, why, and how of MongoDB Stitch. We'll discuss everything from features to the architecture. You'll walk away knowing how Stitch can kickstart your new project or take your existing application to the next level.
API Testing. Streamline your testing process.Andrey Oleynik
Slides from IT talk: «API Testing. Streamline your testing process. A step by step tutorial»
Code on github: https://github.com/a-oleynik/soap-ui
Webinar on youtube: https://www.youtube.com/watch?v=x2ALtuCjuUo
DataArt P. https://www.meetup.com/ru-RU/DataArt-Wroclaw-IT-talk/events/246967484/?eventId=246967484 Wroclaw, 2018, February 15
Generating Unified APIs with Protocol Buffers and gRPCC4Media
Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2k1eZ00.
Chris Roche and Christopher Burnett discuss how they extended the Protocol Buffer (PB) IDL to create unified APIs and data models. From validation logic to automatic logging and statistics, PBs allows them to speed up development across Go, Python, and PHP stacks. They also show how they leverage the Envoy proxy to transparently upgrade HTTP/1.1 services to speak gRPC on the wire. Filmed at qconnewyork.com.
Chris Roche is a Core Libraries Engineer at Lyft focused on enriching the tools to create distributed systems. Christopher Burnett is Lead Core Libraries Engineer at Lyft, where he designs software for distributed systems.
Linked Statistical Data: does it actually pay off?Oscar Corcho
Invited keynote at the ISWC2015 Workshop on Semantics and Statistics (SemStats 2015). http://semstats.github.io/2015/
The release of the W3C RDF Data Cube recommendation was a significant milestone towards improving the maturity of the area of Linked Statistical Data. Many Data Cube-based datasets have been released since then. Tools for the generation and exploitation of such datasets have also appeared. While the benefits for the usage of RDF Data Cube and the generation of Linked Data in this area seem to be clear, there are still many challenges associated to the generation and exploitation of such data. In this talk we will reflect about them, based on our experience on generating and exploiting such type of data, and hopefully provoke some discussion about what the next steps should be.
Wie für viele andere Plattformen, so ist auch für XING die Öffnung der Rechenzentrumsgrenzen mit Hilfe von externen APIs, z.B. zur Partnerintegration, ein wichtiges Thema. In diesem Vortrag werfen wir einen Blick auf die Interna der (API-)Entwicklung bei XING: Architektur der Plattform, Historie der verschiedenen APIs, Entwicklungsprozesse, best practices beim API-Design, enge Zusammenarbeit mit einzelnen Consumern sowie (rechtliche) Herausforderungen bei der Datenweitergabe via API.
Introducing MongoDB Stitch, Backend-as-a-Service from MongoDBMongoDB
Watch this webinar to learn about our new Backend as a Service (BaaS) – MongoDB Stitch.
MongoDB Stitch lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastructure. Whether you’re just starting up and want a fully managed backend as a service, or you’re part of an enterprise and want to expose existing MongoDB data to new applications, Stitch lets you focus on building the app users want, not on writing boilerplate backend logic.
This webinar will cover the what, why, and how of MongoDB Stitch. We’ll cover everything from the features it provides to the architecture that makes it possible. By the end of the session, you should understand how Stitch can kickstart your new project or take your existing application to the next level.
Attendees will learn:
- The basics of MongoDB Stitch and how to use it for new projects or to expose existing data to new applications
- How to control what data and services individual users can access
- How to integrate your favorite services with your MongoDB application without writing extra code
Arabidopsis Information Portal, Developer Workshop 2014, IntroductionJasonRafeMiller
The Arabidopsis Information Portal (araport.org) is a resource for the plant genomics research community. The AIP conducts developer workshops to help other labs get involved. This presentation introduces the web site with a case study about contributing new module built around a legacy data set.
Building Event Driven (Micro)services with Apache KafkaGuido Schmutz
What is a Microservices architecture and how does it differ from a Service-Oriented Architecture? Should you use traditional REST APIs to bind services together? Or is it better to use a richer, more loosely-coupled protocol? This talk will start with quick recap of how we created systems over the past 20 years and how different architectures evolved from it. The talk will show how we piece services together in event driven systems, how we use a distributed log (event hub) to create a central, persistent history of events and what benefits we achieve from doing so.
Apache Kafka is a perfect match for building such an asynchronous, loosely-coupled event-driven backbone. Events trigger processing logic, which can be implemented in a more traditional as well as in a stream processing fashion. The talk will show the difference between a request-driven and event-driven communication and show when to use which. It highlights how the modern stream processing systems can be used to hold state both internally as well as in a database and how this state can be used to further increase independence of other services, the primary goal of a Microservices architecture.
Nowadays, information management systems deal with data originating from different sources including relational databases, NoSQL data stores, and Web data formats, varying not only in terms of data formats, but also in the underlying data model. Integrating data from heterogeneous data sources is a time-consuming and error-prone engineering task; part of this process requires that the data has to be transformed from its original form to other forms, repeating all along the life cycle. With this report we provide a principled overview on the fundamental data shapes tabular, tree, and graph as well as transformations between them, in order to gain a better understanding for performing said transformations more efficiently and effectively.
A Provenance-Aware Linked Data Application for Trip Management and OrganizationBoris Villazón-Terrazas
A Provenance-Aware Linked Data Application for Trip Management and Organization, presented at the Triplification Challenge, I-Semantics 2011.
We present, an application for exploiting, managing and organizing Linked Data in the domain of news and blogs about travelling. El Viajero makes use of several heterogeneous datasets to help users to plan future trips, and relies on the Open Provenance Model for modelling the provenance information of the resources.
A Method for Reusing and Re-engineering Non-ontological Resources for Buildin...Boris Villazón-Terrazas
To speed up the ontology development by reusing and re-engineering
non-ontological resources that have already reached some consensus by standardization bodies.
Lightweight Semantic Annotation of Geospatial RESTful Services
1. Lightweight Semantic
Annotation of Geospatial
RESTful Services
Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho
Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo s/n, 28660 Boadilla del Monte, Madrid
http://www.oeg-upm.net
{vsaquicela,lmvilches,ocorcho}@fi.upm.es
Phone: 34.91.3366605, Fax: 34.91.3524819
Presented by Boris Villazón-Terrazas ESWC 2011
Project: EV Date: 02/06/2011
Heraklion, Greece
2. ToC
• Introduction & motivation
• Related work
• Semantic annotation of RESTful services
• A sample set of RESTful services
• Syntactic description
y p
• Semantic annotation
• Checking the semantic annotation of RESTful services
Checking the semantic annotation of RESTful
• Experimental results
• Conclusions and future work
2
3. Introduction and motivation
RESTful
RESTful Service Y
RESTful
Service X
Service Z
RESTful
Service
S i W …
Description in HTML that contains:
• a list of the available operations
RESTful • URIs and parameters
Service W • expected output
• error messages
• set of examples of execution
• 3274 of RESTful services (APIs) in programmableweb.com
5. Related work
• Syntactic
• H
Heavyweight: WSDL
i ht
• Lightweight: WADL, hREST
• Semantic
• Heavyweight: OWL-S, WSMO
y g
• Lightweight: SA-REST, MicroWSMO
• Tools
• SWEET
• WSMO editor
5
6. Our approach
Semantic annotation of RESTf l services b
S ti t ti f RESTful i by
(1) Obtaining and formalising their syntactic descriptions
(2) Interpreting, and semantically enriching their parameters
Our approach uses diverse types of resources
• cross-domain ontology, DBpedia (combined with GeoNames)
• Suggestion services
• Synonym services
Semantic
annotation
Repository
Syntactic description
6
7. A sample set of RESTful services
• Service 1. retrieves information related to a country.
• http://ws.geonames.org/countryInfo?country=ES
• Service 2. retrieves information about places (venues).
• htt // i
http://api.eventful.com/rest/venues/search?app_key=p4t8BFcLDt C
tf l / t/ / h? k 4t8BF LDt CzpxdS&location=Madrid
dS&l ti M d id
Service 1 Service 2
<venue id="V0-001-000154997-6">
<geonames> <url>http://eventful.com/madrid/venues/la-
<country>
y ancha-/V0-001-000154997-6</url>
<countryCode>ES</countryCode> <country_name>Spain</country_name>
<countryName>Spain</countryName> <name>La Ancha</name>
<venue_name>La Ancha</venue_name>
<isoNumeric>724</isoNumeric> <description></description>
<isoAlpha3>ESP</isoAlpha3> <venue_type>Restaurant</venue_type>
<fipsCode>SP</fipsCode> <address></address>
<continent>EU</continent> <city_name>Madrid</city_name>
<capital>Madrid</capital> <region_name></region_name>
<region_abbr></region_abbr>
<areaInSqKm>504782.0</areaInSqKm> <postal_code></postal_code>
<population>40491000</population> <country_abbr2>ES</country_abbr2>
<currencyCode>EUR</currencyCode>
C d EUR / C d <country_abbr>ESP</country_abbr>
<languages>es-ES,ca,gl,eu</languages> <longitude>-3.68333</longitude>
<geonameId>2510769</geonameId> <latitude>40.4</latitude>
<geocode_type>City Based GeoCodes
<bBoxWest>-18.169641494751</bBoxWest </geocode_type>
<bBoxNorth>43.791725</bBoxNorth> <owner>frankg</owner>
owner frankg /owner
<bBoxEast>4.3153896</bBoxEast> <timezone></timezone>
<bBoxSouth>27.6388</bBoxSouth> <created></created>
</country> <event_count>0</event_count>
<trackback_count>0</trackback_count>
</geonames> <comment_count>0</comment_count>
<link_count>0</link_count>
<li k t>0</li k t>
<image></image>
</venue>
<venue id="V0-001-000154998-5">
7
8. Syntactic description: Invocation and registration
• User adds the URL of a service in our system
• System invokes the RESTful service with some sample
y
parameters, by using SDO API
• System analyzes the response (XML) to obtain a syntactic
description of the parameters
• Results
• Service1.
countryInfo($country,bBoxSouth,isoNumeric,continent,fipsCode,areaInSqK
m,languages,isoAlpha3,countryCode,bBoxNorth,population,bBoxWest,curre
ncyCode,bBoxEast,capital,geonameId,countryName)
ncyCode bBoxEast capital geonameId countryName)
• Service2.
rest/venues/search($location,$app_key,id,link_count,page_count,longitude,t
rackback_count,version,venue_type,owner,url,country_name,event_count,t
rackback count,version,venue type,owner,url,country name,event count,t
otal_items,city_name,address,name,latitude,page_number,postal_code,cou
ntry_abbr,first_item,page_items,last_item,page_size,country_abbr2,comme
nt_count,geocode_type,search_time,venue_name)
• Results are stored and WADL file is generated.
8
9. Semantic annotation (I)
• The starting point is the list of syntactic parameters
• Th system retrieves all th classes/properties f
The t ti ll the l / ti from
DBpedia ontology whose names have a match with each
p
parameter of the RESTFul Service.
• Exact match
• Similarity measures: Jaro, Jaro Winkler, and Levenshtein
• If the system obtains correspondences from the matching
process,
process it uses DBPedia concepts/properties to retrieve
samples (RDF instances).
• If there is no “matching”, we use external services
• Spelling suggestion services
• Synonym services
9
13. Checking the semantic annotation (Input)
• The system selects for each parameter a random subset
of the example instances.
• It makes several invocations of the service, by iterating
over the registered values.
g
• If the service return results from the invocation -> the
service is considered as executable; non-executable if it
cannot invoked succesfully.
Country
http://dbpedia.org/ontology/country http://dbpedia.org/ontology/locationCountry
Instance1 Instance1
Instance2 Instance2
Instance3 Instance3
......... .........
InstanceM InstanceM
13
14. Checking the semantic annotation (Output)
• The system only takes into account executions with
correct inputs.
• The system compares the outputs obtained after
execution with the information already stored in the
y
repository.
• If the output can be matched, the system considers the
output annotations as valid.
• Finally, the correspondences between the different
parameters of the service and DBpedia/Geonames
ontology are registered and stored into the respository.
14
15. Experimental results (I)
• 60 RESTful services selected from www.programmableweb.com (manually)
• 56 registered in the system
• List of 369 different parameters, 52 input parameters and 342 output parameters,
without duplications.
Additional Matches (DBpedia and
Attributes Total
parameters GeoNames ontologies)
Initial parameters 369 - 191
Parameters + Suggestions 426 57 33
Parameters + Synonyms
y y 1573 1147 126
Parameters + Suggestions + Synonyms 1573 1204 159
15
16. Experimental results (II)
Annotated Annotated
RESTful Total Annotated Special Service
parameters parameters
Service parameters parameters parameters validation
( p
(DBpedia)) (
(GeoNames) )
Input
152 78 33 45 73 56 4
parameters
Output
862 315 202 113 299 -
parameters
Results of the input and output parameters
Found Not found Not Right
RESTful Service Annotated Precision Recall
parameters parameters annotated parameters
Output
475 92 315 160 242 0.66 0.77
parameters
Output parameters metrics
16
17. Conclusions and future work
• We have proposed an approach to perform semantic annotation
process of RESTful services, using ontologies (DBpedia and
Geonames) and external resources (suggestions and synonyms).
• Future work:
• GUI that will ease the introduction of existing service by users
users.
• Improving the SPARQL queries
• More specific domain ontologies in the semantic process
• Standards generation such as hREST, SA-REST and MicroWSMO
• Integration with iServe.
17
18.
19. Lightweight Semantic
Annotation of Geospatial
RESTful Services
Victor Saquicela, Luis. M. Vilches-Blazquez, and Oscar Corcho
Facultad de Informática, Universidad Politécnica de Madrid
Campus de Montegancedo sn, 28660 Boadilla del Monte, Madrid
http://www.oeg-upm.net
{vsaquicela,lmvilches,ocorcho}@fi.upm.es
Phone: 34.91.3366605, Fax: 34.91.3524819
Presented by Boris Villazón-Terrazas ESWC 2011
Project: EV Date: 02/06/2011
Heraklion, Greece