SlideShare a Scribd company logo
1 of 18
Download to read offline
Czech Technical
                                                                       University in Prague



     Personalised Graph-Based Selection of
                   Web APIs

              Milan Dojchinovski1, Jaroslav Kuchar1, Tomas Vitvar1 and Maciej Zaremba2
1 Faculty of Information Technology                                                         2Digital Enterprise Research Institute
Czech Technical University in Prague                                                        National University of Ireland, Galway


                                                                Milan Dojchinovski
                              milan.dojchinovski@fit.cvut.cz - @m1ci - http://dojchinovski.mk



                                                                                    The 11th International Semantic Web Conference (ISWC 2012)
                                                                                                             November 10-15, 2012, Boston, USA

 Except where otherwise noted, the content of this presentation is licensed under
 Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Overview

 ‣   Introduction and Motivation

 ‣   Maximum Activation Method

 ‣   Experiments

 ‣   Related Work

 ‣   Conclusion and Future Work




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   2
Motivation

 ‣    Provide Personalized Selection of Web APIs
 ‣    Developers context
  -   relations with other developers
  -   the past history

 ‣    APIs context
  -   categories they belong to
  -   mashups they were used in

 ‣    Temporal aspect
  -   users want currently popular or trending APIs




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   3
Statistics

 ‣       Exponential growth of Web APIs

 ‣       ProgrammableWeb directory lists approx. 7,800 API descriptions

9,000
8,000           num. of APIs
                exponential function
7,000
                                                                                                                       3 months
6,000
                                                                                                                      4 months
5,000
                                                                                                               6 months
4,000
                                                                                                            9 months
3,000
                                                                                                 18 months
2,000
                                                     8 years
1,000
     0
         2000    2001        2002        2003       2004        2005        2006   2007   2008       2009      2010       2011      ov. 20
                                                                                                                                           12
                                                                                                                                  N
                                                             Total APIs Over Time


Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                                            4
Overview

 ‣   Introduction and Motivation

 ‣   Maximum Activation Method

 ‣   Experiments

 ‣   Related Work

 ‣   Conclusion and Future Work




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   5
Linked Web APIs

 ‣   ProgrammableWeb directory as RDF graph



                                                                                  Used ontologies:

                                                                                  • FOAF (prefix foaf)
                                                                                  • WSMO-lite (prefix wl)
                                                                                  • Dublin Core (prefix dc)
                                                                                  • SAWSDL (prefix sawsdl)
                                                                                  • new concepts and props.:
                                                                                   - ls:Mashup
                                                                                   - ls:Category
                                                                                   - ls:usedAPI
                        Excerpt from the Linked Web APIs dataset


Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                          6
Maximum Activation Method

 ‣    Flow networks as underlying concept
  -   nodes, edges, capacities
 ‣    Activation: a measure of connectivity between two nodes
 ‣    Inputs:
  -   Linked Web APIs graph
  -   a user profile
  -   user preferences
  -   aging constant
  -   a set of Web API candidates
 ‣    Output:
  -   maximum activation value for each Web API candidate

 ‣    Capacity function = user_preference_function ∗ aging_function



Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   7
User Preferences

 ‣    How the user sees an importance of an edge semantic

                            not preferred                        neutral          preferred
                                    < 50                             50             > 50

 ‣    Usage Example
  -   edge User - User more than API - Mashup

 ‣    Implications
  -   assigning higher/lower user preference will lead to higher/lower activation value




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk               8
Aging Function

 ‣   Usage
      -         promoting more recent Web APIs
      -         a higher constant accelerates the edge s aging process
                            1.0




                                                                             λ = 0.001
                                                                             λ = 0.01
                                                                             λ = 0.1
                            0.8
          Ageing function

                            0.6




                                                                                         A(ei,t) = A(ei,t0 ) ∗ e-t!
                            0.4
                            0.2
                            0.0




                                  0   50   100   150    200      250   300      350

                                                 Age (# weeks)




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                       9
The Algorithm

Inputs:                                                   Steps
-   Linked Web APIs graph                                     1. create a profile node
-   user profile                                               2. for each API candidate compute max. activation
-   user preferences                                          3. select an API with the highest activation
-   aging constant
-   Web API candidates




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                   10
Overview

 ‣   Introduction and Motivation

 ‣   Maximum Activation Method

 ‣   Experiments

 ‣   Related Work

 ‣   Conclusion and Future Work




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   11
Experiments

 ‣   Questions addressed
     -   How can we evaluate an API popularity evolution over time?
     -   How does the aging constant influence the maximum activation?
     -   What is the impact of the user preference function?
 ‣   Experiment setup
     -   full Linked Web APIs dataset
     -   snapshot created on May 18th, 2012
     -   5.988 APIs, 6.628 mashups, 2.335 user profiles




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   12
API Popularity Evolution

 ‣            Evaluation of 3 Web APIs (Mapping category) for a period of 3 years
 ‣           Aging constant set to: 0.01 and 0.1

                        Google Maps                                                            Google Maps
     400 600 800 1000




                        Bing Maps                                                              Bing Maps




                                                                                       5000
                        Yahoo Maps                                                             Yahoo Maps
        Popularity




                                                                                  Popularity
                                                                                  3000
                               1             2
                                                                                                                 2
                                                             4                                               1
             200




                                                  3




                                                                                       1000
           01−06−2009           01−06−2010              01−06−2011   01−06−2012       01−06−2009       01−06−2010           01−06−2011   01−06−2012
                                                 Time                                                                Time

                            a) aging constant ! = 0.1                                              b) aging constant ! = 0.01

     ‣              Higher value allows deeper, more sensitive evaluation
     ‣              Google Maps API constantly maintains its popularity


Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk                                                                       13
Overview

 ‣   Introduction and Motivation

 ‣   Maximum Activation Method

 ‣   Experiments

 ‣   Related Work

 ‣   Conclusion and Future Work




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   14
Maximum Activation vs. Spreading Activation

 Spreading Activation
     -   simulates the process of associative reasoning

 ‣   Terminating function
     -   MA: no terminating function, always assigns an activation
     -   SA: number of activated nodes, number of iterations, etc.
 ‣   Usage
     -   MA: selection of Web APIs
     -   SA: searching in associative networks, cross-domain recommendations
 ‣   Meaning of Activation
     -   MA: global meaning - measure of connectivity
     -   SA: local meaning - level of interest




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   15
Overview

 ‣   Introduction and Motivation

 ‣   Maximum Activation Method

 ‣   Experiments

 ‣   Related Work

 ‣   Conclusion and Future Work




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk   16
Conclusion and Future Work

 ‣   Activation-Based Web API Selection method

 ‣   Personalization enabled by:
     -   capturing developers context
     -   capturing APIs context
     -   expressing user s preferences

 ‣   Linked Web APIs dataset
 ‣   Future work directions:
     -   publish the Linked Web APIs dataset to the LOD cloud (in cooperation with PW)
     -   extend the method:
         •   assigning capacities to individual edges

         •   incorporate different SNA metrics




Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk          17
Feedback




                                                               Thank you!


                                             Questions, comments, ideas?



                            Milan Dojchinovski                                       @m1ci
                            milan.dojchinovski@fit.cvut.cz                            http://dojchinovski.mk

  Except where otherwise noted, the content of this presentation is licensed under
  Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported                                          18

More Related Content

Viewers also liked

Chainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME FrameworkChainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME FrameworkMilan Dojchinovski
 
Personalised Access to Linked Data
Personalised Access to Linked DataPersonalised Access to Linked Data
Personalised Access to Linked DataMilan Dojchinovski
 
7 kalimah allah
7 kalimah allah7 kalimah allah
7 kalimah allahIcha Brow
 
Anggaran penjualan
Anggaran penjualanAnggaran penjualan
Anggaran penjualanIcha Brow
 
01. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 201401. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 2014Icha Brow
 
Presentase pemasaran
Presentase pemasaranPresentase pemasaran
Presentase pemasaranIcha Brow
 
Prada H & D in Tokyo
Prada H & D in Tokyo Prada H & D in Tokyo
Prada H & D in Tokyo Emma Pereira
 
Keuangan dan tata kelola lkp
Keuangan dan tata kelola lkpKeuangan dan tata kelola lkp
Keuangan dan tata kelola lkpIcha Brow
 
Manajemen mutu, visi, renstra
Manajemen mutu, visi, renstraManajemen mutu, visi, renstra
Manajemen mutu, visi, renstraIcha Brow
 

Viewers also liked (11)

Chainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME FrameworkChainable and Extendable Knowledge Integration Web Services: the FREME Framework
Chainable and Extendable Knowledge Integration Web Services: the FREME Framework
 
Personalised Access to Linked Data
Personalised Access to Linked DataPersonalised Access to Linked Data
Personalised Access to Linked Data
 
Aress international
Aress internationalAress international
Aress international
 
Humor kocak
Humor kocakHumor kocak
Humor kocak
 
7 kalimah allah
7 kalimah allah7 kalimah allah
7 kalimah allah
 
Anggaran penjualan
Anggaran penjualanAnggaran penjualan
Anggaran penjualan
 
01. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 201401. kebijakan binsus (palopo) 2014
01. kebijakan binsus (palopo) 2014
 
Presentase pemasaran
Presentase pemasaranPresentase pemasaran
Presentase pemasaran
 
Prada H & D in Tokyo
Prada H & D in Tokyo Prada H & D in Tokyo
Prada H & D in Tokyo
 
Keuangan dan tata kelola lkp
Keuangan dan tata kelola lkpKeuangan dan tata kelola lkp
Keuangan dan tata kelola lkp
 
Manajemen mutu, visi, renstra
Manajemen mutu, visi, renstraManajemen mutu, visi, renstra
Manajemen mutu, visi, renstra
 

Similar to Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs

(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline PilotBIOVIA
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureDan Yoder
 
Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!Kang Zhang
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorialsTIB Academy
 
HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012Hervé Ménager
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentVolodymyr Voytyshyn
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Marc Dutoo
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhraShubhra Kar
 
Ember.js for SFHTML5
Ember.js for SFHTML5Ember.js for SFHTML5
Ember.js for SFHTML5Anthony Bull
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsFlorian Feldhaus
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseShubhra Kar
 
Introducing Kafka's Streams API
Introducing Kafka's Streams APIIntroducing Kafka's Streams API
Introducing Kafka's Streams APIconfluent
 
Open Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API IntegrationOpen Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API IntegrationFINOS
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010Matt Raible
 
Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring FrameworkEdureka!
 

Similar to Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs (20)

(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot(ATS3-PLAT01) Recent developments in Pipeline Pilot
(ATS3-PLAT01) Recent developments in Pipeline Pilot
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 
Towards a Web of Services
Towards a Web of ServicesTowards a Web of Services
Towards a Web of Services
 
Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!Sema Trends: Analysis your sales records semantically!
Sema Trends: Analysis your sales records semantically!
 
iServe Version 1
iServe Version 1iServe Version 1
iServe Version 1
 
Spring tutorials
Spring tutorialsSpring tutorials
Spring tutorials
 
HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012HPC Web overview - Mobyle Workshop - September 28, 2012
HPC Web overview - Mobyle Workshop - September 28, 2012
 
ASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web developmentASP.NET MVC as the next step in web development
ASP.NET MVC as the next step in web development
 
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, SmileOCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
OCCIware presentation at EclipseDay in Lyon, November 2017, by Marc Dutoo, Smile
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
Connect js nodejs_api_shubhra
Connect js nodejs_api_shubhraConnect js nodejs_api_shubhra
Connect js nodejs_api_shubhra
 
Ember.js for SFHTML5
Ember.js for SFHTML5Ember.js for SFHTML5
Ember.js for SFHTML5
 
Cloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementationsCloud standards interoperability: status update on OCCI and CDMI implementations
Cloud standards interoperability: status update on OCCI and CDMI implementations
 
OpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for EnterpriseOpenSource Node.js API Framework and Server for Enterprise
OpenSource Node.js API Framework and Server for Enterprise
 
Introducing Kafka's Streams API
Introducing Kafka's Streams APIIntroducing Kafka's Streams API
Introducing Kafka's Streams API
 
Open Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API IntegrationOpen Web Widgets: Enabling Faster Open API Integration
Open Web Widgets: Enabling Faster Open API Integration
 
Open Web Widgets
Open Web WidgetsOpen Web Widgets
Open Web Widgets
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010Comparing JVM Web Frameworks - Devoxx 2010
Comparing JVM Web Frameworks - Devoxx 2010
 
Getting Started with Spring Framework
Getting Started with Spring FrameworkGetting Started with Spring Framework
Getting Started with Spring Framework
 

Recently uploaded

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Recently uploaded (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs

  • 1. Czech Technical University in Prague Personalised Graph-Based Selection of Web APIs Milan Dojchinovski1, Jaroslav Kuchar1, Tomas Vitvar1 and Maciej Zaremba2 1 Faculty of Information Technology 2Digital Enterprise Research Institute Czech Technical University in Prague National University of Ireland, Galway Milan Dojchinovski milan.dojchinovski@fit.cvut.cz - @m1ci - http://dojchinovski.mk The 11th International Semantic Web Conference (ISWC 2012) November 10-15, 2012, Boston, USA Except where otherwise noted, the content of this presentation is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
  • 2. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future Work Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 2
  • 3. Motivation ‣ Provide Personalized Selection of Web APIs ‣ Developers context - relations with other developers - the past history ‣ APIs context - categories they belong to - mashups they were used in ‣ Temporal aspect - users want currently popular or trending APIs Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 3
  • 4. Statistics ‣ Exponential growth of Web APIs ‣ ProgrammableWeb directory lists approx. 7,800 API descriptions 9,000 8,000 num. of APIs exponential function 7,000 3 months 6,000 4 months 5,000 6 months 4,000 9 months 3,000 18 months 2,000 8 years 1,000 0 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 ov. 20 12 N Total APIs Over Time Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 4
  • 5. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future Work Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 5
  • 6. Linked Web APIs ‣ ProgrammableWeb directory as RDF graph Used ontologies: • FOAF (prefix foaf) • WSMO-lite (prefix wl) • Dublin Core (prefix dc) • SAWSDL (prefix sawsdl) • new concepts and props.: - ls:Mashup - ls:Category - ls:usedAPI Excerpt from the Linked Web APIs dataset Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 6
  • 7. Maximum Activation Method ‣ Flow networks as underlying concept - nodes, edges, capacities ‣ Activation: a measure of connectivity between two nodes ‣ Inputs: - Linked Web APIs graph - a user profile - user preferences - aging constant - a set of Web API candidates ‣ Output: - maximum activation value for each Web API candidate ‣ Capacity function = user_preference_function ∗ aging_function Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 7
  • 8. User Preferences ‣ How the user sees an importance of an edge semantic not preferred neutral preferred < 50 50 > 50 ‣ Usage Example - edge User - User more than API - Mashup ‣ Implications - assigning higher/lower user preference will lead to higher/lower activation value Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 8
  • 9. Aging Function ‣ Usage - promoting more recent Web APIs - a higher constant accelerates the edge s aging process 1.0 λ = 0.001 λ = 0.01 λ = 0.1 0.8 Ageing function 0.6 A(ei,t) = A(ei,t0 ) ∗ e-t! 0.4 0.2 0.0 0 50 100 150 200 250 300 350 Age (# weeks) Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 9
  • 10. The Algorithm Inputs: Steps - Linked Web APIs graph 1. create a profile node - user profile 2. for each API candidate compute max. activation - user preferences 3. select an API with the highest activation - aging constant - Web API candidates Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 10
  • 11. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future Work Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 11
  • 12. Experiments ‣ Questions addressed - How can we evaluate an API popularity evolution over time? - How does the aging constant influence the maximum activation? - What is the impact of the user preference function? ‣ Experiment setup - full Linked Web APIs dataset - snapshot created on May 18th, 2012 - 5.988 APIs, 6.628 mashups, 2.335 user profiles Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 12
  • 13. API Popularity Evolution ‣ Evaluation of 3 Web APIs (Mapping category) for a period of 3 years ‣ Aging constant set to: 0.01 and 0.1 Google Maps Google Maps 400 600 800 1000 Bing Maps Bing Maps 5000 Yahoo Maps Yahoo Maps Popularity Popularity 3000 1 2 2 4 1 200 3 1000 01−06−2009 01−06−2010 01−06−2011 01−06−2012 01−06−2009 01−06−2010 01−06−2011 01−06−2012 Time Time a) aging constant ! = 0.1 b) aging constant ! = 0.01 ‣ Higher value allows deeper, more sensitive evaluation ‣ Google Maps API constantly maintains its popularity Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 13
  • 14. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future Work Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 14
  • 15. Maximum Activation vs. Spreading Activation Spreading Activation - simulates the process of associative reasoning ‣ Terminating function - MA: no terminating function, always assigns an activation - SA: number of activated nodes, number of iterations, etc. ‣ Usage - MA: selection of Web APIs - SA: searching in associative networks, cross-domain recommendations ‣ Meaning of Activation - MA: global meaning - measure of connectivity - SA: local meaning - level of interest Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 15
  • 16. Overview ‣ Introduction and Motivation ‣ Maximum Activation Method ‣ Experiments ‣ Related Work ‣ Conclusion and Future Work Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 16
  • 17. Conclusion and Future Work ‣ Activation-Based Web API Selection method ‣ Personalization enabled by: - capturing developers context - capturing APIs context - expressing user s preferences ‣ Linked Web APIs dataset ‣ Future work directions: - publish the Linked Web APIs dataset to the LOD cloud (in cooperation with PW) - extend the method: • assigning capacities to individual edges • incorporate different SNA metrics Personalized Graph-Based Selection of Web APIs - @m1ci - http://dojchinovski.mk 17
  • 18. Feedback Thank you! Questions, comments, ideas? Milan Dojchinovski @m1ci milan.dojchinovski@fit.cvut.cz http://dojchinovski.mk Except where otherwise noted, the content of this presentation is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported 18