{"record":{"id":"fee4a46a38d4506b","repo":"jackwener/OpenCLI","slug":"no-publications-matched-query","errorCode":null,"errorMessage":"No publications matched \"${query}\".","messagePattern":"No publications matched \"(.+?)\"\\.","errorType":"exception","errorClass":"EmptyResultError","httpStatus":null,"severity":"warning","filePath":"clis/dblp/search.js","lineNumber":41,"sourceCode":"    access: 'read',\n    description: 'Search dblp computer-science bibliography by free-text query',\n    domain: 'dblp.org',\n    strategy: Strategy.PUBLIC,\n    browser: false,\n    args: [\n        { name: 'query', positional: true, required: true, help: 'Search keyword (title / author / venue, e.g. \"attention is all you need\")' },\n        { name: 'limit', type: 'int', default: 20, help: 'Max results (1-100, single dblp page)' },\n    ],\n    columns: SEARCH_COLUMNS,\n    func: async (args) => {\n        const query = requireQuery(args.query);\n        const limit = requireBoundedInt(args.limit, 20, 100);\n        const path = `/search/publ/api?q=${encodeURIComponent(query)}&format=json&h=${limit}`;\n        const json = await dblpFetchJson(path, 'dblp search');\n        const hits = json?.result?.hits?.hit;\n        const list = Array.isArray(hits) ? hits : [];\n        if (list.length === 0) {\n            throw new EmptyResultError('dblp search', `No publications matched \"${query}\".`);\n        }\n        return list.slice(0, limit).map((hit, i) => searchHitToRow(hit, i + 1));\n    },\n});\n","sourceCodeStart":23,"sourceCodeEnd":46,"githubUrl":"https://github.com/jackwener/OpenCLI/blob/49907e53dc3ade5c223ff0c4c2c2785687cec4e6/clis/dblp/search.js#L23-L46","documentation":"EmptyResultError thrown when dblp's publication search API (/search/publ/api) returns zero hits for the query. The request and network succeeded; dblp simply has no matching publication records.","triggerScenarios":"Calling `dblp search '<query>'` where the publ/api endpoint's result.hits contains no hit entries — overly specific query, unusual title phrasing, or a publication not indexed in dblp.","commonSituations":"Typo in paper title; querying non-CS venues dblp does not index; too many words in the query narrowing results to zero; quoting special characters that change matching.","solutions":["Shorten the query to a few distinctive words from the title","Correct spelling and remove punctuation/special characters","Try author name plus a keyword instead of the full title","Search dblp.org directly to confirm the publication exists in dblp at all"],"exampleFix":"// before\nopencli dblp search 'Attention Is All You Need: A Very Long Retyped Title With Typos'\n// Error: No publications matched.\n// after\nopencli dblp search 'attention is all you need'","handlingStrategy":"fallback","validationCode":"const query = String(args.query ?? '').trim();\nif (query.split(/\\s+/).length > 8) {\n  console.warn('Long queries often return 0 dblp hits; consider shortening.');\n}","typeGuard":null,"tryCatchPattern":"try {\n  rows = await dblpSearch({ query });\n} catch (err) {\n  if (/No publications matched/.test(err.message)) {\n    rows = []; // or retry with a shortened query\n  } else throw err;\n}","preventionTips":["Keep queries short — a few distinctive title words beat full sentences","Fall back to author+keyword queries on empty results","Remember dblp only indexes CS publications — use other sources otherwise","Normalize quotes/punctuation out of the query"],"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"}