pub struct GbifAdapter {
pub id: &'static str,
pub occurrence_endpoint: String,
}Expand description
Stub adapter for GBIF occurrence API bbox queries.
Fields§
§id: &'static str§occurrence_endpoint: StringImplementations§
Source§impl GbifAdapter
impl GbifAdapter
pub fn adapter_id(&self) -> &'static str
pub fn build_fetch_request( &self, bbox: (f64, f64, f64, f64), time_range: (u64, u64), registry: &NetworkDisclosureRegistry, ) -> Result<AdapterHttpRequest, String>
Sourcepub fn parse_features(&self, body: &str) -> Result<Vec<NQuin>, String>
pub fn parse_features(&self, body: &str) -> Result<Vec<NQuin>, String>
Parse a GBIF occurrence-search JSON response body into provenance NQuins.
The results array (each element an occurrence record) is mapped to a set of
Dublin Core / WGS84 provenance quins per record, using generate_60bit_token
for IRI/literal hashing so the emitted data is queryable by the SPARQL layer
(which hashes IRIs the same way). If results is absent an empty Vec is
returned. Only invalid JSON yields an Err.
pub fn fetch_region( &self, bbox: (f64, f64, f64, f64), time_range: (u64, u64), registry: &NetworkDisclosureRegistry, ) -> Result<(), String>
Trait Implementations§
Source§impl DataAdapter for GbifAdapter
impl DataAdapter for GbifAdapter
Source§fn adapter_id(&self) -> &'static str
fn adapter_id(&self) -> &'static str
Returns the unique identifier for this adapter (e.g., “dem_adapter”)
Source§fn build_fetch_request(
&self,
bbox: (f64, f64, f64, f64),
time_range: (u64, u64),
registry: &NetworkDisclosureRegistry,
) -> Result<AdapterHttpRequest, String>
fn build_fetch_request( &self, bbox: (f64, f64, f64, f64), time_range: (u64, u64), registry: &NetworkDisclosureRegistry, ) -> Result<AdapterHttpRequest, String>
Build the outbound request for a spatial bounding box [x1, y1, x2, y2]
and temporal range [t0, t1]. Implementations must check
NetworkDisclosureRegistry
before returning an actual network request.Source§fn primary_endpoint(&self) -> &str
fn primary_endpoint(&self) -> &str
Primary egress endpoint for disclosure checks and fetch reports.
Source§fn estimate_tile_count(&self, bbox: (f64, f64, f64, f64)) -> u32
fn estimate_tile_count(&self, bbox: (f64, f64, f64, f64)) -> u32
Honest estimate of how many tile/API units would be requested (no fake payloads).
Source§fn fetch_region(
&self,
bbox: (f64, f64, f64, f64),
time_range: (u64, u64),
registry: &NetworkDisclosureRegistry,
) -> Result<(), String>
fn fetch_region( &self, bbox: (f64, f64, f64, f64), time_range: (u64, u64), registry: &NetworkDisclosureRegistry, ) -> Result<(), String>
Initiate fetching through the native blocking transport. Browser WASM
cannot legally block on network I/O, so wasm callers use
fetch_region_async.Source§fn needs_fetch_body(&self) -> bool
fn needs_fetch_body(&self) -> bool
Whether the adapter consumes the response body instead of only checking
that the endpoint accepted the request.
Source§fn handle_fetch_body(&self, _body: &str) -> Result<(), String>
fn handle_fetch_body(&self, _body: &str) -> Result<(), String>
Parse or enqueue the fetched body. Most adapters currently only verify
access; CKAN consumes JSON discovery results here.
Source§fn parse_response(&self, _body: &str) -> Result<Vec<NQuin>, String>
fn parse_response(&self, _body: &str) -> Result<Vec<NQuin>, String>
Parse a fetched response body into provenance
NQuins (title / license /
created / source / lat / long, hashed with the same generate_60bit_token
the SPARQL layer uses, so the results are queryable). Adapters that can
interpret their response format override this — GBIF, OSM/Overpass, STAC,
OGC 3D Tiles and SPARQL-results do — and the default yields none. This is
how a fetched response becomes graph data rather than being discarded.Source§fn fetch_region_features(
&self,
bbox: (f64, f64, f64, f64),
time_range: (u64, u64),
registry: &NetworkDisclosureRegistry,
) -> Result<Vec<NQuin>, String>
fn fetch_region_features( &self, bbox: (f64, f64, f64, f64), time_range: (u64, u64), registry: &NetworkDisclosureRegistry, ) -> Result<Vec<NQuin>, String>
Native fetch that returns the parsed provenance
NQuins: build the
consent-gated request, execute it, and run parse_response on the body.
A caller can then route the quins into the graph. (WASM callers fetch via
fetch_region_async and call parse_response on the returned body.)Auto Trait Implementations§
impl Freeze for GbifAdapter
impl RefUnwindSafe for GbifAdapter
impl Send for GbifAdapter
impl Sync for GbifAdapter
impl Unpin for GbifAdapter
impl UnsafeUnpin for GbifAdapter
impl UnwindSafe for GbifAdapter
Blanket Implementations§
§impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
impl<S, A> Aggregate<Result<S, Error>> for Awhere
A: Aggregate<S>,
Aggregate shares in an MPC protocol.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more