dannet
DanNet - Danish WordNet with rich lexical relationships and SPARQL access.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"dannet": {
"url": "https://wordnet.dk/mcp"
}
}
}遠端端點
https://wordnet.dk/mcpstreamable-http它能做什麼
工具清單
工具(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.
輸入結構描述
{
"type": "object",
"properties": {
"word": {
"title": "Word",
"type": "string"
}
},
"required": [
"word"
],
"title": "get_word_synsetsArguments"
}輸出結構描述
{
"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": ...}.
輸入結構描述
{
"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.
輸入結構描述
{
"type": "object",
"properties": {
"word": {
"title": "Word",
"type": "string"
}
},
"required": [
"word"
],
"title": "get_word_overviewArguments"
}輸出結構描述
{
"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.
輸入結構描述
{
"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.
輸入結構描述
{
"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
輸入結構描述
{
"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"
}社群
證據