Resolve any EU legal citation — CELEX number, ELI URI, or Official Journal reference — to the canonical CELLAR work. Returns the work URI, confirmed CELEX number, document type, document date, and whether the work exists in the CELLAR corpus. Use this to validate identifiers before passing them to eurlex_get_document or eurlex_get_relations. CELEX format: {sector}{year}{type}{number} e.g. 32016R0679 (GDPR). ELI format: http://data.europa.eu/eli/{type}/{year}/{number}/oj. OJ format: OJ L 119 or L:2016:119.
Search the EuroVoc multilingual thesaurus to resolve a human-readable term or keyword into EuroVoc concept IDs. This tool is required before using the eurovoc_concept filter in eurlex_search_documents — agents cannot guess numeric EuroVoc concept IDs. Returns concept URI, preferred label in the requested language, concept code, and broader/narrower hierarchy hints. EuroVoc covers all EU policy domains: agriculture, environment, finance, health, trade, transport, and more. If no results are found in a non-English language, retry with language "en" and a broader English term.
Search EU legislation, treaties, and preparatory acts across the CELLAR corpus of 2.7M+ works. Filters by document type, date range, EuroVoc subject concept, author institution, and in-force status. Keyword search matches against English expression titles and CELEX strings — full-text body search is not available via this API. For multi-word searches, supply a single dominant keyword; use other filters to narrow results. Returns CELEX numbers, work URIs, human-readable document type labels, and dates — use these with eurlex_get_document to fetch full content. To filter by EuroVoc subject, first call eurlex_browse_subjects to obtain the concept URI. Case law (CJEU/GC judgments) is better searched via eurlex_get_cases which has court-specific parameters.
Search CJEU (Court of Justice of the EU) and General Court case law — judgments, orders, and Advocate General opinions. Distinct from eurlex_search_documents because case law uses CELEX sector 6 and practitioners search it differently: by case number, court, party name, or AG opinion type. Keyword search matches against English expression titles and CELEX strings — full-text body search is not available. Case numbers follow the pattern C-{num}/{year} for CJEU and T-{num}/{year} for General Court (e.g. C-131/12). Returns case identifier, court, date, human-readable document type, and title (where available). Use eurlex_get_document with the CELEX number to fetch the full judgment text.
Fetch the notice (metadata) and full text of an EU act by CELEX number or ELI URI. Returns structured metadata — title, date, document type, author institution, legal basis, EuroVoc subjects — plus the HTML or Formex4 XML content in the requested language. Defaults to English (EN); not all works have content in all 24 official EU languages, especially older acts pre-2004 EU enlargement. If the requested language is unavailable, the server automatically falls back to English and notes the fallback. CELEX format: {sector}{year}{type}{number} e.g. 32016R0679 for GDPR. Use eurlex_lookup_celex to validate an identifier before calling this tool. HTML format returns the full act text suitable for reading; XML returns Formex4 for structured processing.
Traverse the CELLAR CDM relationship graph for an EU work: what it amends, what amends it, its current consolidated version, its legal basis, and works that cite it. This is CELLAR's primary value over HTML scraping — the graph traversal that exposes the lifecycle and dependencies of an EU act. Returns one-hop direct relations only. For deeper traversal, use eurlex_query_sparql. The "consolidated_version" relation links to the current consolidated text (a separate CELEX-numbered work); fetch that work with eurlex_get_document. Requires a valid CELEX number or CELLAR work URI — use eurlex_lookup_celex to resolve identifiers first.
Execute a raw SPARQL SELECT query against the CELLAR Virtuoso endpoint. Use only when the curated tools (eurlex_search_documents, eurlex_get_relations, etc.) do not cover the needed traversal. The server caps all queries at 100 results — include an explicit LIMIT in your query to control the count; if omitted or above 100 it will be injected or capped automatically. The CDM ontology prefix is prepended automatically: cdm: = http://publications.europa.eu/ontology/cdm#. Also auto-includes skos: and xsd: prefixes. Requires familiarity with the CELLAR CDM ontology. Key predicates: cdm:resource_legal_id_celex (CELEX number), cdm:work_date_document (date), cdm:work_has_resource-type (document type), cdm:work_is_about_concept_eurovoc (EuroVoc subject), cdm:work_cites_work (citation). Virtuoso does not support bif:contains for multi-word phrases; use FILTER(CONTAINS(LCASE(?title), "keyword")).