İçeriğe geç
prodid

Açık veri

Dizini indir

Dizin değiştirilebilir. Bildiği ve bir okuyucunun bilebileceği her şey tam bir dışa aktarım, yani döküm olarak yayımlanır; herkes indirip kendi dizinine yükleyebilir.

En son döküm

Bu site derlendiğinde en yeni döküm, şu anda alınan anlık görüntüydü: . Her gece 04:30 UTC’de yenisi yazılır ve latest.jsonher zaman en yenisini gösterir.

  • sources.ndjson.gz

    2 satır · 446 B

    Her kaynak için bir satır.

    sha256 0bb6045c5ba3c73d6756f3b5ec2e8910b28f147fd80f6403d542554f8879ba8c

  • entities.ndjson.gz

    24 satır · 1.9 KiB

    Her varlık (birleştirilenler dahil) için bir satır.

    sha256 1333fd9c883d4c4679a2288d874586caae364238233b04163aae8479bf72915c

  • records.ndjson.gz

    9 satır · 1.2 KiB

    Her kayıt (geri çekilenler dahil) için bir satır.

    sha256 cfdfb40fd5cdd941d65adbe559ca491261971ca328316741630d155e179a4600

  • groupings.ndjson.gz

    15 satır · 501 B

    Her gruplama için bir satır.

    sha256 5c562f31473d5f2b8f8551caca0f1cbb2d2f3e35f542af1e2ee6e5f35f3f261e

  • merges.ndjson.gz

    0 satır · 20 B

    Her birleştirme (geri alınanlar dahil) için bir satır.

    sha256 59869db34853933b239f1e2219cf7d431da006aa919635478511fabbfc8849d2

Bu dökümün dizini https://dumps.prodid.org/v1/2026-10-29/, manifesti 2026-10-29 04:30 UTC tarihinde yazılmış manifest.json. Lisansları index: CC0-1.0 ve claims: source olarak okunur.

Dökümler nerede tutulur

Bir döküm, yazıldığı sürümün altında, anlık görüntüsünün UTC tarihiyle adlandırılmış bir dizindir. v1/, manifesti ile kaynak ve varlık satırları v1 belgesi olan v1 dökümlerini tutar. İçinde beş veri dosyası ve bir manifest bulunur.

dumps.prodid.org
https://dumps.prodid.org/v1/<YYYY-MM-DD>/manifest.json
https://dumps.prodid.org/v1/<YYYY-MM-DD>/sources.ndjson.gz
https://dumps.prodid.org/v1/<YYYY-MM-DD>/entities.ndjson.gz
https://dumps.prodid.org/v1/<YYYY-MM-DD>/records.ndjson.gz
https://dumps.prodid.org/v1/<YYYY-MM-DD>/groupings.ndjson.gz
https://dumps.prodid.org/v1/<YYYY-MM-DD>/merges.ndjson.gz
https://dumps.prodid.org/v1/latest.json

latest.json en son yazılır. En yeni dökümün manifest.json dosyasının bir kopyasıdır; o dökümün her dosyası ve manifesti yerine oturduktan sonra yazılır. Ondan başlayan bir okuyucu, henüz orada olmayan bir dosyayı gösteren bir manifestle asla karşılaşmaz ve dizini manifestin kendi snapshot_at değerinden bulur.

Saklama. Günlük bir döküm 7 gün tutulur. Her UTC ayının ilk dökümü kalıcı olarak tutulur. Tutulan bir döküm asla yeniden yazılmaz: dizini, dosyaları ve manifesti bayt bayt olduğu gibi kalır.

v0 dökümleri. v1’den önce yazılan v0 dökümleri aynı saklama kuralıyla https://dumps.prodid.org/v0/ altında kalır ve v0/latest.json bunların sonuncusunu göstermeye devam eder. v0 şemalarına göre kalıcı olarak doğrulanırlar.

Manifest. Beş dosyanın her birini tam olarak bir kez adlandırır; dosyanın sunulduğu haliyle, sıkıştırılmış SHA-256’sı ve boyutuyla ve açıldığındaki satır sayısıyla. Yüklemeden önce her dosyayı özetine göre denetle. Şema https://prodid.org/schemas/v1/org.prodid.dump.json; vektörler /spec/fixtures/v1/dump altında.

Her dosya ne tutar

Her dosya gzip ile sıkıştırılmış NDJSON’dır, her satırda bir JSON nesnesi. Beşi de tutarlı tek bir anlık görüntüden okunur; bu yüzden birbirleriyle uyuşurlar: bir satırın adlandırdığı her kaynağın sources.ndjson.gz içinde kendi satırı, adlandırdığı her opid’in de entities.ndjson.gz içinde kendi satırı vardır.

DosyaSatır başınaSatır
sources.ndjson.gzkaynakKaynağın durumu; tam olarak /source/{name} nasıl yanıtlıyorsa öyle.
entities.ndjson.gzvarlık (birleştirilenler dahil)Varlık belgesi; tam olarak /id/{opid}?history=1 nasıl yanıtlıyorsa öyle, geri çekilen iddialar dahil.
records.ndjson.gzkayıt (geri çekilenler dahil)source, key, feed, opid, body, first_seen, last_seen, withdrawn_at.
groupings.ndjson.gzgruplamasource, kind, key, opid.
merges.ndjson.gzbirleştirme (geri alınanlar dahil)from, into, decided_at, reverted_at.

Birleştirilmiş varlıklar

Birleştirilmiş bir opid çözücüde 308 döner; bu yüzden kopyalanacak kendi belgesi yoktur. Satırı, birleştirilmemiş olsaydı döneceği belgedir (kendi tanımlayıcıları ve iddiaları üzerinde kalır; birleştirmeyi geri alınabilir yapan da budur) ve bir üyesi daha vardır: merged_into, yani hayatta kalanın opid’i. Birleştirmeler zincirlenmez: hayatta kalan hiçbir zaman kendisi birleştirilmiş değildir.

Bir kayıt satırı

Dizinin tuttuğu haliyle tek bir kayıt. Her zaman UTC, ISO 8601.

AlanNe olduğu
sourceKaynağın adı.
keyKaydın o kaynaktaki key’i.
feedOkunduğu akışın URL’si. Bir veri seti aktarımının yazdığı kayıtta yoktur.
opidÇözüldüğü ürün birimi.
bodyYayıncının gönderdiği org.prodid.item, değiştirilmeden.
first_seenDizinin onu ilk okuduğu an.
last_seenDizinin onu son okuduğu an.
withdrawn_atYalnızca kayıt geri çekildiğinde bulunur.

Bir gruplama satırı

Bir kaynağın gruplamasının hangi varlığa çözüldüğü. kind, family ya da variant’tır; key ise kaynağın kayıtlarının neye göre gruplandığıdır. Özetlenmeden açıkça yazılır; böylece başka bir uygulama kendi gruplamasını onunla eşleştirebilir.

  • family

    { "group": "<group>" }

    bir yayıncı grubu için; grubu olmayan, kendi başına bir aile olan kayıt için { "key": "<key>" }.

  • variant

    { "family": <ailenin key’i>, "variant": { <eksen>: <değer>, … } }

    kaydın varyantı; yoksa {}.

Bir birleştirme satırı

Tek bir birleştirme kararı: from birleştirilen opid, into hayatta kalan, decided_at kararın verildiği an ve reverted_at, yalnızca geri alındıysa bulunur.

Bir dökümün asla tutmadıkları

Bir döküm, çözücünün zaten söylediğinden fazlasını söylemez; artı yanıtlarının kurulduğu kayıtlar, gruplamalar ve birleştirmeler.

  • Dizinin yalnızca lapse bildirimini göndermek için tuttuğu yayıncı iletişim adresi.
  • Tarama günlüğü, tarayıcının hata metni ya da bir taramayla ilgili kaynak durumunun göstermediği başka herhangi bir şey.
  • Bir birleştirmenin neden yapıldığı ya da kimin karar verdiği.
  • Bir medya özetinin neden engellendiği.
  • Medya baytları. Bir medya iddiasının media_url’i dosyayı gösterir ve engellenmiş bir özet sunulmaz.
  • Dizinin iç satır tanımlayıcıları. Her satır bir kaynağı adıyla, bir varlığı opid’iyle anar.
  • Yetki kararları ve kanıtları. Bir kaynağın satırı snapshot_at anında authoritative idiyse bunu söyler; ama dökümden yüklenen bir dizin, kendi işletmecisi bir yetki verene kadar hiçbir yetki tutmaz.

Lisanslar

İki kural var ve manifestin licenses alanı ikisini de belirtir.

  • index: CC0-1.0

    Dizinin ürettiği her şey

    opid’ler, tanımlayıcı eşlemeleri, aile ve varyant hiyerarşisi, gruplamalar ve birleştirmeler.

  • claims: source

    Her iddia ve her kayıt

    Kendi kaynağının beyan ettiği lisans altında: o kaynağın sources.ndjson.gz içindeki satırının license değeri. Lisans beyan etmeyen bir kaynak hiçbir hak vermemiştir ve prodid onun adına hiçbir hak vermez.

Kendine ait keşif belgesi yayımlamayan açık bir veri seti, dizine dataset:<slug> adlı bir kaynak olarak girer; dizinin işletmecisi onu veri setinin herkese açık dışa aktarımından içe aktarır. Böyle bir kaynak her zaman unverified’dır ve license değeri veri setinin kendi lisansıdır. Kurallar şartnamede.

Kendi dizinine yükle

prodid-batch load-dump, bir v0 ya da v1 dökümünü aynı sürüme taşınmış boş bir PostgreSQL 18 veritabanına tek bir transaction içinde yükler. Bir dökümün tarihli dizinini, manifest.json dosyasını ya da bir latest.json alır; yerelden ya da HTTPS üzerinden.

deponun bir kopyasından
git clone https://github.com/productdevbook/prodid.git && cd prodid
bun install --frozen-lockfile

export DATABASE_URL=postgres://<user>:<password>@<host>:<port>/<database>
bun run --filter '@prodid/db' migrate

PRODID_OPERATOR=<your name> bun apps/batch/src/cli.ts load-dump https://dumps.prodid.org/v1/latest.json

Herhangi bir şey yazılmadan önce her dosya manifestteki sha256, bytes ve lines değerlerine göre denetlenir; uzak bir döküm önce geçici bir dizine indirilir. Boş olmayan bir veritabanı reddedilir. PRODID_OPERATOR, yüklenen birleştirmelerin karar vericisi olarak kaydedilir.

Bir dosyayı yüklemeden okumak için özetine göre denetle ve aç. Aşağıdaki özet, bu site derlendiğinde en son manifestte yazan özettir.

sources.ndjson.gz
curl -sO https://dumps.prodid.org/v1/2026-10-29/sources.ndjson.gz
sha256sum sources.ndjson.gz
0bb6045c5ba3c73d6756f3b5ec2e8910b28f147fd80f6403d542554f8879ba8c  sources.ndjson.gz

gunzip -c sources.ndjson.gz | head -n 1

Kuralların tamamı şartnamede, Dumps başlığı altında.

Şartname yalnızca İngilizce yayımlanır ve bağlayıcı metin İngilizce olanıdır.

prodid açık kaynak. Büyümesine yardım et.

Başkaları da bulsun diye depoyu yıldızla, yanlış olanı bize bildir, bir düzeltme gönder ya da GitHub hesabın olmadan buradan bize yaz.