Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add diagram for the algorithm #98

Closed
philarcher opened this issue May 5, 2023 · 10 comments · Fixed by #152
Closed

Add diagram for the algorithm #98

philarcher opened this issue May 5, 2023 · 10 comments · Fixed by #152

Comments

@philarcher
Copy link
Contributor

philarcher commented May 5, 2023

Although Issue #92 is closing, the diagram is widely seen as useful and should be included in the spec. See also the WG resolution on 2023-05-03

@davidlehn
Copy link
Contributor

One thing to consider is how precise the diagram needs to be with respect to data structures. The "JSON-LD" and "N-Quads" blocks are defined, but the others are intermediate internal formats, or perhaps not well defined (yet). Should make it clear which ones are examples but not required representations.

  • The dataset blocks look simplified. Would datatype or lang usage change them?
  • The Canonical RDF Statements block might have newlines per statement. (Not sure how others do it, but Digital Bazaar's code serializes the newlines per statement.)
  • The Canonical RDF Terms block looks LISPy, but other formats are possible, such as the RDF.js spec that their whole tool ecosystem uses: https://rdf.js.org/data-model-spec/

@yamdan
Copy link
Contributor

yamdan commented May 9, 2023

@davidlehn Thanks, I updated the diagram below with the following changes:

  • simplify example
  • rewrite dataset blocks as RDF/JS data structures
  • rename each component to align with the current specification
  • add blank node map to the normalized dataset
  • remove unnecessarily complicated parts (i.e., term-wise encoding)

20230509_rch

Also I uploaded the editable diagram to Google Slides. Feel free to update it (I have my own backup slides.)
https://docs.google.com/presentation/d/1l5R7ZjY89wMLQrJDE6LZ66is3RaMk0bnrdS3qO9aGbw/edit?usp=sharing

@seabass-labrax
Copy link
Contributor

seabass-labrax commented Jul 19, 2023

@yamdan, do you mind if I have a go at writing the diagram in PlantUML or Mermaid? It would be nice to have this in Git defined by text.

@yamdan
Copy link
Contributor

yamdan commented Jul 20, 2023

@seabass-labrax Thank you, that would be very helpful. I could also work on it from next week onwards, but this week is a bit difficult for me.

@yamdan
Copy link
Contributor

yamdan commented Jul 25, 2023

I simplified the diagram and updated the terminology to match the latest specifications.
I'm still not familiar with how to draw such diagrams with mermaid or plantUML...

20230509_rch

@gkellogg
Copy link
Member

Do you have the source location that can be added to the spec (as a comment) for future editing? Can you add this into the spec the way other SVG has been added? I can help with this, if necessary.

@yamdan
Copy link
Contributor

yamdan commented Jul 25, 2023

@gkellogg Sure, I will prepare it later.

@yamdan
Copy link
Contributor

yamdan commented Jul 25, 2023

I've generated a link as follows. Is this appropriate as a source location? If so, I'll create a PR later to incorporate this link and the diagram (SVG) into the spec.

https://docs.google.com/presentation/d/1iA2m9SZ1XtD0zorfWhi1_rZjvqrxYCnSs3kQR_zyUFk

@gkellogg
Copy link
Member

Great! Just share edit capabilities with @pchampin so that it can be used directly in the future, if necessary.

@seabass-labrax
Copy link
Contributor

@yamdan, do you mind if I have a go at writing the diagram in PlantUML or Mermaid? It would be nice to have this in Git defined by text.

As discussed in today's RCH WG meeting, we'll use your SVGs directly rather than trying to replicate them with PlantUML.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants