API

Nota: A API aqui descrita está em fase de desenvolvimento, e poderá mudar, sem qualquer aviso ou suporte no futuro. Em breve alguns dos URI começarão a ser marcados como oficiais (e finais).

GET /api/langs
Obtém lista de línguas disponíveis. Por exemplo:

      ["cat","eng","eus","glg","por","spa"]
      
GET /api/stats
Obém estatísticas das wordnet disponíveis:

      { "cat":{ "synsets" :{ "n":"36460", "r":"1", "a":"4148", "v":"5424"  },
                "variants":{ "n":"51606", "r":"2", "a":"7679", "v":"11577" }},
        "eus":{ "synsets" :{ "n":"26709", "a":"111", "v":"3442" },
                "variants":{ "n":"40423", "a":"148", "v":"9470" }},
        "spa":{ "synsets" :{ "n":"26594", "r":"677",  "a":"5180", "v":"6251" },
                "variants":{ "n":"39142", "r":"1051", "a":"6967", "v":"10829"}},
        "glg":{ "synsets" :{ "n":"24323", "r":"586", "a":"5795", "v":"2416" },
                "variants":{ "n":"34175", "r":"849", "a":"9508", "v":"5913" }},  
        "por":{ "synsets" :{ "n":"10047", "r":"528", "a":"3581", "v":"3786" },
                "variants":{ "n":"17149", "r":"789", "a":"6330", "v":"8407" }}, 
        "eng":{ "synsets" :{ "n":"82889",  "r":"3621", "a":"18156", "v":"13769" },
                "variants":{ "n":"147358", "r":"5580", "a":"30004", "v":"25051" }}}
    
GET /api/<lang>/search/<word>
Procura palavra na língua indicada. Retorna lista de identificadores de synsets. Por exemplo, para /api/por/search/cavalo obtém-se:

        ["por-30-02374451-n",
         "por-30-03538037-n",
         "por-30-03624767-n",
         "por-30-07666406-n",
         "por-30-03516011-n",
         "por-30-02376918-n"]
      
GET /api/synset/<synset-id>
Retorna synsets em todas as línguas disponíveis, dado o identificador de synset. Esse identificador pode ter, opcionalmente, o prefixo de língua. Assim, os URI /api/synset/03538037-n e /api/synset/por-30-03538037-n retornam o mesmo resultado:

      { "spa-30": [ "caballo"],
        "cat-30": [ "cavall_de_salts"],
        "eng-30": [ "gymnastic_horse", "horse"],
        "eus-30": [ "zaldi"],
        "por-30": [ "cavalo"],
        "glg-30": [] }
      
GET /api/<lang>/synset/<synset-id>
Semelhante ao anterior, mas procura para uma única língua. Permite pesquisas ligeiramente mais rápidas. Exemplo para /api/por/synset/03538037-n

      [ "cavalo" ]
      
GET /api/detail/<synset-id>
Retorna synsets em todas as línguas disponíveis, incluindo glosas. Tal como no método anterior, o identificador pode ter, opcionalmente, o prefixo de língua. Assim, os URI /api/detail/03538037-n e /api/detail/por-30-03538037-n retornam o mesmo resultado:

      { "eng-30": { "gloss": "a padded gymnastic apparatus on legs",
                    "variants": [ "gymnastic_horse", "horse"] },
        "eus-30": { "variants": [ "zaldi"] },
        "por-30": { "variants": [ "cavalo"],
                    "gloss": "um aparelho de ginástica acolchoado em pés" },
        "glg-30": { "variants": [] },
        "spa-30": { "variants": [ "caballo"] },
        "cat-30": { "gloss": "Aparell de gimnàstica de cos allargat i quatre potes",
                    "variants": [ "cavall_de_salts"] } }
      
GET /api/gloss/<synset-id>
Retorna a glosa de determinado synset, de acordo com o código da língua indicado no identificador de synset. Ao contrário do anterior, este método obrigado a que seja indicado o identificador completo. Assim, /api/gloss/por-30-03538037-n retorna:

         {"gloss":"um aparelho de ginástica acolchoado em pés"}
       
GET /api/rels
Retorna todas as relações definidas na wordnet. Neste momento, retorna apenas:

        [ { "id": "1", "name": "be_in_state" }
          { "id": "2", "name": "causes" },
          { "id": "3", "name": "fuzzynym" },
          { "id": "4", "name": "has_derived" },
          { "id": "5", "name": "has_holo_location" },
          { "id": "6", "name": "has_holo_madeof" },
          { "id": "7", "name": "has_holo_member" },
          { "id": "8", "name": "has_holo_part" }, ... ]
        
GET /api/rel/<id>
Retorna pares de referências de synsets relacionados pela relação identificada. Note que a ordem é importante.

      [ { "sourceSynset": "00001740-a", "targetSynset": "05200169-n" },
        { "sourceSynset": "00001740-a", "targetSynset": "05616246-n" },
        { "sourceSynset": "00002098-a", "targetSynset": "05200169-n" },
        { "sourceSynset": "00006336-a", "targetSynset": "04940964-n" },
        { "sourceSynset": "00007813-a", "targetSynset": "04940964-n" },
        { "sourceSynset": "00009046-a", "targetSynset": "04883942-n" },
        { "sourceSynset": "00009978-a", "targetSynset": "04886101-n" },
        { "sourceSynset": "00011757-a", "targetSynset": "04762134-n" },
        ...]
      
GET /api/rel/<offset>
Para obter as relações de determinado synset, indicar o seu identificador, com ou sem identificador de língua. Exemplo para /api/rel/15129927-n:

       [ { "relation": "1",  "targetSynset": "00130412-a" },
         { "relation": "1",  "targetSynset": "00130596-a" },
         { "relation": "12", "targetSynset": "15131598-n" },
         { "relation": "12", "targetSynset": "15166897-n" },
         { "relation": "12", "targetSynset": "15228378-n" },
         ...]
      
POST /api/auth
URI privado;
GET /api/add/<synset-id>/<word>
URI privado;
GET /api/delete/<synset-id>/<word>
URI privado;
POST /api/gloss/<synset-id>
URI privado;