Knarig Arabshian of Bell Labs, Alcatel-Lucent, recently wrote an article describing how semantic technologies can be used for programmable web API search. Arabshian explains, "Service discovery is not an easy task in today’s Web. Discovering an API requires searching through a large number of services on the Internet and then reading pages of documentation to figure out how to use the ones that may match your application. This is the case in Programmable Web as well. The API directory shows over 5000 APIs which are manually categorized in over 50 service categories. And that’s not all…there are around 80 APIs coming in per week and each of these are manually identified and categorized within a single service category. So how can we improve the search and classification?"
Arabshian continues, "One way is to use an ontology to describe the APIs. An ontology is a shared understanding of a domain of interest. It describes the meaning or semantics of a domain with a formal model so that machines can understand this data and process it automatically. The main components of an ontology are classes, properties and individuals. A class represents the domain, the properties represent the set of attributes for that domain and the individuals are actual instances contained within the class. Think of how object orientation works: a class contains variables and methods and instances can represent that class. The analogy with an ontology would be: OO Class → Ontology Class; OO Variable → Ontology Property; OO Instance → Ontology Individual."
Image: Courtesy Alcatel-Lucent