Re: looking for help with/guidance for a schema.org proposal

The ISCC is just a (potentially long) string – so you can store it in your JSON any way that you would like.

> Schema.org is a vocabulary with as few constraints as possible
>
Yes, and that is, IMO, its biggest fail.  The lack of actual Schemas – made even more ludicrous by its name – makes its use in formal metadata environment difficult.   In the case of CAI, we did two things.  (1) We defined formal (JSON) schemas for some key schema.org  grammars such as `Place`, `GeoCoordinates` and `ClaimReview` and then (2) we enabled support for using any arbitrary Schema.org grammar.

For timestamping, CAI uses standard RFC 3161 timestamps.  Not only it is a well understand and deployed solution, but it also aligns with our standard AdES-based signatures for compliance with ISO and ETSI standards and the legal requirements of the EU, Japan and other countries.

Leonard

From: Jarno van Driel <jarnovandriel@gmail.com>
Date: Friday, November 6, 2020 at 8:20 AM
To: "public-credentials@w3.org" <public-credentials@w3.org>
Cc: "public-credentials@w3.org" <public-credentials@w3.org>
Subject: Re: looking for help with/guidance for a schema.org proposal
Resent-From: <public-credentials@w3.org>
Resent-Date: Friday, November 6, 2020 at 8:18 AM

@Leonard and @Tzviya, are there any resources that show examples of ISCC metadata in JSON so I can compare these with the different examples we created for our proposal?

@Leonard, happen to have a resource showing examples of how the CAI aligns with schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656092991697%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Ci5AYsHapNcLbrqL4ZHmTHiVBSBoC%2FUp7ij%2FOHiMAOU%3D&reserved=0>?

Schema.org is a vocabulary with as few constraints as possible so that publishers are free to describe the things they want. It's up to each individual consumer of schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656092991697%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Ci5AYsHapNcLbrqL4ZHmTHiVBSBoC%2FUp7ij%2FOHiMAOU%3D&reserved=0> annotated markup (e.g. search engines, social media platforms) to decide for themselves which elements of the vocabulary they need/support for their applications, as well as for describing any constraints in regards to the data shapes and values they want from publishers.

And so the intent behind our schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093001690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dceLN6%2FQnyC54BvgbNQzvZ4mwqnqRIoSmcXZbtO8SRU%3D&reserved=0> proposal is to be agnostic in regards to the identifiers (or any other value) that can be used/expressed (and any infrastructure/service used to generate these). Thus we're trying to come up with a schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093001690%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=dceLN6%2FQnyC54BvgbNQzvZ4mwqnqRIoSmcXZbtO8SRU%3D&reserved=0> method for describing timestamps (and the elements needed for these) that doesn't conflict with any major draft/proposal/standard out there yet has enough expressivity to 'point the way' to validators to be able to get the info they need (possibly elsewhere) and do their thing via their preferred methods.

Practically this means that ids for DID, BLINK, ISCC and others - even though not incorporated in the examples I provided - could be expressed as an URN via JSON-LD's @id (or at least, that's how we think about it), e.g.
{
  "@context":"https://schema.org<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637402656093011686%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=hcUwoUx4SLBEqbkvIN%2BpjnvJbehh%2BUxlr5IVJa51Zk0%3D&reserved=0>",
  "@type":"BlockchainTransaction",
  "@id":"blink:ethereum:ropsten:0xafdcf0708ab37df3eef706ea0c1b985a8fa10b11607fe1c0558022b51f450635"
}

Which is why I'd love to have the examples I asked for (if there are any) so I can try to find out if our proposal contains anything that might cause any conflict (and possibly ask help if I fail in doing so myself).

@Detlef, I'll take a look at the resources you provided. Thanks for pointing out long-term-preservation as well. To be honest it's not something we had discussed yet though it's something I'll definitely discuss with the others (we've taken the baby-steps approach to prevent our proposal being too granular from the start).

Op do 5 nov. 2020 om 15:25 schreef <detlef.huehnlein@ecsec.de<mailto:detlef.huehnlein@ecsec.de>>:
Dear Jarno,

I would like to encourage you to look at RFC 4998<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc4998&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093011686%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=O9C4tvxDHu8CwUu2f7J03Oe6rdiZfkuPceeMIaIYsxc%3D&reserved=0> for the use of
Merkle Trees for efficient time stamping (and long-term preservation of evidence
as addressed in ETSI TS 119 512<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.etsi.org%2Fdeliver%2Fetsi_ts%2F119500_119599%2F119512%2F01.01.01_60%2Fts_119512v010101p.pdf&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093021684%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cMayR6RKvH2%2FKh1llC2B%2FVc8hYqb%2FGZp6e6eJYlYA%2B4%3D&reserved=0>, if the long-term perspective is important in your use cases).

Maybe we could one day come up with a MerkleProof202x, which can be used with both
blockchain based and classical RFC 3161<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftools.ietf.org%2Fhtml%2Frfc3161&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093021684%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=i%2FudnLRVQl%2F1me7gmKqmPLOjkvknXiaZWkU8fQxA8Z8%3D&reserved=0> time stamps?

BR,
Detlef

Von: Jarno van Driel <jarnovandriel@gmail.com<mailto:jarnovandriel@gmail.com>>
Gesendet: Donnerstag, 5. November 2020 14:06
An: public-credentials@w3.org<mailto:public-credentials@w3.org>
Betreff: looking for help with/guidance for a schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093031678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=0ABmpcHzzqAZovyjgVvTwV2RT%2B1aHl7PaJZEhqPVat0%3D&reserved=0> proposal

Hi folks,

I'm one of the editors of a recent schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093031678%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=0ABmpcHzzqAZovyjgVvTwV2RT%2B1aHl7PaJZEhqPVat0%3D&reserved=0> proposal for time-stamping content via blockchain<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fschemaorg%2Fschemaorg%2Fissues%2F2756&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093041676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=v7vAxbr2fPhs%2FJWL01dq4Opn7ftNSe4Tb7ldu9A0oxE%3D&reserved=0> and am hoping you can provide us (the authors of the proposal) with some help/guidance as to how this proposal might be realized such that it:

  *   allows everyday publishers to publish markup to:

     *   timestamp their content in a 'simple' yet verifiable manner
     *   optionally provide the content used (a Key) for generating a transaction hash
     *   optionally provide the content used for generating a transaction hash of previous editions of the content (via a Key that refers to its previous edition)

  *   doesn't conflict with the (enormous) amount of work this group has already done
Prior to posting the schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093041676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=BLKX4%2BHs7WjS%2B0WK0kmPfLaVwdp0R7thjwg4Ag4cq5o%3D&reserved=0> proposal Manu Sporny was so kind to provide us with some resources that he recommended we should read (about merkle-proof, opentimestamps, chainpoint and hash-links) though after we posted the proposal it became clear we hadn't succeeded in preventing conflicts with MerkleProof2019 (and possibly also with other parts of the work this group has done).

So over the last 4-5 days I've taken a real deep dive into the Security Vocabulary<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fw3c-ccg.github.io%2Fsecurity-vocab%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093051665%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=tAlZLQpfWmkwpVzmhQSZZDdyxDuUj3Cyk9k8Amr1LD0%3D&reserved=0> only to end up feeling completely overwhelmed by it and subsequently have come to a halt in working on our schema.org<https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093051665%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=faH5BNh0WNzrbOLcdzuGq4V1TPPoXMF%2FrF5blvv04Tc%3D&reserved=0> proposal as I realized we won't be able to get this done without your input (because we're set on not getting into conflict with your drafts).

The (maybe naive) objective of our proposal is to provide publishers with an 'easy' solution to achieve the objectives I mentioned above and as such provide validators with the minimum data they need (entry-points so to say) to be to validate the timestamps (by getting the rest of the information they need elsewhere).

Any help would be greatly appreciated!

--

The markup model for time-stamping content we've come up with thus far looks like this:
{
  "@context":"https://schema.org<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637402656093061660%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=xVvUBNAXhxd%2FudE1LJMa2doBY08CxhLy0cf4O%2FNSZLM%3D&reserved=0>",
  "@type":"Article",
  "name":"A time-stamped article",
  "mainEntityOfPage":"https://example.com/time-stamped-article/<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.com%2Ftime-stamped-article%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093061660%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=E42I1d8mNa8IDO8SxpIXbopr7R98GhwhFRYoRQEz4rU%3D&reserved=0>",
  "timestamp":
  {
    "@type":"BlockchainTransaction",
    "identifier":"0fce9c929ef03838775703d4cf55b7b1bdd6a5cc3503a2606dbe3b6c0cf0a802",
    "hash":"8A258E516081C36B866812E49495628CBDC1DD4126DB321A28AE95EE55B83BAB",
    "hashingKey":"https://example.com/json/?key=8A258E516081C36B866812E49495628CBDC1DD4126DB321A28AE95EE55B83BAB<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.com%2Fjson%2F%3Fkey%3D8A258E516081C36B866812E49495628CBDC1DD4126DB321A28AE95EE55B83BAB&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093071652%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ml7FwrkIIMsASD5G8p2%2FPv%2BiLqV6xWD3nVa%2B7Qg2WV4%3D&reserved=0>",
    "isPartOf":
    {
      "@type":"BlockchainBlock",
      "identifier":"058ca16036c058217753b01200118f3ed92bfb2cee9a6c75bdb7bb1d110a767e",
      "blockHeight":3456789
    },
    "recordedIn":
    {
      "@type":"Blockchain",
      "name":"eos",
      "network":"mainnet",
      "identifier":"aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906"
    }
  }
}

The markup model for the Key looks like this:
{
  "@context":"https://schema.org<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fschema.org%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637402656093071652%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4cQmaHVrc28IcK3IpdT5BCgpe5JRT1lzbBMzRgK3oZs%3D&reserved=0>",
  "@type":"Key",
  "dateCreated":"2020-09-27T20:28:41+01:00",
  "isBasedOn":"https://example.com/time-stamped-article/<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fexample.com%2Ftime-stamped-article%2F&data=04%7C01%7Clrosenth%40adobe.com%7C22cd3c6aa01c41a3160108d88256ae03%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C637402656093081650%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=OapL0eZ5ILC8uc3JAOamBZJ6BLLmZG3%2B95oRv%2BT%2Fq%2FM%3D&reserved=0>",
  "encodingAlgorithm":"SHA-256",
  "encodingFormat":"text/html"
  "text":"<h1>Nunc eget lorem dolor sed</h1>\t\t\n\t\t\t<h2>Suspendisse sed nisi lacus sed viverra tellus.</h2>\t\t\n\t\t\t<p>Non consectetur a erat nam at lectus urna. Ut porttitor leo a diam sollicitudin tempor id eu.</p>..."
}

Received on Friday, 6 November 2020 14:39:56 UTC