{'fraction_non_alphanumeric': 0.022113022113022112, 'fraction_numerical': 0.0, 'mean_word_length': 5.23469387755102, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Semantic-Based Web API Composition for Data Mashups

With the growing popularity of data mashups, the number of Web APIs has increased significantly. As a result, finding and composing the right APIs has become an increasingly complex task. Although several tools such as Yahoo's Pipes, IBM's Lotus Mashup, and Intel's Mashmaker have been developed to enable users to create data mashups without programming skills, there are several challenging issues when combining a large number of APIs into the data mashup. This paper proposes novel algorithms for the automatic discovery and composition of Web APIs. Our discovery algorithm adopts strategies that rapidly prune APIs that are guaranteed not to match the query. Our composition algorithm consists of constructing a composable similarity graph (CSG) and searching composition candidates. The CSG presents the semantic functional dependency between the inputs and the outputs of the Web APIs. Using this graph, we generate directed acyclic graphs (DAGs) that can produce the output satisfying the desired goal. We evaluate the algorithms on a real-world dataset from ProgrammableWeb.com, and show that they can produce the results satisfying the user's desired output.