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

A comonad for graph decompositions #22

Open
runarorama opened this issue Apr 3, 2016 · 4 comments
Open

A comonad for graph decompositions #22

runarorama opened this issue Apr 3, 2016 · 4 comments

Comments

@runarorama
Copy link
Owner

runarorama commented Apr 3, 2016

No description provided.

@bblfish
Copy link

bblfish commented May 12, 2016

Thanks for another great article. These are really helping me ground my intuitions in Category Theory and its application to programming. Btw. exploring co-monads does help shed a lot of light on what Monads are.

Since you are working with graphs, you may be interested in the semantic web which is based completely on graphs (and named graphs). The graphs need not be connected as they seem to have to be with Quiver. The key intuition one needs to develop there is one of semantics that stems from logic, ie notions of meaning and reference, etc... (it has many echoes in philosophy) . The aim there is to create a global distributed database on-top of the web. There are a couple of talks online on the banana-rdf wiki including one I gave in December 2014 at Scala eXchange, which develops a use case for the semantic web, with scala examples.

Since you are coming at this from a Category Theory perspective I think you will enjoy Benjamin Braatz's thesis "Formal Modelling and Application of Graph Transformations in the Resource Description Framework". I was trying to read this two years ago but got stuck at the time on pullbacks and pushouts, as I could not form a good intuition of those concepts. I think I should give it a shot again, as I feel I have a much better grip on CT now, after reading your articles, learning Haskell, etc. ... A later and easier to read 2010 paper of his might help motivate the category theory based approach "How to Modify on the Semantic Web? - A Web Application Architecture for Algebraic Graph Transformations on RDF" as it compares his theory to other standards such as SPARQL update. (To be honest I don't quite get the advantage of his position yet, but the parallels are very helpful).

Excellent illustrations by the way :-)

@jmatsushita
Copy link

jmatsushita commented Sep 10, 2021

Hi there, just a note for those who, like me just until a few minutes ago, where wondering if this exists in Haskell land: almost. Quiver is in fact based on fgl (as the Decomp and GDecomp give away) with small differences I can spot (like Decomp is done on an unlabelled Context) and a big difference which is that fgl doesn't have a (or rather neither of the) comonad instance(s).

But, of course, someone already pointed this out and with the code for a Comonad orphan instance.

@jmatsushita
Copy link

jmatsushita commented Sep 10, 2021

I wrote up a purescript implementation of the "all rotations" comonad as a PR for the purescript-fgl module amhuppert/purescript-fgl#1

@bblfish
Copy link

bblfish commented Sep 10, 2021

@runarorama blog post has led recently to some enthusiastic thinking on comonads and the web.

Regarding my comment above from 5 years ago, I have since found one very nice explanation of RDF in the 2017 paper Knowledge Representation in Bicategories of Relations, which very helpfully places RDF in the space of bicategories rather than categories, that is where there are arrows between arrows too. But only 1 relation type: the sub property relation. That does not take away from the comonadic view of graphs presented in the blog post.

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

No branches or pull requests

3 participants