{"record":{"id":"a7ad6c1344aa3e92","repo":"jackwener/OpenCLI","slug":"no-dblp-author-matched-name-try-a-different","errorCode":null,"errorMessage":"No dblp author matched \"${name}\". Try a different spelling, or pass --pid to bypass author search.","messagePattern":"No dblp author matched \"(.+?)\"\\. Try a different spelling, or pass --pid to bypass author search\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/dblp/author.js","lineNumber":94,"sourceCode":"        if (pidArg) {\n            if (!PID_PATTERN.test(pidArg)) {\n                throw new ArgumentError(\n                    `dblp pid \"${pidArg}\" is not a valid PID`,\n                    'Expected something like \"56/953\" — visit the author page on dblp.org to find it.',\n                );\n            }\n            pid = pidArg;\n        }\n        else {\n            const name = requireQuery(args.author, 'author');\n            const json = await dblpFetchJson(\n                `/search/author/api?q=${encodeURIComponent(name)}&format=json&h=20`,\n                'dblp author search',\n            );\n            const raw = json?.result?.hits?.hit;\n            const hits = Array.isArray(raw) ? raw : (raw ? [raw] : []);\n            if (!hits.length) {\n                throw new EmptyResultError(\n                    'dblp author',\n                    `No dblp author matched \"${name}\". Try a different spelling, or pass --pid to bypass author search.`,\n                );\n            }\n            const top = pickTopAuthor(hits);\n            pid = extractPidFromAuthorHit(top);\n            if (!pid) {\n                throw new CommandExecutionError(\n                    `dblp author search for \"${name}\" returned a hit without a PID URL`,\n                    'dblp may have changed its author-search response shape; retry or pass --pid manually.',\n                );\n            }\n            resolvedName = decodeXmlEntities(String(top?.info?.author ?? '')).trim();\n        }\n        const xml = await dblpFetchXml(`/pid/${pid}.xml`, `dblp pid ${pid}`);\n        const records = splitRecords(xml);\n        if (!records.length) {\n            throw new EmptyResultError(","sourceCodeStart":76,"sourceCodeEnd":112,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/dblp/author.js#L76-L112","documentation":"EmptyResultError thrown when the dblp author-search API (q=<name>) returns zero hits. It indicates the search succeeded but dblp has no author matching the given name string.","triggerScenarios":"Calling `dblp author --name <name>` where dblp's /search/author/api returns an empty hit list — misspelled name, disambiguation variants, or the author is not indexed in dblp.","commonSituations":"Misspelled author name; searching a full name that dblp indexes differently (initials vs full first name); querying an industry author with no dblp-indexed publications; non-Latin script names dblp stores transliterated.","solutions":["Try alternate spellings, initials, or the name as it appears on a known paper","Look the author up on dblp.org directly to find the exact indexed spelling","Copy the PID from the dblp author page and pass --pid to bypass search entirely","Check for extra whitespace or punctuation in the name argument"],"exampleFix":"// before\nopencli dblp author --name 'Jhone Smith'\n// Error: No dblp author matched \"Jhone Smith\".\n// after\nopencli dblp author --pid 56/953   # or correct spelling: --name 'John Smith'","handlingStrategy":"fallback","validationCode":"// Can't pre-validate against dblp's index; guard the input shape at least.\nconst name = String(args.name ?? '').trim();\nif (!name) throw new Error('--name is required');","typeGuard":null,"tryCatchPattern":"try {\n  rows = await dblpAuthor({ name });\n} catch (err) {\n  if (/No dblp author matched/.test(err.message)) {\n    rows = []; // or fall back to a manual PID\n  } else throw err;\n}","preventionTips":["Verify the author's exact indexed name on dblp.org first","Keep a curated name→PID map for authors you query often","Normalize names (trim, consistent casing) before search","Try initials or alternate spellings programmatically before giving up"],"tags":["dblp","empty-result","search"],"backgroundTag":"empty-result-set","analyzedSha":"49907e53dc3ade5c223ff0c4c2c2785687cec4e6","analyzedAt":"2026-08-29T08:14:47.543Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}