14:51:17 RRSAgent has joined #json-ld 14:51:21 logging to https://www.w3.org/2024/09/25-json-ld-irc 14:51:21 RRSAgent, do not leave 14:51:22 RRSAgent, make logs public 14:51:23 Meeting: CBOR-LD, YAML-LD & the JSON-LD Recharter 14:51:23 Chair: mandyvenables, Benjamin Young 14:51:23 Agenda: https://github.com/w3c/tpac2024-breakouts/issues/35 14:51:23 Zakim has joined #json-ld 14:51:24 clear agenda 14:51:24 agenda+ -> 2024-09-25, 16:00 - 16:45 https://www.w3.org/events/meetings/ff83b490-7df3-4faf-89b4-6069da41c976/ 14:51:24 agenda+ 👍 4 reactions 14:51:24 agenda+ -> Terms https://docs.github.com/site-policy/github-terms/github-terms-of-service 14:51:24 Zakim, clear agenda 14:51:24 https://github.com/w3c/tpac2024-breakouts/issues/35 -> Issue 35 CBOR-LD, YAML-LD & the JSON-LD Recharter (by mandyvenables) [session] 14:51:25 agenda+ -> Privacy https://docs.github.com/site-policy/privacy-policies/github-privacy-statement 14:51:25 agenda cleared 14:51:25 Zakim, agenda+ Pick a scribe 14:51:26 agendum 2 added 14:51:28 agenda+ -> Security https://github.com/security 14:51:31 agenda+ -> Status https://www.githubstatus.com/ 14:51:33 agenda+ -> Docs https://docs.github.com/ 14:51:36 agenda+ -> Contact https://support.github.com?tags=dotcom-footer 14:51:40 agenda+ Manage cookies 14:51:41 agenda+ Do not share my personal information 14:53:52 tidoust has joined #json-ld 14:54:28 agenda? 14:55:26 betehess has joined #json-ld 14:55:46 tidoust has left #json-ld 14:59:12 manu_ has joined #json-ld 15:02:23 betehess_ has joined #json-ld 15:13:19 bigbluehat has joined #json-ld 15:20:25 gkellogg has joined #json-ld 15:30:58 TallTed has joined #json-ld 15:31:51 gkellogg has joined #json-ld 15:35:12 gkellogg has joined #json-ld 15:36:03 betehess has joined #json-ld 16:34:33 gkellogg has joined #json-ld 16:51:24 gkellogg has joined #json-ld 16:53:29 TallTed has joined #json-ld 17:01:44 gkellogg has joined #json-ld 17:02:32 betehess has joined #json-ld 17:27:42 gkellogg has joined #json-ld 17:43:17 betehess has joined #json-ld 18:08:12 gkellogg has joined #json-ld 18:15:05 betehess has joined #json-ld 18:16:11 rwarren2 has joined #json-ld 18:21:14 manu_ has joined #json-ld 18:30:54 rwarren2 has joined #json-ld 18:49:12 manu_ has joined #json-ld 19:15:45 betehess has joined #json-ld 19:21:20 gkellogg has joined #json-ld 19:45:21 gkellogg has joined #json-ld 20:08:03 gkellogg has joined #json-ld 20:10:03 gkellogg has joined #json-ld 20:15:34 betehess has joined #json-ld 20:21:04 betehess has joined #json-ld 20:58:40 manu_ has joined #json-ld 21:30:31 betehess has joined #json-ld 21:32:43 gkellogg has joined #json-ld 21:38:44 betehess has joined #json-ld 21:41:15 gkellogg has joined #json-ld 22:09:10 betehess has joined #json-ld 22:22:45 hyojin_ has joined #json-ld 22:44:14 betehess has joined #json-ld 22:51:25 manu_ has joined #json-ld 22:52:05 betehess has joined #json-ld 22:56:03 anatoly-scherbakov has joined #json-ld 22:58:36 gkellogg has joined #json-ld 22:59:42 gkellogg has joined #json-ld 23:00:52 betehess has joined #json-ld 23:02:29 scribe+ 23:02:42 Meeting: CBOR-LD, YAML-LD & the JSON-LD Recharter 23:02:43 present+ 23:02:48 rwarren2 has joined #json-ld 23:02:48 present+ 23:02:52 present+ 23:03:07 rrsagent, draft minutes 23:03:08 I have made the request to generate https://www.w3.org/2024/09/25-json-ld-minutes.html gkellogg 23:03:22 bigbluehat: Welcome to the group, thanks for coming. In the framing of JSON-LD recharter, we'll talk about CBOR-LD as well. 23:03:34 bigbluehat: I'm Benjamin Young, with a few co-presenter. 23:04:01 bigbluehat: The recharter is still under discussion, you can observe on Thursday. Charter is big work item and would like to qualitfy what goes in it, ship it, etc. 23:05:05 bigbluehat: Some history, JSON-LD has been around since 2014, been around since RDF WG. Synax and API... 2018, we did a JSON-LD WG ... minor version bump to v1.1 (that's where I got involved). v1.1 is used in Verifiable Credentials, schema.org, etc.. 23:05:29 bigbluehat: In last epoch, we were a maintenance WG, haven't done much, did some errata, still in v1.1 23:06:09 bigbluehat: What we're doing next -- we'll maintain v1.1, don't know if v1.2 is next or v2.0. We hope there is never a backwards compat break. 23:06:22 bigbluehat: There is intended to be a new version, that's why we're rechartering. 23:07:00 bigbluehat: We would like to make these new feature realities. We have two major new documents, CBOR-LD has multiple inputs. Then YAML-LD, which will be a presentation from Anatoly. 23:07:06 ericaconnell has joined #json-ld 23:07:27 bigbluehat: We'll look at RDF* stuff as well 23:07:43 wes: Hi, Wes Smith from Digital Bazaar, will talk about CBOR-LD, high level overview. 23:08:16 Wes: What is CBOR-LD -- semantic compression format for JSON-LD... if we want to shrink Verifiable Credentials down to a very small size, we can use CBOR-LD. 23:08:42 Wes: We are also proposing extensible registry mechanism for CBOR-LD to be self-describing, smooth interop w/ JSON-LD. 23:09:08 Wes: How does compression work: You build a compression dictionary from processing @context files. You assign integer values to terms and you do this in a deterministic way. 23:09:42 Wes: After compression, it's binary -- someone else needs to decompress... algorithms uses to process contexts and make compression dictionary can invert the compression. 23:10:40 Wes: CBOR has tags, tag registry, type of data that ... range of CBOR tags, additional precision in range describes what kind of CBOR-LD... self-describing CBOR. If I'm a general CBOR-LD supporting verifier of a document, I can decompress it. All this happens w/o any modifications for JSON-LD. 23:11:15 Wes: CBOR-LD Registry - you get a range of CBOR tags for CBOR-LD, you look at CBOR-LD tags, look up data in registry, get compression. 23:11:28 Wes: Compression table -- literally a mapping from terms in JSON-LD to integers. 23:12:07 Wes: Here's an example of JSON-LD VC on left, and on right CBOR-LD compressed form. High level here is terms get mapped to integers and you get an order of magnitude compression out of that. 23:12:45 Wes: Here is part of a VC, example driver's license... 23:13:09 Wes explains how JSON-LD document goes to compression map goes to compressed data. 23:13:32 Wes: You can also compress typed values. 23:13:47 Wes: Here's the result (binary blob of data) 23:14:10 Wes: Back out to big picture... JSON-LD VC is 1,200 bytes, and he CBOR-LD is 325 bytes. 23:15:12 bigbluehat: CBOR-LD is in the charter currently, being developed in JSON-LD CG. There are some others, JSON-LD in CBOR... CBL is another option for compression, we will want to take a look at their work 23:15:31 bigbluehat: CBOR-LD is in production at DB and TruAge. 23:15:43 Wip: Are there other implementations? 23:15:53 Wes: Yes, Java, Rust, Javascript, and other implementations. 23:16:07 bigbluehat: There will also be a test suite... I'm not writing that one! 23:16:27 PA: The conexts are in the registry, can I use CBOR-LD with an unregistered context? 23:16:49 Wes: Yes, short answer. You will have a long URL. There are a couple of ways to make that happen. 23:16:52 Wes: Don't compress URL 23:17:01 Wes: Provide application-specific URL compression. 23:17:08 Wes: Put stuff in registry. 23:17:40 Wes: The registry is more use case specific... mappings of context URLs to integers are big lists that a lot of differnt people can add their context to. It's not going to be California DL, each state can add entries. 23:18:06 iherman: To follow up on formal side for W3C, will there be a W3C Registry? Somewhere else? Registry should be accessible to all. 23:18:14 bigbluehat: Yes, that's the group needs to decide. 23:18:23 iherman: If you want to do a registry, it needs to go into the charter. 23:18:48 iherman: You have to define policy that regitry gets updated with, establish then run policy. It has to be in the Charter. 23:18:57 PA: Technically, we can add deliverables if they're in scope. 23:19:14 iherman: We should probably include it in the charter. 23:19:27 bengo: is the registry specific to CBOR-LD? Or is it useful for other encodings? 23:19:36 bigbluehat: Its not constrained at all, string to number map. 23:19:43 iherman: It would be nice to see an example 23:19:57 bengo: It would be a nice RDF -> CBOR code point registry. 23:20:17 bigbluehat: Same term to number thing would work... you could go from JSON-LD o CBOR-LD. 23:20:35 bengo: Its deterministic? The decoding of some blob is determinsitic. 23:20:50 bengo: Every possible JSON-LD can go from JSON-LD to CBOR-LD. 23:21:10 Wes: If I have some set of contexts associated with the document, if I implement CBOR-LD, same compression map. 23:21:34 bengo: If we use this for activity pub, other non-actity pub people can use this? 23:22:12 Wes: Yes, definitely. We can do two things 1) compression in general, 2) highly specific CBOR-LD. What you're describing is not tied to registries. 23:22:30 gkellogg: Any context in registry cannot change. 23:22:52 Wes: What goes in registry doens't have to be static. 23:22:58 Topic: YAML-LD 23:23:31 Anatoly: YAML-LD is targeted at humans, CBOR-LD is targeted at machines. 23:23:55 anatoly-scherbakov: We have implementations, test suite, WG is picking up to formalize. 23:24:16 anatoly-scherbakov: Going to show driver's license vc in YAML-LD. 23:24:46 anatoly-scherbakov: YAML is a superset of JSON, every valid JSON document is valid YAML document. Simplifies testing. You can run json-ld tests. 23:25:11 anatoly-scherbakov: You can make improvements, typing manually, this will be easier 23:25:30 anatoly-scherbakov shows how simplfiications can happen using YAML-LD 23:26:26 anatoly-scherbakov: You can get rid of quotes as well. For most part, gets rid of lots of typing, makes documents smaller. unfortunately "@" needs to be quoted. 23:27:04 anatoly-scherbakov: We can also do multiline strings in YAML, issuer id code, use greater dash in order to stay extra linebreaks get stripped, avoids super long lines. 23:27:28 anatoly-scherbakov: super killer feature is comments... if people author/read linked data, comments are vital are important for inent of author. 23:27:36 anatoly-scherbakov: Comments are especially pleasant 23:28:03 anatoly-scherbakov: We have a few use cases for YAML, writing VCs, FAIR metadata publications, nanopublications -- JSON-LD snippets describing knowledge. 23:28:43 anatoly-scherbakov: YAML is widely used in industry 23:29:14 anatoly-scherbakov: Theoretically can interpret existing YAML... arbitrary JSON can be interpreted as JSON-LD. 23:29:25 bigbluehat: Gets really ineresting on YAML front matter on files. 23:29:42 anatoly-scherbakov: We have two implementations Ruby and Python. 23:29:55 anatoly-scherbakov: YAML LD is a very thin layer on top of JSON-LD. 23:30:46 anatoly-scherbakov: One thing to note, "@context" has to be quoted... but we could remove quoting w other keywords... convenience context on JSON-LD to map JSON-LD keywords to dollar signs, only one context, other maps them to plain keywrods w/o stuff in front. 23:31:02 anatoly-scherbakov: User can choose any convenience context. 23:31:39 anatoly-scherbakov: Next steps -- refining text of specification, feedback welcome, I don't know wha else to write there, please find bugs/mistakes/misprinsts. 23:32:18 anatoly-scherbakov: Future features -- tag any YAML node, can be used for datatypes and language types. YAML allows mapping from one mapping to another. 23:32:48 bigbluehat: Thank you anatoly 23:33:52 bigbluehat: A couple WG NOTE ideas: JSON-LDs value object pattern on itself, encourage implementations of value objects. encourage JSON documents that lack "@context"... "referenceable sec noe for other specs"? 23:34:00 q+ to note context injection? 23:34:22 iherman: We got stuff into other documents, maybe leave it there? 23:34:47 bigbluehat: What about hashes for @context, hashlink is general, iteration on that for JSON-LD document loaders. 23:35:32 bigbluehat: As long as context file is served, document loader can use hash to do something ineresting, optional but confirmation that you got schema.org that you thought you wanted. 23:35:42 q+ to how to safely inerpret JSON-LD w/o JSON-LD processor 23:35:52 q+ 23:35:56 iherman: We had an issue we postponed, it' this issue? 23:36:05 bigbluehat: Yes, it's this issue. 23:36:31 bigbluehat: This is a document loader thing, relates to media type, hash fragment, not a fragment of document, metadata about the document. Good stuff to debate here. 23:36:43 Wip: If you use this, will it use it ok to resolve contexts live? 23:36:49 present+ 23:38:01 bigbluehat: Depends on your use case... wasteful to get 1.5MB schema.org file. If you have this, document loader could use as etag to server. Get 304 not modified, all sorts of other stuff to do that. If you have a local cache, multiple versions of schema.org, author wanted it to be that one. 23:38:05 q? 23:38:23 Topic: JSON-LD Star 23:39:43 gkellogg: Quick summary of RDF Star -- eek into property graph space to make statements about statements. RDF had a way to do this called reification, new triple term resource type. That brings in ability to talk about triples, indireciton on triples by reifier, some identifier which references triple term using well known predicate. 23:40:19 gkellogg: Annotations allow one to talk about a triple or set of triples and construct resource sfrom that... in case of reifier, triple that is not asserted ina graph. In annotatin, always aserted in document otherwise very implar 23:41:22 gkellogg: Object contains reifier, triple has a single triple... constrained from describing more than one thing. Identifier and type... one value we're describing... TURTLE is on the right. 23:41:52 gkellogg: Exmple using @reifier, similar except we have @id, whcih is identifier for reifier which references triple term. Could have multiple triples described. 23:42:02 gkellogg: Another value on reifier. 23:42:13 iherman: Subject of @reifies might be an array, a whole graph could e put in there. 23:42:34 gkellogg: or object with multiple entries... gnarly issues are if you have objects, do they get reifiers. 23:42:59 TallTed: Some people might pronounce "rayifies" than "reifies" 23:43:25 gkellogg: In case here, object contains reified triples and additional properties, indirection between triple terms and hey become proprties of reifier. 23:44:00 gkellogg: Last case, we have annotation, JSON-LD node object which contains vvalues and @annotation with triples contained in there. Annotation given an ID, reifier ID for triples, statements made are made about reified triple. 23:44:13 iherman: Annotation can only be on one triple. 23:44:25 gkellogg: Reifier can be used against multiple triples. 23:44:35 iherman: how do you do it JSON-LD? 23:44:55 gkellogg: You can put more properties in object. 23:45:02 Discussion around details of example. 23:45:47 gkellogg: Reification looks like a named graph. 23:46:03 gkellogg: Are named graphs described using refication? 23:46:21 bigbluehat: We ahve a joint WG meeeting Thursday morning. 23:46:36 bigbluehat: Next big thing is plenary 23:46:54 iherman: This part of spec can only be done when 1.2 is done. 23:47:06 iherman: Don't know how it will be reflected in charter 23:47:35 gkellogg: We ahve a dependency on RDF 1.2 -- we could do this in JSON-LD v1.2, as long a we don't go to CR were within process 23:48:05 q? 23:48:06 ack manu 23:48:06 manu_, you wanted to note context injection? and to how to safely inerpret JSON-LD w/o JSON-LD processor 23:48:18 scribe+ 23:48:24 manu_: context injection has come up often 23:48:32 ... people get confused and think it's illegal 23:48:47 ... so stating that it's fine is something we should do 23:49:01 ... we also get push back around processing JSON-LD as JSON 23:49:26 ... and we often have to explain that one can use the data model of JSON-LD without using a JSON-LD API processor 23:49:36 ... it's been a very helpful thing for our community 23:49:50 ... and it would be very nice to have that text make it into the main JSON-LD Syntax spec. 23:50:01 Thanks everyone, adjourned! 23:50:34 Zakim, end minute 23:50:34 I don't understand 'end minute', bigbluehat 23:50:37 Zakim, end meeting 23:50:37 As of this point the attendees have been TallTed, anatoly-scherbakov, gkellogg, pchampin 23:50:40 RRSAgent, please draft minutes 23:50:41 I have made the request to generate https://www.w3.org/2024/09/25-json-ld-minutes.html Zakim 23:50:47 I am happy to have been of service, bigbluehat; please remember to excuse RRSAgent. Goodbye 23:50:47 Zakim has left #json-ld 23:51:11 Buy all, thanks! 23:55:30 betehess has joined #json-ld