AsOf

AsOf IDs

One stable key per entity. Cite it beside the Wikidata QID.

Every record on AsOf has an ID that never changes and a URL that resolves to it: as a page, as markdown and as JSON. A Wikidata QID says which thing an entity is. An AsOf ID adds when: the dated, sourced claims about it, what held on a given day and which source said so. Put the URL in your schema.org sameAs next to the Wikidata link, and the ID in identifier, so the crawlers and agents that read your markup can follow it to the record.

The ID

form: ent_ and the record's slug: ent_google. Slugs are lowercase names with hyphens: openai, google-deepmind, laguna-m-1.
url: https://asof.is/record/{slug}: the page. Add .md for the markdown twin; https://asof.is/v1/entities/{slug} is the JSON, with ?as_of=YYYY-MM-DD for the state on a date.
node: https://asof.is/record/{slug}#entity: the @id of the entity in the page's own JSON-LD (Organization, Person or Product).
by id: https://asof.is/record/ent_google and https://asof.is/v1/entities/ent_google redirect to the slug's URL, so an ID alone resolves.
stability: An ID is never reused or reassigned. When two records turn out to be one, the dropped slug redirects permanently to the kept one on every surface (page, twin, JSON, timeline), and the dropped ID keeps resolving.
scope: Organizations, products and models, regulators and public bodies, and people in public roles, in tech and AI first. Narrow on purpose: every record is one the pipeline checks.

Try it: /record/google, /record/google.md, /v1/entities/google, /record/ent_google.

Beside Wikidata, not instead

In your markup

An organization's own page, with both keys:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Google",
  "url": "https://www.google.com/",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q95",
    "https://asof.is/record/google"
  ],
  "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "wikidata",
      "value": "Q95"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "asof",
      "value": "ent_google",
      "url": "https://asof.is/record/google"
    }
  ]
}

An article that names the entity:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "...",
  "mentions": [
    {
      "@type": "Organization",
      "name": "Google",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q95",
        "https://asof.is/record/google"
      ]
    }
  ]
}

Where to read an ID

Resolve one

GET https://asof.is/v1/entities/{slug}?as_of=YYYY-MM-DD
GET https://asof.is/record/{slug}.md

The state on a date, with coverage and sources; the slug is the ID after ent_. The API is described on the API page.

For Wikidata editors: there is no Wikidata property for AsOf IDs yet. One would be an external identifier taking the slug, with the formatter URL https://asof.is/record/$1. Until then the link runs one way, from the record to the item, and from any page that cites both.