Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

smartAPI: Towards a more intelligent network of Web APIs

637 views

Published on

Presented at ESWC 2017 (http://2017.eswc-conferences.org/program), winner best in-use paper, Project website: smart-api.info

Published in: Education
  • Be the first to comment

smartAPI: Towards a more intelligent network of Web APIs

  1. 1. smartAPI: Towards a More Intelligent Network of Web APIs Amrapali Zaveri 1ESWC In-Use 2017 31st May,2017 @AmrapaliZ
  2. 2. Web APIs Application Programming Interfaces (APIs) 2
  3. 3. Challenges in Web APIs • Lack of rich metadata — creation and reuse • Lack of tools to semantically annotate APIs • Unable to automatically discover how APIs connect with each other 3
  4. 4. Related Work • Finding APIs • collection of useful code, data & documentation • Reusing APIs • server, client-side code, interface, integration • API annotations for developers • WSDL, Swagger (OpenAPI) • Descriptions for automated clients • SAWSDL , OWL-S, (Micro)WSMO, hRESTS, SA-REST, Hydra, RESTdesc, ReLL 4
  5. 5. smartAPI Ecosystem 5 The FAIR Guiding Principles for scientific data management and stewardship: https://www.nature.com/articles/sdata201618 API providers (authors) Intelligent (data-driven) annotation of APIs API Users A web application to discover APIs and how they connect to each other
  6. 6. API Metadata Survey — in the Wild 6 schema.org/ APIReference Minimal Information about a Software Specifications smartAPI specification prototype Repositories 17,406 APIs 1,187 APIs 6,206 APIs 15,128 APIs
  7. 7. Survey of API Metadata — Analysis • Common metadata elements • Unique metadata elements • Coverage • Cardinality • Datatype • Strength of recommendation (MUST, SHOULD, MAY, NOT) 7
  8. 8. API Metadata Survey — Results 54 Metadata Elements • MUST - 13 • SHOULD - 19 • MAY – 22 • NOT - 9 5 categories • API metadata – 20 • Service Provider metadata – 6 • API Operation metadata – 10 • Operation Parameter metadata – 12 • Operation Response metadata – 6 8 Survey available at: https://goo.gl/wKR51W
  9. 9. API Metadata Survey — Elements 9 • Name (Must) • Access Point (Must) • Description (Should) • Category (May) API Metadata • Responsible Organization (Must) • Responsible Developer (Must) • Funding (May) • Developer Forum (May) Service Provider • Operation Title (Must) • http Method (Should) • Transfer Protocol (Should) • Keywords (May) API Operation • Response Format (Must) • Example Response Value (Should) • Response Description (Should) • Response Data Type (May) Operation Response • Operation Name (Must) • Parameter Type (Should) • Parameter Value Type (Should) • Default Value (May) Operation Parameter
  10. 10. smartAPI Specification https://websmartapi.github.io/smartapi_specification/ 10
  11. 11. smartAPI Ecosystem 11smart-api.info
  12. 12. Swagger Editor with Open API Validation 12http://swagger.io/
  13. 13. smartAPI Editor 13http://smart-api.info/editor/
  14. 14. smartAPI Editor Features 14 Field auto-suggestion Value auto-suggestion http://smart-api.info/editor/
  15. 15. Semantic Annotation of Parameter Values 15 identifiers.org URIs are suggested to semantically annotate parameterValueType http://smart-api.info/editor/
  16. 16. smartAPI Profiler 16 The profiler opens within the editor, once the user wants to annotate response data http://smart-api.info/editor/
  17. 17. Semantic Annotation of Response Data 17 responseDataType is automatically annotated by the profiler, within the editor http://smart-api.info/editor/
  18. 18. smartAPI Registry 18 http://smart-api.info/registry/
  19. 19. smartAPI Registry 19 http://smart-api.info/registry/
  20. 20. smartAPI Use Case 20 Given a gene, find other genes involved in the same pathway and find the candidate small molecules with these genes as the perturbation targets mygene.info Input gene mygene.info pathway mygene.info genes involved in the pathway smart-api.info
  21. 21. smartAPI Use Case 21 Given a gene, find other genes involved in the same pathway and find the candidate small molecules with these genes as the perturbation targets mygene.info Input gene mygene.info pathway mygene.info genes involved in the pathway list of “active” perturbagens & their associated bioassay dataset IDs http://lincsportal.ccs.miami.edu/apis/ smart-api.info
  22. 22. smartAPI Use Cases 22 • MyVariant.info (annotated) • Rat Genome Database • BD2K PIC-SURE HTTP API • Alliance of Genome Resources img source: http://www.wauchopeshowsociety.com.au/images/sl_website-under-construction.jpeg smart-api.info
  23. 23. • smartAPI Specification — 54 API metadata elements to describe APIs • smartAPI Editor — composition, semantic annotation and validation of API metadata • smartAPI Profiler — automatically annotate the API response data with semantic identifiers • smartAPI Registry — submit, search, and browse API descriptions and obtain field-specific metadata suggestions Conclusions 23 smart-api.info
  24. 24. • Upgrade to openAPI v3 • Export functionality to other repositories • Providing API descriptions as JSON-LD • Improving registry interface Future Work 24 smart-api.info
  25. 25. Acknowledgements • Michel Dumontier • Shima Dastgheib • Chunlei Wu • Trish Whetzel • Ruben Verborgh • Paul Avillach • Gabor Korodi • Raymond Terryn • Kathleen Jagodnik • Pedro Assis • Gregg Kellogg • Mark Wilkinson • Jeff De Pons • Denise Luna 25 NIH Commons Big Data to Knowledge (BD2K) API Interoperability Working Group smart-api.info
  26. 26. Thank You! Questions? 26 smart-api.info @AmrapaliZamrapali.zaveri@maastrichtuniversity.nl

×