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:
- morfeusz
- word2vec
- plwordnet
- walenty
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); }