{"service":"linked-ademe/1.0.0-SNAPSHOT","base":"https://wunderfacts.com/ademe/","upstream":"https://data.ademe.fr/data-fair/api/v1","upstreamDataset":"rep-producteurs-idu","maxCacheSeconds":86400,"identifiers":{"identifiantUnique":"Per (company, waste stream). A company in several streams has several. Its prefix usually equals the company's Immatriculation but not always — 27 of 1000 sampled rows differ — so never parse a company out of it.","immatriculation":"Per company, ADEME's own number, FR plus six digits in every row sampled. This is what company URIs are minted from.","identifiantSociete":"The company's number in somebody else's register — SIRET, SIREN, an intra-community VAT number or a foreign tax id. Only 33.2% are SIRETs, so it is emitted as a literal with its scheme named, never as a URI."},"datasets":{"producers":"rep-producteurs-idu","nonConformity":"x8bwzk12ss7s0ffmtdprwv1e","emissionFactors":"base-carboner","collectionPoints":"one dataset per éco-organisme, 22 of them, identical 34-column schema; see cl/eco-organismes"},"routes":[{"path":"/producer/{identifiantUnique}","description":"One registration: a company enrolled in one REP waste stream. The IDU is what a seller quotes to show a product's producer is registered. An IDU that has been DE-REGISTERED still resolves here, typed ademe:WithdrawnRegistration and carrying its end date and motives — a withdrawn registration and a mistyped identifier would otherwise be the same 404. Only an identifier unknown to both lists is a 404.","formats":["ttl","nt","rdf","jsonld","html","json"]},{"path":"/producer/","description":"Not a container. There is no all-registrations collection; the document says so and links the codelists. A SCOPED listing is available at /search — by stream, category, country or name — up to the offset limit upstream enforces.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/company/{immatriculation}","description":"One company and every waste stream it is registered for. Minted from ADEME's own Immatriculation (FR + six digits), NOT from the SIRET: only 33% of registrations carry one.","formats":["ttl","nt","rdf","jsonld","html","json"]},{"path":"/search?q&name&namePrefix&filiere&category&country&offset&count","description":"Enter the register without already holding an identifier: by free-text company name (q — case-insensitive and relevance-ranked, so a CANDIDATE set, not an identification), by exact or prefixed name (case-sensitive upstream), or by stream, category and country — which is also how a waste stream is enumerated. At least one filter is required, and an unknown parameter is a 400: ADEME's API silently ignores parameters it does not know and would answer with all 304778 registrations. Paging stops at offset 10000; past that the result set states its reachableCount.","formats":["ttl","nt","rdf","jsonld","html","json"]},{"path":"/factor/{identifiant}","description":"One Base Carbone emission factor: what a unit of something costs in greenhouse gas, with its decomposition by life-cycle stage. The unit is a LITERAL, not a QUDT quantity — kgCO2e is a GWP-weighted aggregate rather than an SI unit and the denominator varies across 107 distinct strings, so coercing it would assert a dimensional claim ADEME never made. Archived factors still resolve, flagged.","formats":["ttl","nt","rdf","jsonld","html","json"]},{"path":"/collection-point?eo&id","description":"One place a household can hand a product back or have it repaired: a shop taking batteries, a civic amenity site, a repairer. TWO parameters because the point id alone is not a key — formats are disjoint per organisation, and a QUERY rather than path segments because Corepile's ids contain slashes, which a container rejects as %2F in a path with a 400. Carries coordinates (schema and wgs84), address, opening hours and which services the point offers; only TRUE service flags are emitted, so an absent one means unstated rather than no.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/eco-organisme/{code}","description":"One producer responsibility organisation — both a skos:Concept and an org:Organization. The code selects which dataset a collection point is served from; there is no combined dataset.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/cl/eco-organismes","description":"SKOS scheme of the 22 organisations whose collection points ADEME publishes. Five of them publish an empty dataset.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/withdrawal-reason/{code}","description":"Why an éco-organisme de-registered a producer. Note that CHGTO (a change of éco-organisme) and DEL_FIN_ATTEINTE (a delegation reaching its planned end) are administrative transitions, NOT compliance failures — despite the source dataset's title.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/cl/withdrawal-reasons","description":"SKOS scheme of the five withdrawal motifs. Unusually for this register, ADEME documents these itself, so none is labelled here.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/cl/filieres","description":"SKOS scheme of the REP waste streams.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/cl/categories","description":"SKOS scheme of the agreement categories.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/filiere/{code}","description":"One waste stream.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/category/{code}","description":"One agreement category.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/index","description":"Dataset and software-agent self-description.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/vocab","description":"Terms coined by this wrapper.","formats":["ttl","nt","rdf","jsonld","html"]},{"path":"/routes","description":"This manifest.","formats":["json"]}]}