XSearch-Service-API
Contents
- 1 Objective
- 2 Requirements
- 3 Decisions
- 4 Services
- 4.1 Main Service A: Post-processing of search results
- 4.2 Main Service B: Match an identified entity
- 4.3 Main Service C: Enrich an identified entity
- 4.4 Main Service D: Identify entities in a Web Document
- 4.5 Supported Service S1: Get the supported categories of entities
- 4.6 Supported Service S2: Get the supported clustering algorithms
- 4.7 Supported Service S3: Get the supported search systems
Objective
- The objective of this activity is to provide an API for the semantic post-processing services of search results that were developed in the context of T10.4.
Requirements
- The API should allow someone to build an application (web application, mobile application) that exploits the services of T10.4 (and their deployment in the infrastructure).
- The functionality of 10.4 is generic, i.e. one can configure the underlying search system, the desired categories, the SPARQL endpoints to be used. It is desirable to offer this generality also at the API level.
Decisions
- We plan to develop a REST API since such an API could be used easily in various contexts.
- We will comply with OpenSearch because it is a standard and can allow configuring the underlying search system to use.
Services
Main Service A: Post-processing of search results
This service is responsible for the post-proccessing of the search results by performing textual clustering, entity mining or both in the top search results as returned by the given search system. The API could accept (as input parameters) an underlying search system and a set of parameters (e.g. query, number of results to analyze, etc.). The underlying source would be an opensearch compliant search engine. XSearch is then responsible for sending the query (with the given parameters) to the search engine and retrieve the results. Additional parameters related to the tasks of entity mining and textual clustering will be provided to the API.
Input Parameters:
- Underlying Search System: The URL of an OpenSearch Description Document or the name of a supported search system (see Supported Service S2)
- Query (string)
- Number of results to analyze (integer)
- Analyze full contents or snippets? (contents|snippets)
- Enable Entity Mining (boolean)
- Active categories of entities (see Supported Service S1)
- Enable Textual Clustering (boolean)
- Number of clusters to return (integer)
- Name of clustering algorithm (see Supported Service S2)
Output:
- Detected Entities (and for each entity, the results in which it lies)
- Produced Clusters (and for each cluster, the results in which it lies)
- Results
- The input parameters
Main Service B: Match an identified entity
This service links the name of an entity with a resource in a Knowledge Base. For example, the service can match the name "yellowfin tuna" with the DBpedia resource "http://dbpedia.org/resource/Yellowfin_tuna".
Input Parameters:
- The name of the entity
- The category of the entity
- The SPARQL endpoint to use
Output:
- A list of URIs that match the given entity name