There are two main problems:

  1. JavaScript compilation issues that make certain graphical elements like sliders glitch
  2. Problems loading the post and topic data from Neo4j to display on the dashboard

I’m just worried that running Neo4j with ineo is what’s blocking the dashboard from accessing the post data from Neo4j. Or do you have some idea of why we might be having problem 2? I’m a bit stumped if it’s not related to that.

Of course, the right way to find out is to try. I’ll give it a shot.

Very improbable, as ineo is just a tool to automate the installation of another instance of Neo4J, with its own process and its own set of ports to access it.

My guess is rather an incompatibility in the library for Python to access Neo4J. It did not work at all the way described in your installation instructions. So I went to a newer version, adapted things to use the BOLT protocol for communicating to Neo4J and got it to work … but possibly not completely.

I don’t remember any JS compilation steps in your installation instructions. In case you forgot these, please add them in.

It’s in the dashboard instructions, it’s the “npm run build” part that creates the dist folder. In the dashboard instructions that happens with a docker.

It must be updated manually (you reload the data and the graph).

I’m glad! Another model, from our other project NGI, shows what the map could look like if we were more on the same page with our coding ontology:


I recommend filtering to k=4 for best results!

Obviously POPREBEL will naturally look different, since the conversations are happening in different languages so won’t be as connected. But looking at the types of codes we use in NGI might help us refine our codes in POPREBEL so they carry more meaning at the graph-level. I can walk you through it during our meeting as an example :slight_smile:

In our meeting on Friday, we will also set a deadline for a writeup of preliminary ethnographic results, so the community managers and engagement team have something to work with as they go forward with their engagement and event planning.

For a model, check out the latest NGI one: NGI Ethnography Preliminary Findings - October 2020

or my first POPREBEL one: Preliminary Ethnographic Thoughts on POPREBEL International (English Language)

Ideally, it should contain screenshots from the SSNA. Quotes from informants are also great.

We are long, long overdue for a writeup, so please make this a priority. The other teams really need it!

@Jan @Jirka_Kocian @SZdenek @Wojt

1 Like

Hello, everybody!
@amelia @Jan @SZdenek @Jirka_Kocian @matthias @hugi
I and Jan just finished coding all the posts on the Polish forum, new ones aren’t really appearing yet, so we can focus on cleaning our codes and creating hierarchies now.
I wanted to write about a few things before our meeting.
I’m not sure if I will be able to join you this Friday, at least for the entire meeting. I’ll try, but it turned out that I need to pick up my son from the school on that day (if I make it since the daily number of new confirmed Covid cases passed 3000 today in Poland

Either waaay, I and Jan were looking at the POPREBEL GraphRyder and it seems to have certain issues (maybe it’s just not fully functional yet, besides you mentioned that it’s going to change and/or be moved). For now, however:
no 1
issue no 2
issue no 3
The sliders seem to work better in other projects. And, maybe it’s working the way it’s supposed to work, but the Co-occurence intenisty slider seems to have like three intensity settings, it doesn’t seem to be analog/continuous or very sensitive - when I start moving it nothing happens and then, quite suddenly, I’m left with just a few nodes. It’s quite all-some-nothing to me.

There are also a few questions that we have regarding how Graphryder works.

  1. What’s the relationship between the hierarchies existing in the backend and the graphs displayed by Graphryder? Is there any relationship or does it just display co-occurences? E.g. will it show higher-order, “mother” codes only as long as they have annotations (no null codes) and co-occur with other codes?
  2. How likely is it that colours and/or non-SSNA will be adopted for POPREBEL? Doing that would make implementing Jan’s grammar/meta-language much easier I think.
  3. When is the POPREBEL Graphryder updated? Do you guys do it manually? Does it happen regularly? Is it a lot of work? Will it ever show things in real time?
  4. Can I, without much knowledge about programming, make it show me just the codes used in the Polish community? What about the codes created/used by a certain annotator? Is there an option of making it display interactions between certain users of the forum? In a certain language (show codes with translations in a given language only)?
  5. Can I query the Graphryder to show me more than two codes co-occuring? Say I want to see how often “Catholic Church”, “politicians” and “conservatism” co-occur.

Moreover, I also wanted to confirm that we are going to be able to create multiple mother codes at certain point. We are, right?

And, @matthias, when I want to add or just check if I’ve added translations to the all the codes I used (not just created), is there a better and faster way to do it than just methodically wading through my Annotations? There are 45 pages of my Annotations with the codes being reused and checking them all can take me ages.

See you guys on Friday (hopefully)!

These issues will indeed all be fixed, I just got the word about it recently and the green light from @matthias. I will get around to it soon. Just a slight ping to @alberto, since I am technically just working for NGI and not POPREBEL but I think we can just figure that out internally.

No relationship. At least not in this version. Currently, hierarchies are not directly displayed in the graph at all, so it has no influence on the graph if, for example, ‘motherhood’ is a child of ‘family’ - both are only counted when directly applied.

This is up to @alberto to decide. It is technically possible and has been done in another project, but I’m not sure how wise it is to employ it here. It does add some messiness to the methodology.

Graphryders is updated manually, and while it takes about an hour to run the update, the update itself is not a lot of work once it has been triggered. It will not show things in real time in the foreseeable future.

Not in its current form. It could be achieved with scripts.

1 Like

I think this kind of call needs @amelia too.

It’s not the project, I tthink it’s the data. I believe Jason linearized the scale of the slider. In other words, if the lowest co-occurrence k is 2 and the highest is 15, it would divide the horizontal length of the slider into 15-2 = 3 parts. Then the slider, going left to right, would hide weaker connections linearly. This is all good, except suppose 50% of the edges have k=2, 49% k=14 and 1% k=15. Then your first move to the right would hide the 50%. Then, as you slide further tight, nothing happens until the very end, when suddenly the other 49% disappear.

A better system is to program the slider so that it orders the unique values of k. In the example above, the length of the slider would only be divided into two. All left you see everything: at 50& of the way you see k= {14,15}, and all the way to the right you see k=15. I am sure @matthias knows already this is good Ux practice.

No, and I do not recommend you do that. It takes you into hypergraph territory. Hypergraphs are cool but kind of pointless, you can do with normal edges (connect exactly two nodes) everything you can do with hyperedges (connect n>2 nodes).

I suggest the following:

  1. In the codes co.occurrence graph, locate one of the codes you are interested to, say catholic church. Select the neighborhood interactor, then click on that node. This highlights the node itself and all its neighbors.

  1. Locate the other codes you want. They should be in the neighborhood of the first one. Here we do not have politicians and conservatism, but we do have politicisation and discrimination. Note that politicisation and discrimination are connected to each other, and thus form a triangle with catholic church. A triangle is not exactly the same thing as a triple co-occurrence, but it is a powerful topological feature, well studied in network literature. What it tells you is that these three codes form a cohesive group: removing any single connection does not break it down, it simply reconfigures the triangle into a V-shape. You can then click on the eye interactor and (if Graphryder works, which at some point it will) go read the posts on each of the three edges of the triangle.

You could also look for larger cohesive structures, of which graph theory knows many (cliques larger than 3 nodes, k-cores etc., modularity-maximizing partition classes etc), and knows how to interpret them, has created the open source software libraries to find them etc. Hypergraph math is much less developed, it’s a cool generalization but, to my knowledge, no one has yet come up with a concrete issue that can not be attacked without hypergraphs.


You can go through the translate view of the POPREBEL codes. And then translate any code that you remember to have used, or might have used. If you translate some more codes than you used when coding in the POPREBEL project, it does not do damage, right?

Yep, thank you!

@Jan, @Wojt, are either of you joining us today?

Sure, but where are you?

I did not get any notification about the address of the meeting.

It’s in the calendar invite – but here again


Please do not edit this section of the description.

This event has a video call.
Join: https://meet.google.com/tnk-yrmd-wdu

Hello. Here are some of my notes to our existing codes:

  • There are some codes and codings from Serbia, they are usually in the form of: “serbian word / english translation”, are we going to do something with them?

  • The use of prefix “anti” is not systematial, for example there is a code “anti-semitism” and “antisemitism”.

  • There are codes in form: “(something) in Poland”, or at the Serbian forum “coping strategies in Croatia” / “coping strategies in EU”. Shouldn’t this locality come up from the localisation of the forum and therefore does not have to be coded. Shouldn’t it be two codes, if the geographic location is important (“coping strategies” + “EU”). And, shouldn’t we - according to the new analytical categorization - create set of codes, such as: local - regional - national (or state-wide) - European - Global?

  • In Czech, it is hard to translate/distinguish “collaboration” and “collaborative working”, as “collaboration” is always “working together” = “collaborative working”. + “cooperation” and “collaboration” are, when translated to Czech, sysnonymous.

  • The church categories need to be cleared and merged. There is Amelia’s code “Church” with he description “(cristian)”, and there is a code “Christian Church”.

  • I have failed to merge “ageing” and “aging”. Also “ageing” has been made a child of “healthcare area”, which I am not sure, it is. (It is much more than that.) … Also Amelia uses “healthcare area”, whereas Jan uses “health issues”, but both subordinated the code/topic “addiction”.

  • I am not allowed to merge duplicated “authoritarianism”, or “bribery” with “corruption”, etc. Should I put this in the github?

  • Should codes “access” and “accessibility” be merged?

And many more. With some of them we will deal on Fridays. I will make notes on further problems.

@Jirka_Kocian @SZdenek @Jan @Wojt @Richard

We have a new Graphryder dashboard, and most of the bugs and issues are fixed. You can find it now at https://graphryder.edgeryders.eu/poprebel


Many thanks @hugi. What a great improvement. I will study it carefully over the next 2-3 days.

1 Like

Hi, @hugi, @amelia, @matthias!
Could I ask you to update the POPREBEL graphryder database, please?
We’re preparing the writeup with @Jan and it would be great to see the newest changes.
Also, could you please, if it’s not a biggie, generate a graph just for the Polish community?
Thanks a lot!

Updating now, should be ready in 10 minutes.

That’s not possible through Graphryder I’m afraid. Those sorts of requests could be accommodated through running some custom scripts alá @alberto and then generating graphs with Tulip.