Comments (2)
The pattern that seems to be emerging has three components:
- free-form elasticsearch queries to identify entities needing fixes
- an entity-specific "want()" function that looks at entity and confirms whether it is worth doing an update
- one or more entity-specific map functions that make fixes/updates to the entity
These would be combined by tooling that executes the elasticsearch query in a streaming fashion, fetches matched entities from the API, confirms that they should be updated, runs any cleanup functions, confirms that the entity actually changed (if not, skip update), then pushes the updates in batches. Variants of this can be dry runs (don't do actual update), limited runs (possibly with random sampling), not auto-accepting the updates (leave for human review), showing stats/examples to the user (eg, how many elastic hits, what transform looks like).
A missing piece is to integrate the want()
and cleanups with import and other update code to allow cleanups to happen at the same time as other edits. Also to include in review bots for quality review.
An alternative case is to use some external bulk metadata list and iterate through it. The existing import framework is probably Good Enough for this.
from fatcat.
We now have several "cleanup" workers implemented in python, as well as the fatcat-cli
workflow for simple updates. The current workflow is to document "bulk" metadata updates in this git repo when they happen.
from fatcat.
Related Issues (20)
- release search links from preservation summary tables
- CEUR container has only 140 releases HOT 3
- There is no way to delete/expire a stale editgroup HOT 1
- "Diff" view for reviewing editgroups HOT 1
- "Graph" view for reviewing editgroups
- Edit workflow improvements
- Recent bugs: creator linkage and JSON API links HOT 1
- many file webarchive (wayback) URLs have only 12 of 14 timestamp digits HOT 1
- non-lowercase DOIs HOT 1
- match old-style arxiv identifiers in references HOT 1
- array sort order stability (file URLs, etc) HOT 1
- release abstracts mimetype uses less-popular JATS XML type
- `fatcat_tools` should not import from `fatcat_web` HOT 1
- Support National Bibliography Number as external id (NBN URN) HOT 2
- re-edit results in error 400 HOT 3
- notifications feed
- arXiv work missing HOT 3
- language on releases HOT 3
- editgroup diff view fails on some short strings in refs, via TOML
- Release type speech not supported by graphical editor
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fatcat.