Feldreferenz
Jedes Feld eines Waffendatensatzes mit Typ, Einheit und Bedeutung, gelesen aus der OpenAPI-Spezifikation der API, damit es nicht von der tatsächlichen Antwort abweichen kann.
- Antwortfelder sind
camelCase(weightEmptyG); Query-Parameter sindsnake_case(per_page). - Maße in SI-Einheiten. Ein Feld ist
null, wenn der Wert unbekannt ist oder nicht zutrifft, nie0oder ein leerer String. - Explorer erhält eine Zusammenfassung; mit
Builder+markierte Felder gibt es in bezahlten Plänen. Was jeder Plan enthält.
78 Felder
Wer sie baut, was sie ist und wo sie in einer Variantenfamilie steht.
- stringz. B.
glock-17-gen5URL-safe slug identifying the firearm, e.g.
glock-17-gen5. Stable: it is what a mirror keys on. - stringz. B.
Glock 17 Gen5Display name, as the maker writes it.
- stringz. B.
glockSlug of the manufacturer that makes it. Resolve against
/v1/manufacturers/{id}. - stringz. B.
pistolSlug of the category it belongs to. Resolve against
/v1/categories. - string | nullBuilder+z. B.
glock-17The firearm this one is a variant of, or null when it is not a variant. Variant relationships are what
firearm.variant.updatedwebhooks and/v1/firearms/{id}/variantsfollow. - string | nullBuilder+z. B.
generationHow this record differs from its parent:
optics_ready,compact,threadedand so on. Null when the record has no parent. - string | nullz. B.
ATISO 3166-1 alpha-2 code of where it was designed, e.g.
AT. - string | nullBuilder+z. B.
Mikhail KalashnikovPerson or team credited with the design, where it is known.
- string | nullBuilder+z. B.
["Avtomat Kalashnikova","Type 56","Kalash"]JSON array of alternate names/designations
- integer | nullyearz. B.
2017Year it entered production or service. Null where the date is disputed or unknown.
- integer | nullyear
Year production ended, or null while it is still made.
- FirearmStatus | nullz. B.
in_productionProduction status, one of
in_production,discontinued,out_of_production,in_service,limited_production,prototype. Discontinued records are kept deliberately: a rifle built in 2004 wears parts nobody sells today.
Millimeter und Gramm, wie der Hersteller sie angibt.
- number | nullgBuilder+z. B.
625Unloaded weight in grams, without magazine.
- number | nullgBuilder+z. B.
905Loaded weight in grams, with a full magazine.
- number | nullmmBuilder+z. B.
204Overall length in millimetres, stock extended where it folds or collapses.
- number | nullmmBuilder+z. B.
490Length with stock folded (mm)
- number | nullmmBuilder+z. B.
114Barrel length in millimetres, measured from the breech face.
- number | nullmmBuilder+z. B.
139Height in millimetres, including sights and a fitted magazine.
- number | nullmmBuilder+z. B.
34Width in millimetres at the widest point.
- number | nullmmBuilder+z. B.
165Distance between front and rear iron sights in millimetres. Null on a record with no iron sights.
Wie sie repetiert, feuert und zugeführt wird.
- string | nullz. B.
short_recoilHow the action cycles:
short_recoil,gas_operated,blowback,bolt_actionand so on. An open vocabulary: the values in use are published on the schema asx-gunspec-vocabulary, andGET /v1/firearms/action-typesis the live list. - string | nullBuilder+z. B.
striker-firedWhat releases the striker or hammer:
striker_fired,hammer_fired. - string | nullBuilder+z. B.
safe-actionTrigger arrangement:
single_action,double_action,safe_action. - number | nullNBuilder+z. B.
28Trigger pull weight in newtons. Divide by 4.448 for pounds-force.
- string | nullBuilder+z. B.
["semi_automatic","full_automatic"]JSON array of firing modes
- integer | nullrpmBuilder+
Cyclic rate in rounds per minute. Null on anything that is not automatic.
- integer | nullroundsBuilder+z. B.
17Rounds in the standard magazine. Null where the firearm is not magazine-fed.
- string | nullBuilder+z. B.
detachable-boxMagazine pattern:
detachable_box,internal,drum,belt. - string | nullBuilder+
JSON array of feed systems
- string | nullBuilder+
JSON array of safety mechanisms
Werte für die Standardladung, plus die Quellenwerte neben unseren.
- string | nullBuilder+z. B.
m882The ammunition load ballistics figures are quoted against, where one is nominated.
- number | nullm/sBuilder+z. B.
375Muzzle velocity in metres per second, for the default load.
- number | nullJBuilder+z. B.
570Muzzle energy in joules, for the default load.
- number | nullmBuilder+z. B.
50Effective range in metres against a point target.
- number | nullmBuilder+
Maximum range in metres. Where the projectile lands, not where it is useful.
- string | nullBuilder+z. B.
polygonalRifling description, e.g.
6 grooves, right-hand twist. - number | nullmmBuilder+z. B.
250Rifling twist rate in millimetres per turn. Divide by 25.4 for inches.
- integer | nullcountBuilder+
Number of grooves cut in the bore.
- number | nullm/sBuilder+z. B.
375Muzzle velocity in metres per second exactly as the source stated it, kept beside our own figure so a reader can see what was quoted and what was derived.
- number | nullJBuilder+z. B.
565Muzzle energy in joules exactly as the source stated it.
- number | nullmBuilder+z. B.
50Effective range in metres exactly as the source stated it.
- number | nullmBuilder+z. B.
1800Maximum range in metres exactly as the source stated it.
- string | nullBuilder+z. B.
Manufacturer specification sheetWhere the ballistics figures came from, named in prose.
- string | nullBuilder+z. B.
https://eu.glock.com/en/pistols/g17URL of the ballistics source, where it is a page rather than a book.
Woraus die Waffe besteht und wie sie ausgeführt ist, samt der Merkmals-Tags eines Datensatzes.
- string | nullBuilder+z. B.
polymerWhat the frame or receiver is made of.
- string | nullBuilder+z. B.
steelWhat the slide is made of. Null on anything without one.
- string | nullBuilder+z. B.
steelWhat the barrel is made of.
- string | nullBuilder+
What the stock or furniture is made of.
- string | nullBuilder+z. B.
nDLCSurface finish, e.g.
nitride,parkerized,cerakote. - string | nullBuilder+
JSON array of features
Redaktionelle Balance-Zahlen 0 – 100, keine Messwerte.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure. These are balance numbers for game use and are not derived from the ballistics above.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
- integer | null0 – 100Builder+
Editorial game statistic, 0-100. Not a measured figure.
Line-Art, Modelle, Bilder und Dokumente.
- integerz. B.
0Integer flag,
1when a 3D model is on file. Stored as the database holds it rather than as a boolean. - string | nullBuilder+z. B.
https://assets.gunspec.io/firearms/line/svg/gloc…Line-art silhouette, or null where none has been drawn.
- string | nullBuilder+
GLB model, or null where none is on file.
- FirearmImage[]
Every image on file, silhouette first. Each carries an absolute, directly fetchable
url. - FirearmSchematic[]Builder+
Exploded-view and parts diagrams on file, empty where none have been sourced.
Beschreibung, Einsatzgeschichte, Produktionszahlen.
- string | null
Prose summary of the record, where one has been written.
- string | nullBuilder+
Free-text notes that do not belong in a specific field.
- string | nullBuilder+z. B.
The AK-47 is so iconic it appears on the nationa…Historical trivia / game-dev flavor text
- string | nullBuilder+z. B.
[{"name":"Vietnam War","years":"1955-1975","side…JSON array of conflict objects with name, years, and sides
- string | nullBuilder+z. B.
{"estimated_total":75000000,"production_years":"…JSON object with estimated_total, production_years, and notes
- FirearmUser[]
Forces and agencies that have adopted it.
In der Detailantwort eingebettete Objekte; ihre Felder stehen unter Verschachtelte Objekte.
- Manufacturer | null
Null when the record names a manufacturer id the catalog no longer holds.
- Category | null
Null when the record names a category id the catalog no longer holds.
- FirearmCaliber[]
Every cartridge this firearm is chambered for, primary first.
Woher die Werte stammen, und die zwei Signale, an denen ein Mirror sich orientiert.
- string | nullBuilder+
JSON array of source URLs the record was compiled from. Check a specific figure against these rather than against
dataConfidence. - number | null0 – 1Builder+z. B.
0.95How completely the record is specified and how well it is sourced, 0 to 1. A record-level completeness and provenance measure, not a per-field probability of correctness. Use it to rank and triage; use
sourcesto verify an individual number. - Provenance
Where a record's figures came from and how far they have been checked, in one place.
sourcesare the pages consulted; check a specific figure against those.sourceKindssays what each page is andbestSourceKindthe strongest of them, on the hierarchySourceKinddefines: a maker or standards-body page is evidence for a figure, a retailer or forum page is evidence the item exists.dataConfidenceis the 0 to 1 score set from what was actually sourced and never raised by hand.verifiedAtandverifiedFieldssay when a source was last read against the record and which fields it stated; null means the row is still seed knowledge.updatedAtandversionare the same cache signals the record carries at the top level. - stringBuilder+z. B.
2025-01-15 12:00:00When the record was first added,
YYYY-MM-DD HH:MM:SSin UTC. - stringz. B.
2026-09-10 06:42:19When a field we serve last changed. Maintained by the database rather than by whatever wrote the row, so it moves for a corrected specification and does not move for a re-run of the importer.
- string | nullz. B.
a3f1c2d4e5b6a7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4…Opaque fingerprint of this record. It changes when and only when a field we serve changes, so a client holding the same value already has the record and need not fetch it. Equality is the only supported operation: do not parse it, and do not assume how it is computed. Null means the record has not been written since versioning began, not that it is unchanged.
Verschachtelte Objekte
Die Objekte, die ein Detaildatensatz unter calibers, images, users, schematics und provenance einbettet. Provenance tragen auch eine Patrone und ein Anbauteil; die Bedeutung steht unter Datenkonfidenz weiter unten.
FirearmCaliber22
- stringz. B.
9x19mm-parabellumSlug of the cartridge. Resolve against
/v1/calibers/{id}. - integerz. B.
1Integer flag,
1on the chambering the firearm is normally sold in. A firearm may be chambered for several cartridges but has at most one primary. - stringz. B.
9x19mm ParabellumDisplay name, as the maker writes it.
- string | nullz. B.
9mm NATONATO designation where the cartridge has one, e.g.
9mm NATO. Null otherwise. - number | nullmmz. B.
9.01Bullet diameter in millimetres.
- number | nullmmz. B.
19.15Case length in millimetres.
- string | nullz. B.
rimlessHead type:
rimmed,rimless,semi_rimmed,rebated_rim,belted, plus historical values likecap_and_ball. Not the broad class. The registry saidpistol/rifle/shotgununtil the column was read, and it holds neither. - number | nullmmz. B.
9.65Case neck outside diameter in millimetres.
- number | nullmm
Bottleneck cases only.
- number | nullmmz. B.
9.93Case base diameter in millimetres, ahead of the extractor groove.
- number | nullmmz. B.
9.96Rim diameter in millimetres.
- number | nullmmz. B.
1.27Rim thickness in millimetres.
- number | nullmmz. B.
29.69Overall length in millimetres, stock extended where it folds or collapses.
- number | nullmmz. B.
15.5Typical projectile length.
- number | nullgz. B.
7.45Representative bullet weight in grams. Divide by 0.0648 for grains.
- string | nullz. B.
small_pistolPrimer size and type, e.g.
small_pistol,large_rifle,rimfire. - string | nullz. B.
taperedCase profile:
straight,bottleneck,tapered,belted. - string | nullz. B.
brassWhat the case is made of:
brass,steel,aluminium,polymer. - string | nullz. B.
bulletnoneis a blank. - string | nullz. B.
round_noseBullet shape:
fmj,hollow_point,soft_point,spitzer,round_nose. - string | nullz. B.
bulletWhat seals the case mouth; a blank is a star crimp.
- string | null
Paint that identifies the load: crimp lacquer on a blank, tip colour on a military round.
FirearmImage14
- integerz. B.
1Autoincrementing image id. Numeric, unlike the catalog slugs.
- stringz. B.
glock-17-gen5Slug of the firearm this row belongs to.
- stringz. B.
https://assets.gunspec.io/firearms/line/svg/gloc…Absolute, directly fetchable URL.
- ImageType | nullz. B.
photoRole of the image:
primary,gallery,thumbnail,svg,render. - string | nullz. B.
manufacturerWhere the record came from: a curated entry, an inference, or an import.
- string | nullz. B.
fair-useLicence the asset is held under, where one is recorded.
- MediaKind | nullz. B.
silhouetteWhat the asset is:
silhouette,render,photo,schematic,model./v1/firearms/{id}/media/{selector}addresses an asset by this. - string | nullz. B.
cdnWhere the bytes live:
cdnfor a static path,r2for an upload we serve. - string | null
Who made the asset, where it is credited.
- string | null
Page the asset or document was taken from.
- string | null
Alt text, where one has been written. Null otherwise, so do not render an empty string.
- integer | nullz. B.
1200Pixel width, where it is known.
- integer | nullz. B.
800Pixel height, where it is known.
- integerz. B.
0Position within its list, ascending.
FirearmUser7
- integerz. B.
1Autoincrementing row id.
- stringz. B.
glock-17-gen5Slug of the firearm this row belongs to.
- stringz. B.
Austrian Armed ForcesThe force, agency or organisation that adopted it.
- string | nullz. B.
militaryWhat kind of user:
military,police,civilian. - string | nullz. B.
ATISO 3166-1 alpha-2 code of the user's country.
- integer | nullz. B.
1982Year of adoption, where it is known.
- string | nullz. B.
Pistole 80What that user calls it, where it differs from the maker's name.
FirearmSchematic13
- integerz. B.
12Autoincrementing schematic id.
- stringz. B.
glock-17-gen5Slug of the firearm this row belongs to.
- stringz. B.
Exploded viewWhat the document is called.
- SchematicType
What a schematic document is.
- stringz. B.
https://assets.gunspec.io/firearms/schematics/gl…Absolute, directly fetchable URL.
- string | nullz. B.
pdfFile format, e.g.
pdf. - string | null
Revision of the document, where the publisher versions it.
- string | nullz. B.
Glock Ges.m.b.H.Publisher of the document, often but not always the maker.
- string | null
Where the document came from.
- string | null
Page the asset or document was taken from.
- string | null
Who made the asset, where it is credited.
- string | null
Licence the asset is held under, where one is recorded.
- stringz. B.
2026-05-26 12:36:27When the record was first added,
YYYY-MM-DD HH:MM:SSin UTC.
ProvenanceWhere a record's figures came from and how far they have been checked, in one place. `sources` are the pages consulted; check a specific figure against those. `sourceKinds` says what each page is and `bestSourceKind` the strongest of them, on the hierarchy `SourceKind` defines: a maker or standards-body page is evidence for a figure, a retailer or forum page is evidence the item exists. `dataConfidence` is the 0 to 1 score set from what was actually sourced and never raised by hand. `verifiedAt` and `verifiedFields` say when a source was last read against the record and which fields it stated; null means the row is still seed knowledge. `updatedAt` and `version` are the same cache signals the record carries at the top level.9
- string[]z. B.
["https://www.glock.com/en/products/pistols/g17-…The pages consulted when the record was compiled, as an array. Check a specific figure against these rather than against
dataConfidence. - object[]z. B.
[{"url":"https://www.glock.com/en/products/pisto…What each cited page is, in
sourcesorder, on theSourceKindhierarchy. A host not in the source map isother, never guessed. - SourceKind | nullz. B.
manufacturerThe strongest kind among the citations, or null when nothing is cited.
manufacturerorstandards_bodymeans a figure can be checked against an authority;retailerorcommunityalone means the record is still supported by copies of copies. - number | null0 – 1z. B.
0.95The 0 to 1 score set from what was actually sourced, never raised by hand. See the confidence bands in the docs.
- string | nullz. B.
2026-09-08When a source was last read against this record. Null means the row is still seed knowledge.
- string[]z. B.
["barrel_length_mm","weight_empty_g"]Which fields the source stated, as an array. Everything else on a verified row is still unverified. Null where no source has been read.
- string | null
Cartridges only: the page the drawing figures were taken from. Null on every other kind of record.
- stringz. B.
2026-09-08 04:10:22When a served column last changed; the same value the record carries at the top level.
- string | nullz. B.
ba5c1d9e06c279a5The record's content version, equal to the top-level
version; equal versions mean equal data.
Produktionsstatus-Werte
Was status an einem Datensatz enthalten kann.
- Currently manufactured
- No longer manufactured
- Production has ended; may return
- Out of production but still in active service
- Produced in limited numbers
- Prototype, never mass-produced
Alle sechs akzeptiert ?status= auf GET /v1/firearms.
Verschlussarten
Das actionType-Vokabular, wie es im Katalog vorkommt, häufigste zuerst. Keine geschlossene Liste: GET /v1/firearms/action-types liefert jeden verwendeten Wert mit Anzahl.
- Barrel and slide recoil locked together, then unlock (most semi-auto pistols)
- Manually cycled rotating bolt
- Bolt held only by spring and mass, no locking (smaller cartridges)
- Barrels hinge open to load
- Gas-operated, pattern not further specified
- Gas piston fixed to the carrier, travels its full length (e.g. AK)
- Gas vented straight onto the bolt carrier (e.g. AR-15)
- Cylinder indexes a fresh chamber behind the barrel
- Gas piston travels a short distance to drive the carrier
- Loaded from the muzzle; no cartridge
- Manually cycled by sliding the forend
- Manually cycled by a finger lever
- Trigger both cocks and releases the hammer or striker
- Breechblock drops vertically to expose the chamber
- Rollers delay bolt opening (e.g. MP5, G3)
- Hammer or striker cocked before the trigger will fire
- Short-stroke piston, the piston named explicitly in the source
- Revolver; hammer manually cocked before each shot
- Revolver; trigger cocks and releases the hammer
- Recoil inertia of the bolt body unlocks the action (some shotguns)
- Recoil-operated, pattern not further specified
- Blowback with a mechanical delay other than rollers
- Barrel and bolt recoil the full stroke together (e.g. Auto-5)
- Gas-operated with a rotating bolt lock
- Loaded at the breech; single-shot, mechanism not further specified
- Breechblock rotates back to open (single-shot)
- Bolt cycled with a straight pull, no rotation of the handle
- Hinged breechblock lifts forward to load (e.g. Springfield 1873)
- Air gun; a spring-driven piston compresses the charge
- Breechblock hinges away from the chamber to load
- A lever delays bolt opening (e.g. FAMAS)
- Barrel driven forward off the standing breech
- Externally powered rotary barrels
- Trigger always cocks and releases; no single-action mode
- Barrel rotates to unlock from the slide
- Air gun; pre-charged or pumped air
- Gas system switchable between two modes
- Blowback delayed by a rotating barrel rather than by rollers
- Blowback delayed by gas pressure bled against the bolt
- Blowback delayed by lugs camming radially out of the carrier
- Short recoil in which the barrel rotates to unlock
- Gas-operated with a counter-mass moving against the carrier to cancel recoil
- Gas-operated with a balanced recoil system damping the impulse
- Gas-operated in which the barrel moves forward rather than the bolt back
- Gas-operated, firing from an open bolt
- Gas-operated with a bolt that tilts to lock (e.g. FN FAL)
Datenkonfidenz
dataConfidence ist ein Wert von 0 bis 1 dafür, für wie viel eines Datensatzes eine Quelle einsteht. Er wird aus dem gesetzt, was beim Anlegen oder Prüfen tatsächlich belegt wurde, und nie von Hand angehoben: ein Mensch kann ihn nach einem gefundenen Widerspruch senken, nur eine neue Quelle kann ihn heben. Er ist ein Maß auf Datensatzebene, keine Wahrscheinlichkeit pro Feld, dass eine Zahl stimmt: 0,95 heißt nicht, dass die Lauflänge zu 95 % korrekt ist.
Bei einer Waffe spiegelt der Wert auch die Abdeckung: wie viel des Datensatzes die zitierten Seiten abdeckten und welcher Art diese Seiten waren. Ein voller Datensatz vom Herstellerdatenblatt, den zwei Referenzen bestätigen, liegt über 0,9; eine einzelne unbestätigte Quelle unter 0,7. Eine Anzahl allein sagt wenig, denn vier Händlerseiten, die eine Herstellerangabe wiederholen, sind eine Quelle. Deshalb provenance.sourceKinds jede Seite einordnet und provenance.bestSourceKind die stärkste nennt. Bei einer Patrone oder einem Anbauteil folgt der Wert genau den Stufen unten, weil diese Datensätze Quelle für Quelle geprüft werden.
Was jede Stufe bedeutet
Die Obergrenze, die ein Datensatz für das Gefundene tragen darf. Ein Datensatz landet in der höchsten Stufe, die seine Belege stützen, und nie darüber.
| Wert | Was belegt wurde |
|---|---|
0.95 | Eine Zeichnung eines Normungsgremiums (SAAMI, CIP) oder die Produktseite bzw. das Datenblatt des Herstellers, die jede Zahl des Datensatzes bestätigen. |
0.90 | Ein vollständiger Referenzeintrag, jedes Maß vorhanden, ohne Normverweis. |
0.80 | Ein Referenzeintrag, dem eine oder mehrere Zahlen fehlen, wie bei einer seltenen oder historischen Patrone. |
0.75 | Die Produktseite eines Herstellers oder Vertriebs, die Existenz, Kaliber, Länge und Farbcode bestätigt, oder ein Händler, der die Zahlen eines Teils bestätigt, wenn die Herstellerseite nicht abrufbar war. |
0.70 | Eine Sammler- oder Referenzseite, eine fremdsprachige Referenz oder eine Seite aus einem Wiederladehandbuch. |
0.60 | Nur ein Händler oder ein Forum bestätigt, dass der Artikel existiert; die Zahlen bleiben wie eingespielt. |
0.50 | Nichts gefunden. Der Datensatz ist Modellwissen aus der Erstbefüllung, und verifiedAt ist null. |
Zwei Dinge drücken einen Wert unter seine Stufe. Eine vom Validator markierte Zahl, die keine zweite Quelle auflösen konnte, deckelt den Datensatz bei 0,6, und der Widerspruch steht in notes. Eine Montageschnittstelle, der die Herstellerseite widerspricht, senkt ein Anbauteil bis zur Korrektur auf 0,6, weil ein falsches Gewinde eine Sicherheitsfrage ist.
verifiedFields ist der Beleg
Ein Patronen- oder Anbauteil-Datensatz trägt verifiedFields: genau die Felder, die seine Quelle genannt hat, und nichts darüber hinaus. Ein dort nicht gelistetes Feld steht auf dem Stand der Erstbefüllung, was auch immer der Wert sagt. Kategorische Felder wie Hülsenform oder Geschossart sind Einschätzung, keine Belegung, und heben den Wert nie für sich allein. verifiedAt ist der Zeitpunkt dieser Prüfung; null heißt, niemand hat den Datensatz bisher gegen eine Quelle geprüft.
Was mit einem niedrigen Wert zu tun ist
- Alles, worauf Sie nicht ungeprüft bauen würden, als ungeprüft behandeln. Bei 0,6 wurde nur die Existenz des Artikels bestätigt; bei 0,5 gar nichts.
- Eine konkrete Zahl gegen
sourcesprüfen, nie gegen den Wert. Der Wert sagt, wie gut der Datensatz als Ganzes belegt ist; die Seiten sagen, wo jede Zahl bestätigt werden konnte. - Filtern statt raten.
GET /v1/data/confidencelistet Datensätze unter einer Schwelle, niedrigste zuerst; auf den Kompatibilitäts-Endpunkten blendetmin_confidencePassungen aus, die über schwache Belege berechnet wurden. - Melden, was Sie finden. Eine falsche Zahl ist eine Datenmeldung, auf die ein Mensch reagiert, und die Korrektur erreicht jeden Aufrufer.
Die Quellenhierarchie
Jede Seite, die ein Datensatz zitiert, wird als eine SourceKind eingeordnet, stärkste zuerst, und der Datensatz trägt das Ergebnis: provenance.sourceKinds ist ein { url, kind } pro Seite und provenance.bestSourceKind die stärkste davon. Gewichten Sie eine Zahl nach der besten Art dahinter, nie nach der Zahl der zitierten Seiten. Spezifikationen unterscheiden sich legitim nach Jahr, Werk und Markt, also widersprechen sich Seiten; dann gewinnt die höhere Art, und die notes des Datensatzes vermerken den Widerspruch.
manufacturerDie eigene Produktseite, Anleitung, das Datenblatt oder der Katalog des Herstellers. Die Autorität für alles, was der Hersteller veröffentlicht.standards_bodySAAMI, C.I.P. oder eine NATO-Norm. Die Autorität für Patronenmaße und -drücke.governmentEin Beschaffungsdokument, eine technische Vorschrift, die Seite einer Truppe, ein Nationalmuseum. Jeder.mil- oder.gov-Host wird per Regel hier eingeordnet.referenceEine unabhängige Referenz, die nennt, woher ihre Zahlen stammen: eine Enzyklopädie, Modern Firearms, Forgotten Weapons, eine Museumssammlung, Jane's.aggregatorEine Seite, die Zahlen aus anderen Quellen zusammenträgt, ohne zu sagen, aus welchen. Nützlich für Abdeckung, schwach als Beleg.pressEin Magazin, eine Testseite oder ein Blog: eine eigene Messung eines Journalisten oder eine wiederholte Herstellerangabe.retailerEin Angebot, geschrieben um zu verkaufen. Beleg dafür, dass es das Modell gibt und wie der Markt es nennt; die Zahlen sind von anderswo kopiert.communityEin Forum, Wiki oder eine Fanseite. Beleg nur für Existenz und Benennung, nie die einzige Quelle für eine Zahl.otherEin Host, der noch nicht in der Quellenkarte steht. Wird als schwächste Art gemeldet, bis er eingeordnet ist, nie geraten, sodass ein für die stärkeren Arten genannter Anteil nur untertrieben sein kann.
Heute zitieren 100% der Waffen mindestens eine Seite, 83% zwei oder mehr und 34% eine manufacturer-, standards_body- oder government-Seite. Bei jedem Build aus dem Katalog berechnet. Ein Datensatz, der noch Modellwissen aus der Erstbefüllung ist, trägt dataConfidence 0,5 mit verifiedAt null, was immer seine Seiten sagen.
Das provenance-Objekt
GET /v1/firearms/{id}, GET /v1/calibers/{id} und GET /v1/attachments/{id} tragen ein provenance-Objekt, die eine Stelle, an der die Herkunft gelesen wird. Es bündelt, was die Abschnitte oben beschreiben: die konsultierten Seiten und welcher Art jede ist, den Wert, wann und welche Felder geprüft wurden, und die zwei Cache-Signale.
sourcesDie für den Datensatz konsultierten Seiten.sourceKindsJede zitierte Seite und ihre Art, in der Reihenfolge von `sources`, auf der Hierarchie oben. Ein Host, der nicht in der Quellenkarte steht, ist `other`.bestSourceKindDie stärkste Art unter den Zitaten, oder null, wenn nichts zitiert wird. `manufacturer` oder `standards_body` heißt, eine Zahl lässt sich gegen eine Autorität prüfen; nur `retailer` oder `community` heißt, der Datensatz beruht auf Kopien.dataConfidenceDer Wert von 0 bis 1 von oben, oder null, wenn der Datensatz nie bewertet wurde.verifiedAtWann der Datensatz zuletzt gegen eine Quelle geprüft wurde; null bei Modellwissen aus der Erstbefüllung.verifiedFieldsGenau die Felder, die diese Quelle genannt hat; null, wenn nichts geprüft wurde.updatedAtWann sich die gelieferten Spalten zuletzt geändert haben, von der Datenbank gepflegt.versionDer Inhalts-Hash des Datensatzes; gleiche Versionen heißen gleiche Daten auf jedem Tarif.specSourceNur Patronen: die Seite, von der die Zeichnungsmaße gelesen wurden.
Es gibt noch keine Zuordnung pro Feld und keine Änderungshistorie pro Datensatz: verifiedFields sagt, welche Felder bestätigt wurden, nicht von welcher Seite, und updatedAt sagt, wann sich der Datensatz zuletzt geändert hat, nicht was sich geändert hat. Leiten Sie beides nicht aus den Feldern oben ab.