dannet
DanNet - Danish WordNet with rich lexical relationships and SPARQL access.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"dannet": {
"url": "https://wordnet.dk/mcp"
}
}
}Puntos de conexión remotos
https://wordnet.dk/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (6)
🟢get_word_synsets(word)
The synsets (senses) of the Danish `word`, as JSON-LD entries with @id (e.g. "dn:synset-3047" for get_entity_info), skos:definition, dns:ontologicalType and wn:lexfile. A word with a single synset gives that synset's full JSON-LD as the only entry.
Esquema de entrada
{
"type": "object",
"properties": {
"word": {
"title": "Word",
"type": "string"
}
},
"required": [
"word"
],
"title": "get_word_synsetsArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "get_word_synsetsOutput"
}🟢get_entity_info(identifier)
Full JSON-LD of a DanNet resource: a synset ("synset-3047"), word ("word-11021628") or sense ("sense-21033604"), given bare or prefixed ("dn:synset-3047"), or an external resource by prefix ("ili:i76470", "ontolex:LexicalConcept"). Properties use prefixed names (wn:hypernym, ontolex:isEvokedBy, ...); language-tagged values are {"@value": ..., "@language": ...}.
Esquema de entrada
{
"type": "object",
"properties": {
"identifier": {
"title": "Identifier",
"type": "string"
}
},
"required": [
"identifier"
],
"title": "get_entity_infoArguments"
}🟢get_word_overview(word)
Every sense of the Danish `word` in one call: a list with synset_id, label, definition, lexfile, ontological_types, synonyms (words sharing the synset) and hypernym ({synset_id, label} or null) per synset. Only synsets where the word itself has a sense count, not multi-word expressions containing it.
Esquema de entrada
{
"type": "object",
"properties": {
"word": {
"title": "Word",
"type": "string"
}
},
"required": [
"word"
],
"title": "get_word_overviewArguments"
}Esquema de salida
{
"type": "object",
"properties": {
"result": {
"items": {
"additionalProperties": true,
"type": "object"
},
"title": "Result",
"type": "array"
}
},
"required": [
"result"
],
"title": "get_word_overviewOutput"
}⚪autocomplete_danish_word(prefix, max_results)
Danish words starting with `prefix` (at least 3 characters), at most `max_results`, as {"autocompletions": [...]} where lemmas are plain strings and inflected forms of a matching lemma are [lemma, form] pairs.
Esquema de entrada
{
"type": "object",
"properties": {
"prefix": {
"title": "Prefix",
"type": "string"
},
"max_results": {
"default": 10,
"title": "Max Results",
"type": "integer"
}
},
"required": [
"prefix"
],
"title": "autocomplete_danish_wordArguments"
}🟢fetch_ddo_definition(synset_id)
The full definitions of `synset_id` from DDO (ordnet.dk), where DanNet's own skos:definition may be truncated. Follows the dns:source of each sense. Returns the DanNet definition, the DDO definitions found and any errors; DDO and DanNet have drifted apart, so some source URLs no longer resolve.
Esquema de entrada
{
"type": "object",
"properties": {
"synset_id": {
"title": "Synset Id",
"type": "string"
}
},
"required": [
"synset_id"
],
"title": "fetch_ddo_definitionArguments"
}🟡sparql_query(query, timeout, max_results, distinct, inference)
Run a SPARQL SELECT `query` against DanNet and return standard SPARQL JSON results ({"head": ..., "results": {"bindings": [...]}}). The common prefixes (dn, dns, dnc, dnf, wn, ontolex, lexinfo, skos, rdfs, rdf, owl, marl, dc, ili, en, enl, cor) are declared automatically. `timeout` is in ms (max 15000), `max_results` at most 100, `distinct` adds DISTINCT, and `inference` selects the model: None tries the base model and retries with inference on an empty result; True forces inference, which inverse relations like wn:hyponym and wn:holo_* need; False forces the base model. Performance rules: anchor every query on a known URI or a word lookup (dn:synset-3047 wn:hypernym ?x, never ?x wn:hypernym ?y alone); never FILTER(CONTAINS(...)) over all labels, look the word up first; make every triple pattern share a variable with another; add LIMIT; prefer VALUES over FILTER for several known URIs; the store also holds the English WordNet (en:), so anchor on dn: or "..."@da to stay in Danish. Templates: Synsets of a word: SELECT DISTINCT ?synset ?label WHERE { ?entry ontolex:canonicalForm/ontolex:writtenRep "hund"@da . ?entry ontolex:sense/ontolex:isLexicalizedSenseOf ?synset . ?synset rdfs:label ?label } Taxonomic ancestors: SELECT DISTINCT ?ancestor ?label WHERE { dn:synset-3047 wn:hypernym+ ?ancestor . ?ancestor rdfs:label ?label } Hyponyms (needs inference=True, or query the inverse wn:hypernym): SELECT DISTINCT ?hyponym ?label WHERE { ?hyponym wn:hypernym dn:synset-3047 . ?hyponym rdfs:label ?label } Ontological types (an RDF bag): SELECT ?type WHERE { dn:synset-3047 dns:ontologicalType/?pos ?type . FILTER(STRSTARTS(STR(?pos), STR(rdf:_))) } Taxonomic similarity (dnf:path, dnf:lch, dnf:wup score two synsets of the same language and part of speech, 1.0 for identical): SELECT ?synset ?score WHERE { ?synset a ontolex:LexicalConcept . FILTER(STRSTARTS(STR(?synset), STR(dn:))) BIND(dnf:wup(dn:synset-3047, ?synset) AS ?score) } ORDER BY DESC(?score) LIMIT 20
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"title": "Query",
"type": "string"
},
"timeout": {
"default": 8000,
"title": "Timeout",
"type": "integer"
},
"max_results": {
"default": 100,
"title": "Max Results",
"type": "integer"
},
"distinct": {
"default": true,
"title": "Distinct",
"type": "boolean"
},
"inference": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Inference"
}
},
"required": [
"query"
],
"title": "sparql_queryArguments"
}Comunidad
Evidencia