Skip to main content
Glama
nando.yaml22.7 kB
schema_info: title: NANDO (Nanbyo Data) description: | NANDO is a comprehensive ontology for Japanese intractable (rare) diseases maintained by the Japanese government. It contains 2,777 disease classes organized in a hierarchical taxonomy, primarily focusing on designated intractable diseases eligible for government support. Each disease includes multilingual labels (English, Japanese kanji, hiragana), descriptions, notification numbers, and cross-references to international disease ontologies (MONDO) and external resources (KEGG, medical documentation). The ontology is designed to support Japanese healthcare policy, research coordination, and patient information systems. endpoint: https://rdfportal.org/primary/sparql base_uri: http://nanbyodata.jp/ontology/ graphs: - http://nanbyodata.jp/ontology/nando version: mie_version: '1.0' mie_created: '2025-01-01' data_version: Current release update_frequency: Quarterly license: data_license: CC BY 4.0 license_url: https://creativecommons.org/licenses/by/4.0/ access: rate_limiting: 100 queries/min max_query_timeout: 60 seconds shape_expressions: | PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX dct: <http://purl.org/dc/terms/> PREFIX obo: <http://purl.obolibrary.org/obo/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX nando: <http://nanbyodata.jp/ontology/NANDO_> <DiseaseShape> { a [ owl:Class ] ; rdfs:label xsd:string + ; dct:identifier xsd:string ; skos:prefLabel xsd:string ; nando:hasNotificationNumber xsd:string ? ; dct:source IRI ? ; rdfs:seeAlso IRI * ; skos:closeMatch IRI * ; skos:altLabel xsd:string * ; dct:description xsd:string ? ; rdfs:subClassOf IRI * ; owl:deprecated xsd:integer ? } sample_rdf_entries: - title: Designated Intractable Disease with Full Metadata description: Spinal and bulbar muscular atrophy (SBMA), also known as Kennedy disease, with complete trilingual labels, description, notification number, and cross-references to MONDO and KEGG. rdf: | @prefix nando: <http://nanbyodata.jp/ontology/NANDO_> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix dct: <http://purl.org/dc/terms/> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . nando:1200001 a owl:Class ; dct:identifier "NANDO:1200001" ; nando:hasNotificationNumber "1" ; rdfs:label "Spinal and bulbar muscular atrophy"@en ; rdfs:label "球脊髄性筋萎縮症"@ja ; rdfs:label "きゅうせきずいせいきんいしゅくしょう"@ja-hira ; skos:prefLabel "球脊髄性筋萎縮症"@ja ; skos:altLabel "Kennedy disease"@en ; skos:altLabel "SBMA"@en ; dct:description "通常成人男性に発症する、遺伝性下位運動ニューロン疾患である。"@ja ; rdfs:subClassOf nando:1100001 ; skos:closeMatch <http://purl.obolibrary.org/obo/MONDO_0010735> ; rdfs:seeAlso <https://www.kegg.jp/dbget-bin/www_bget?ds_ja:H00455> . - title: Disease Category (Parent Class) description: Neuromuscular disease category serving as parent class for specific neuromuscular conditions in the NANDO hierarchy. rdf: | @prefix nando: <http://nanbyodata.jp/ontology/NANDO_> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix dct: <http://purl.org/dc/terms/> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . nando:1100001 a owl:Class ; dct:identifier "NANDO:1100001" ; rdfs:label "Neuromuscular disease"@en ; rdfs:label "神経・筋疾患"@ja ; rdfs:label "しんけい・きんしっかん"@ja-hira ; skos:prefLabel "神経・筋疾患"@ja ; rdfs:subClassOf nando:1000001 ; skos:closeMatch <http://purl.obolibrary.org/obo/MONDO_0019056> . - title: Disease with Multiple MONDO Mappings description: Metabolic disease category linked to multiple MONDO ontology terms, demonstrating one-to-many cross-references. rdf: | @prefix nando: <http://nanbyodata.jp/ontology/NANDO_> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix dct: <http://purl.org/dc/terms/> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . nando:1100002 a owl:Class ; dct:identifier "NANDO:1100002" ; rdfs:label "Metabolic disease"@en ; rdfs:label "代謝系疾患"@ja ; skos:prefLabel "代謝系疾患"@ja ; rdfs:subClassOf nando:1000001 ; skos:closeMatch <http://purl.obolibrary.org/obo/MONDO_0004955> ; skos:closeMatch <http://purl.obolibrary.org/obo/MONDO_0005066> . - title: Well-Known Disease with External Documentation description: Parkinson's disease entry with comprehensive external references to government documents, patient resources, and KEGG database. rdf: | @prefix nando: <http://nanbyodata.jp/ontology/NANDO_> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix dct: <http://purl.org/dc/terms/> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . nando:1200010 a owl:Class ; dct:identifier "NANDO:1200010" ; nando:hasNotificationNumber "6" ; rdfs:label "Parkinson's disease"@en ; rdfs:label "パーキンソン病"@ja ; skos:prefLabel "パーキンソン病"@ja ; skos:altLabel "PD"@en ; skos:altLabel "Parkinson disease"@en ; rdfs:subClassOf nando:1100001 ; skos:closeMatch <http://purl.obolibrary.org/obo/MONDO_0005180> ; rdfs:seeAlso <https://www.kegg.jp/dbget-bin/www_bget?ds_ja:H00057> ; rdfs:seeAlso <https://www.mhlw.go.jp/file/06-Seisakujouhou-10900000-Kenkoukyoku/0000157751.docx> ; dct:source <https://www.nanbyou.or.jp/wp-content/uploads/upload_files/File/006-201804-kojin.pdf> . - title: Root Ontology Class description: Top-level intractable disease class serving as root of the NANDO taxonomy hierarchy. rdf: | @prefix nando: <http://nanbyodata.jp/ontology/NANDO_> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix dct: <http://purl.org/dc/terms/> . nando:0000001 a owl:Class ; dct:identifier "NANDO:0000001" ; rdfs:label "Intractable disease"@en ; rdfs:label "難病"@ja ; rdfs:label "なんびょう"@ja-hira ; rdfs:subClassOf owl:Thing . sparql_query_examples: - title: Find diseases by English keyword description: Search for diseases using keyword matching in English labels, utilizing Virtuoso's full-text search capabilities. question: Find all diseases related to Parkinson's disease complexity: basic sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dct: <http://purl.org/dc/terms/> SELECT ?disease ?label ?identifier FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; rdfs:label ?label ; dct:identifier ?identifier . ?label bif:contains "'Parkinson*'" option (score ?sc) . } ORDER BY DESC(?sc) LIMIT 20 - title: List all disease categories description: Retrieve top-level disease categories with their Japanese and English labels. question: What are the main disease categories in NANDO? complexity: basic sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX nando: <http://nanbyodata.jp/ontology/NANDO_> SELECT ?category ?en_label ?ja_label FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?category a owl:Class ; rdfs:subClassOf nando:1000001 ; rdfs:label ?en_label ; rdfs:label ?ja_label . FILTER(LANG(?en_label) = "en") FILTER(LANG(?ja_label) = "ja" && !REGEX(STR(?ja_label), "^[ぁ-ん]+$")) } ORDER BY ?en_label - title: Get diseases with MONDO cross-references description: Find diseases mapped to MONDO Disease Ontology terms, useful for international disease harmonization. question: Which NANDO diseases are mapped to MONDO ontology? complexity: intermediate sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT ?disease ?label ?mondo_id FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; rdfs:label ?label ; skos:closeMatch ?mondo_id . FILTER(STRSTARTS(STR(?mondo_id), "http://purl.obolibrary.org/obo/MONDO_")) FILTER(LANG(?label) = "en") } LIMIT 50 - title: Find designated intractable diseases with notification numbers description: Retrieve diseases officially designated by Japanese government with their notification numbers and Japanese names. question: List designated intractable diseases eligible for government support complexity: intermediate sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dct: <http://purl.org/dc/terms/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX nando: <http://nanbyodata.jp/ontology/NANDO_> SELECT ?disease ?identifier ?prefLabel ?en_label ?notif_num FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; dct:identifier ?identifier ; skos:prefLabel ?prefLabel ; nando:hasNotificationNumber ?notif_num . OPTIONAL { ?disease rdfs:label ?en_label . FILTER(LANG(?en_label) = "en") } } ORDER BY xsd:integer(?notif_num) LIMIT 50 - title: Explore disease hierarchy with parent-child relationships description: Navigate the hierarchical structure of diseases showing category-subcategory relationships. question: Show me the hierarchical structure of diseases under a specific category complexity: intermediate sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX nando: <http://nanbyodata.jp/ontology/NANDO_> SELECT ?parent ?parent_label ?child ?child_label FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?child rdfs:subClassOf ?parent ; rdfs:label ?child_label ; a owl:Class . ?parent rdfs:label ?parent_label ; a owl:Class . FILTER(LANG(?child_label) = "en" && LANG(?parent_label) = "en") FILTER(?parent = nando:1100001) } ORDER BY ?child_label - title: Complex search with multiple filters and cross-references description: Advanced query combining keyword search, external database links, and multilingual label retrieval. question: Find neuromuscular diseases with KEGG links and all their labels complexity: advanced sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dct: <http://purl.org/dc/terms/> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX nando: <http://nanbyodata.jp/ontology/NANDO_> SELECT ?disease ?identifier ?en_label ?ja_label ?ja_hira ?kegg ?mondo FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; rdfs:subClassOf+ nando:1100001 ; dct:identifier ?identifier ; rdfs:label ?en_label ; rdfs:label ?ja_label ; rdfs:seeAlso ?kegg . OPTIONAL { ?disease rdfs:label ?ja_hira . FILTER(REGEX(STR(?ja_hira), "^[ぁ-ん]+$")) } OPTIONAL { ?disease skos:closeMatch ?mondo . FILTER(STRSTARTS(STR(?mondo), "http://purl.obolibrary.org/obo/MONDO_")) } FILTER(LANG(?en_label) = "en") FILTER(LANG(?ja_label) = "ja" && !REGEX(STR(?ja_label), "^[ぁ-ん]+$")) FILTER(CONTAINS(STR(?kegg), "kegg.jp")) } ORDER BY ?identifier LIMIT 30 - title: Statistical aggregation with disease counts by category description: Aggregate query showing distribution of diseases across major categories with counts and representative examples. question: How many diseases are in each category with examples? complexity: advanced sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX nando: <http://nanbyodata.jp/ontology/NANDO_> SELECT ?category ?category_label (COUNT(DISTINCT ?disease) as ?disease_count) (GROUP_CONCAT(DISTINCT ?example_label; separator="; ") as ?examples) FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?category a owl:Class ; rdfs:subClassOf nando:1000001 ; rdfs:label ?category_label . ?disease rdfs:subClassOf ?category ; rdfs:label ?example_label ; a owl:Class . FILTER(LANG(?category_label) = "en") FILTER(LANG(?example_label) = "en") } GROUP BY ?category ?category_label ORDER BY DESC(?disease_count) cross_references: - pattern: skos:closeMatch description: | Links to MONDO Disease Ontology for international disease harmonization. Approximately 2,341 diseases have MONDO mappings. databases: disease_ontologies: - 'MONDO Disease Ontology: ~2,341 mappings' sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT ?disease ?mondo FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; skos:closeMatch ?mondo . FILTER(STRSTARTS(STR(?mondo), "http://purl.obolibrary.org/obo/MONDO_")) } LIMIT 100 - pattern: rdfs:seeAlso description: | External references to various resources including KEGG Disease database, Japanese government documents (Ministry of Health), patient information portals, and clinical syndrome databases. Total of 6,120 external references. databases: molecular_databases: - 'KEGG Disease: Disease pathway and gene associations' government_resources: - 'MHLW (Ministry of Health): Official designation documents (.docx)' patient_resources: - 'Nanbyou.or.jp: Patient information and support' clinical_databases: - 'Syndrome Finder: Clinical syndrome descriptions' sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?disease ?external_ref FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; rdfs:seeAlso ?external_ref . FILTER(CONTAINS(STR(?external_ref), "kegg.jp") || CONTAINS(STR(?external_ref), "mhlw.go.jp") || CONTAINS(STR(?external_ref), "nanbyou.or.jp")) } LIMIT 100 - pattern: dct:source description: | Source documentation for disease definitions, primarily linking to official Japanese government PDF documents describing diagnostic criteria and clinical management. Approximately 2,397 diseases have source references. databases: documentation: - 'Nanbyou.or.jp Documents: ~2,397 source PDFs' sparql: | PREFIX owl: <http://www.w3.org/2002/07/owl#> PREFIX dct: <http://purl.org/dc/terms/> SELECT ?disease ?source_doc FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; dct:source ?source_doc . } LIMIT 100 architectural_notes: schema_design: - "Hierarchical taxonomy with owl:Thing → Intractable disease → Designated intractable disease → Disease categories → Specific diseases" - 'Multilingual support with language tags: @en (English), @ja (Japanese kanji), @ja-hira (Japanese hiragana)' - Disease categories use NANDO:11xxxxx IDs, specific diseases use NANDO:12xxxxx IDs - Root class NANDO:0000001 serves as top-level intractable disease concept performance: - Use bif:contains for keyword searches - significantly faster than REGEX or FILTER CONTAINS - 'Language filtering on rdfs:label is efficient: FILTER(LANG(?label) = ''en'')' - Cross-reference queries benefit from STRSTARTS filtering on URI patterns - Hierarchical queries using rdfs:subClassOf+ may timeout; use direct parent-child for better performance data_integration: - MONDO mappings via skos:closeMatch enable integration with international disease databases - KEGG Disease links provide molecular and pathway context - Japanese government documents (.docx) contain official diagnostic criteria - Some diseases have multiple MONDO mappings (one-to-many relationships) data_quality: - All 2,777 diseases have dct:identifier, rdfs:label, and skos:prefLabel - 88% have notification numbers (nando:hasNotificationNumber) - 84% have MONDO mappings (skos:closeMatch) - 44% have descriptions (dct:description) in Japanese - 9 deprecated classes marked with owl:deprecated data_statistics: total_diseases: 2777 designated_diseases_with_notification: 2454 diseases_with_mondo_mapping: 2341 diseases_with_kegg_links: ~500 coverage: identifier_coverage: 100% (all diseases) label_coverage_multilingual: 100% (all diseases) notification_number_coverage: ~88% (designated diseases) mondo_mapping_coverage: ~84% description_coverage: ~44% cardinality: avg_labels_per_disease: 3.0 avg_external_refs_per_disease: 2.2 avg_mondo_mappings_per_disease: 0.8 performance_characteristics: - 'Basic keyword searches: <1 second' - 'Hierarchical traversal queries: 1-3 seconds' - 'Multi-join cross-reference queries: 2-5 seconds' - 'Full-text search with bif:contains: typically <500ms' data_quality_notes: - "Hiragana labels use pattern ^[ぁ-ん]+$ for filtering" - Some diseases have multiple MONDO mappings (valid for disease variants) - External URLs may change; KEGG links are most stable - Japanese descriptions may contain technical medical terminology anti_patterns: - title: Using REGEX instead of bif:contains for keyword search problem: REGEX is slow and doesn't support relevance ranking wrong_sparql: | SELECT ?disease ?label WHERE { ?disease rdfs:label ?label . FILTER(REGEX(?label, "Parkinson", "i")) } correct_sparql: | SELECT ?disease ?label WHERE { ?disease rdfs:label ?label . ?label bif:contains "'Parkinson*'" option (score ?sc) . } ORDER BY DESC(?sc) explanation: bif:contains uses full-text indexing and provides relevance scoring, making searches 10-100x faster - title: Not filtering language tags for multilingual labels problem: Returns all language variants, creating duplicate rows and confusion wrong_sparql: | SELECT ?disease ?label WHERE { ?disease a owl:Class ; rdfs:label ?label . } correct_sparql: | SELECT ?disease ?en_label ?ja_label WHERE { ?disease a owl:Class ; rdfs:label ?en_label ; rdfs:label ?ja_label . FILTER(LANG(?en_label) = "en") FILTER(LANG(?ja_label) = "ja" && !REGEX(STR(?ja_label), "^[ぁ-ん]+$")) } explanation: Explicit language filtering prevents duplicates and separates English, kanji, and hiragana labels - title: Using unlimited rdfs:subClassOf+ for deep hierarchy traversal problem: May timeout on large hierarchies without LIMIT wrong_sparql: | SELECT ?disease ?label WHERE { ?disease rdfs:subClassOf+ nando:1100001 ; rdfs:label ?label . } correct_sparql: | SELECT ?disease ?label WHERE { ?disease rdfs:subClassOf nando:1100001 ; rdfs:label ?label . FILTER(LANG(?label) = "en") } LIMIT 100 explanation: Direct parent-child queries are faster; if deep traversal needed, always use LIMIT common_errors: - error: Empty result set when searching for diseases causes: - Forgot to include graph in FROM clause - Wrong language tag filter - Searching for hiragana without proper pattern solutions: - 'Always include: FROM <http://nanbyodata.jp/ontology/nando>' - Use LANG(?label) = 'en' for English or 'ja' for Japanese - "For hiragana: FILTER(REGEX(STR(?label), '^[ぁ-ん]+$'))" example_fix: | # Wrong SELECT ?disease ?label WHERE { ?disease rdfs:label ?label . } # Correct SELECT ?disease ?label FROM <http://nanbyodata.jp/ontology/nando> WHERE { ?disease a owl:Class ; rdfs:label ?label . FILTER(LANG(?label) = "en") } - error: Query timeout on MONDO cross-reference queries causes: - Not using STRSTARTS filter before joining - Missing LIMIT clause - Inefficient join order solutions: - Apply FILTER(STRSTARTS(STR(?mondo), 'http://purl.obolibrary.org/obo/MONDO_')) early - Always add LIMIT for exploratory queries - Put most selective conditions first example_fix: | # Slow - filters after join SELECT ?disease ?label ?mondo WHERE { ?disease skos:closeMatch ?mondo ; rdfs:label ?label . FILTER(STRSTARTS(STR(?mondo), "http://purl.obolibrary.org/obo/MONDO_")) } # Fast - filters before join SELECT ?disease ?label ?mondo WHERE { ?disease a owl:Class ; rdfs:label ?label . ?disease skos:closeMatch ?mondo . FILTER(STRSTARTS(STR(?mondo), "http://purl.obolibrary.org/obo/MONDO_")) FILTER(LANG(?label) = "en") } LIMIT 100 - error: Cannot distinguish between kanji and hiragana labels causes: - Both use @ja language tag - Not using regex pattern to separate them solutions: - "Hiragana-only: FILTER(REGEX(STR(?label), '^[ぁ-ん]+$'))" - "Kanji (non-hiragana): FILTER(LANG(?label) = 'ja' && !REGEX(STR(?label), '^[ぁ-ん]+$'))" - Use separate OPTIONAL blocks for each label type example_fix: | # Better approach - separate label types SELECT ?disease ?en_label ?ja_kanji ?ja_hira WHERE { ?disease a owl:Class . OPTIONAL { ?disease rdfs:label ?en_label . FILTER(LANG(?en_label) = "en") } OPTIONAL { ?disease rdfs:label ?ja_kanji . FILTER(LANG(?ja_kanji) = "ja" && !REGEX(STR(?ja_kanji), "^[ぁ-ん]+$")) } OPTIONAL { ?disease rdfs:label ?ja_hira . FILTER(REGEX(STR(?ja_hira), "^[ぁ-ん]+$")) } } LIMIT 20

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/arkinjo/togo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server