BioFSharp.INSDC.Crawler
0.3.0
dotnet add package BioFSharp.INSDC.Crawler --version 0.3.0
NuGet\Install-Package BioFSharp.INSDC.Crawler -Version 0.3.0
<PackageReference Include="BioFSharp.INSDC.Crawler" Version="0.3.0" />
<PackageVersion Include="BioFSharp.INSDC.Crawler" Version="0.3.0" />
<PackageReference Include="BioFSharp.INSDC.Crawler" />
paket add BioFSharp.INSDC.Crawler --version 0.3.0
#r "nuget: BioFSharp.INSDC.Crawler, 0.3.0"
#:package BioFSharp.INSDC.Crawler@0.3.0
#addin nuget:?package=BioFSharp.INSDC.Crawler&version=0.3.0
#tool nuget:?package=BioFSharp.INSDC.Crawler&version=0.3.0
BioFSharp.INSDC.Crawler
Collects INSDC records and related raw artifacts from public archives.
Given a project or study accession, the crawler discovers connected studies,
samples, experiments, and runs through ENA, fetches their XML records, and can
persist both records and connectivity through
BioFSharp.INSDC.SQLite.
It can also materialize a round-tripped INSDC XML tree, Europe PMC JATS or PMC
Open Access PDF full text, and DEE2 count bundles. crawlAll composes the raw R2
layout. crawlR1Formats composes R1A and R1B while sharing discovery and
non-paper downloads. R1 and R2 are crawler formats, not ArcIR F2
implementations.
Crawls are strict by default: an exhausted record batch fails after in-flight
work finishes instead of silently returning a partial result. Explicit
inspection workflows can opt into CrawlOptions.ContinueOnPartialFailure.
Cancellation is never retried; transient failures use bounded retry delays.
Fetch and FetchBytes remain injectable, so the normal suite uses committed
offline fixtures.
Artifacts are written through same-directory temporary files and atomically renamed. Resume skips valid existing XML, JATS, PDF, and ZIP artifacts; malformed binary responses never replace the final path. SQLite persistence explicitly opts into the store's documented soft-reference foreign-key mode.
Because its HTTP stack requires .NET 6 or later, this package targets net8.0
instead of the netstandard2.0 baseline of the other shipped libraries. It is
nevertheless a normal packed and published NuGet package.
Part of BioFSharp.INSDC. Released under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- BioFSharp.FileFormats.INSDC (>= 0.3.0)
- BioFSharp.INSDC.SQLite (>= 0.3.0)
- BioFSharp.IO.INSDC (>= 0.3.0)
- FSharp.Core (>= 10.1.302)
- FsHttp (>= 15.0.3)
- Microsoft.Data.Sqlite (>= 8.0.30)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Repository stabilization, target-neutral ArcIR extraction, immutable ArcIR state persistence, additive semantic enrichment, complete F1 accounting, and the selected-literal curation primitive.
- Added the packable, target-neutral `BioFSharp.ArcIR` `netstandard2.0` package with validated absolute IRI identities, normalized identity-keyed graph collections, shared term definitions, explicit add/upsert/merge operations, validation, and persistence contracts.
- Added canonical `.arcir.json` 1.0 persistence with a packaged JSON Schema, deterministic UTF-8/LF output, strict versioned decoding, invariant tagged values, authoritative identity keys, atomic create-new state publication, and SHA-256 artifact revisions.
- Added typed RFC 6901 fragment locations for every addressable graph entity and atomic value occurrence, including relation-property annotations, plus digest-verified resolution that keeps scalar values ID-less and provenance outside the graph state.
- Added strict inverse parsing for supported ArcIR JSON selectors and the immutable `LiteralMapping.apply` transformation for mapping one exact string occurrence to an already registered term while preserving the source literal.
- Added format-neutral additive semantic mapping and a `PolyglotSSSOM` adapter that preserves complete candidate claims, resolves only declared CURIEs, and leaves mapping selection and provenance to the integrating application.
- Added deterministic occurrence-level F1 accounting and resolvable source/output designations for all eight supported INSDC entities plus supplementary paper and count metadata.
- Removed the unused `BioFSharp` umbrella-package dependency and replaced the remaining preview dependency with stable `PolyglotSSSOM` `0.1.0`.
- Converted `BioFSharp.INSDC.ArcIR` into an INSDC-specific F1 adapter. All eight entity converters and supplementary paper/count ingestion now mint deterministic assertion/relation identities and consume the neutral core without retaining the proof-of-concept model shapes.
- Added a core-only test project and adapter regression coverage for conflict reporting, reference validation, deterministic identities, complete term resolution, and deterministic eight-entity fixture conversion.
- Limited the nested FAKE solution build to one MSBuild node, preventing runaway worker fan-out and silent process-limit failures in captured Windows builds.
- Made package creation reuse the already verified Release build outputs instead of rebuilding projects and risking locked output assemblies.
- Added dependency-vulnerability and generated-artifact drift gates to the full FAKE test path; generators now produce deterministic committed output.
- Added a versioned, forward-migrated SQLite schema with explicit foreign-key modes, transactional public writes, and exact fixture round-trip coverage for all five stored entities.
- Hardened crawler cancellation, bounded retries, strict partial-failure handling, upstream parsing, atomic writes, validation, and resume behavior while preserving injectable offline fetch seams.
- Split the test suite into focused IO, ArcIR, SQLite, crawler, and crawler-hardening modules; refreshed package-boundary and ArcIR terminology documentation; removed the stale local fsdocs publication path.
- Removed the unused structural-decompilation overlay from the proof-of-concept ArcIR package; its explicit converters remain the current mapping surface.