Usługa sieciowe udostępniająca we wzorcu REST zasoby leksykalne.

Opis

Usługa zorientowana jest na przetwarzanie pojedynczych leksemów.
Usługi do przetwarzania całych tekstów/korpusów.

Adres

Usługi w modelu REST są zlokalizowane pod adresem: ws.clarin-eu.pl/lexrest
Demo ilustrujące działanie usługi dostępne jest tutaj.

Dokumentacja

Wywołanie:

POST  /lex
contentType:'application/json'

Przesyłana struktura danych (JSON):

{ 
  "tool":tool,
  "task":task, 
  "lexeme":lexeme,
  "options": {}
}

tool

Nazwa narzędzia. Wartość "all" wywołuje wszystkie dostępne zadania.
Dostępne zasoby:

task

Nazwa zadania.
Wszystkie narzędzia powinny obsługiwać zadania:
  • "all" - pełne dane dla danego leksemu

Pozostałe zadania są specyficzne dla poszczególnych narzędzi. Opisane w dokumentacji dla danego narzędzia.

lexeme

Wyszukiwany leksem
Można podać tablicę leksemów (nie dla opcji toll="all"), system odpowie obiektami dla każdego leksemu. Rozmiar tablicy ograniczony do 1000.

{"task":"all","lexeme":["dom","pies"],"tool":"morfeusz"}

options

Opcje specyficzne dla zadania i narzędzia. Opisane w dokumentacji dla danego narzędzia.

Przykład JavaScript

var obj={"task":"all","tool":"morfeusz","lexeme":"dom"};
lexCall(obj);

function lexCall(task)
{   what="/lexrest/lex";
    $.ajax({type:"POST",
           contentType:'application/json',
           data: JSON.stringify(task),
       url:what,
       cache: false,
       processData: false,
       dataType: "json",
       success: function(res) { 
            if (res.error.length>0)
        { alert(res.error);
          return;
        }
        console.log(res);
        },    
       async:true
           });
} 

Przykład Java

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Entity;
import javax.ws.rs.core.MediaType;

public class LexHTTPClient {
    public static void main(String[] args) throws Exception {
        String nlprestURL = "http://ws.clarin-pl.eu/lexrest/lex/";
        String task = "{\"task\":\"all\",\"lexeme\":\"jechać\",\"tool\":\"all\"} ";
        Client client = ClientBuilder.newClient();
        String result = client.target(nlprestURL).request().
                post(Entity.entity(task, MediaType.APPLICATION_JSON)).readEntity(String.class);
        System.out.println(result);
    }