An edge in Open Web Mind represents a connection between two nodes.
What kind of connection?
Well, if all we have is an edge, we can’t tell.
An edge between two nodes tells us that there is a connection between those two nodes, but not what kind of connection.
If only we had something more than an edge, something that could tell us not only that there is a connection between two nodes, but also tell us what kind of connection it is.
If only we had... a hyperedge.
Loosey goosey
There are four kinds of hyperedge in Open Web Mind.
The first is the good old-fashioned edge.
It represents a connection between two nodes, as I say, without telling us what kind of connection.
And that’s fine, as long as all we’re interested in is loose association.
For example, in the Open Web Mind thinker, I can create a good old-fashioned edge from the node representing me to any other node by clicking the add edge button for that node.
Take the node representing Canada, where I live. I can click on the add edge button for that node...
...to create an edge between me and Canada:
This is fast, but it’s loose.
I’m creating an association between me and Canada.
I’m not saying anything about this connection.
I’m not telling you that I live in Canada, just that I’m associated in some way with Canada.
You can have it both ways
The second kind of hyperedge in Open Web Mind involves three nodes: the two nodes connected by the hyperedge, and a third node representing the type of connection.
For example, in the Open Web Mind ⋅ countries mind, there’s a proximity hyperedge between Canada and Greenland:
The two nodes connected by this hyperedge are, of course, the node representing Canada and the node representing Greenland. But there’s a third node along the hyperedge, representing the concept of proximity.
What this hyperedge tells us is that Canada is close to Greenland.
This is a symmetrical relationship: Canada is close to Greenland and Greenland is close to Canada. It goes both ways.
You can see how simple this is as a way of saying something about a connection. There’s no need to create a new thing to define the type of a connection: we can use the same thing – a node – as we use for everything else in Open Web Mind.
And you can see how flexible it is. A node can represent anything, so a three-node hyperedge can represent any type of relationship.
Playing a role
Not all relationships are symmetrical.
For example, I founded Open Web Mind, but Open Web Mind didn’t found me.
Such asymmetrical relationships can be represented by a third kind of hyperedge, involving four nodes.
As ever, there are the two nodes connected by the hyperedge, in this case the node representing me and the node representing Open Web Mind.
But there are two more nodes involved in the hyperedge, representing the roles of the two connected nodes in the relationship.
In this case, my role in the relationship is that of founder, and Open Web Mind’s role is that of the organization being founded.
So the four nodes that make up the hyperedge are: me, founder, organization, Open Web Mind:
This is a simple, flexible way to say something about a directed connection.
Again, there’s no need to create a new thing to define the roles in a connection: we can use the same thing – a node – as we use for everything else in Open Web Mind.
And again, a node can represent anything, so a four-node hyperedge can represent a relationship in which the nodes play any roles.
Specifically speaking
Occasionally, we won’t have the concepts to define an asymmetric relationship with one type node or two role nodes alone.
If necessary, we can specify one type node and two role nodes, in a fourth kind of hyperedge, involving five nodes.
Suppose I wanted to be more precise about the connection between me and Canada. Suppose I wanted to create a hyperedge that does tell you that I live in Canada.
Clearly, this is an asymmetric relationship: I live in Canada, but Canada doesn’t live in me.
So a three-node hyperedge me – residency – Canada is missing something:
Sure, the type node, residency – which, according to WordNet is “the act of dwelling in a place” – tells us that there’s some living going on here. But it doesn’t tell us whether I live in Canada or whether Canada lives in me.
Similarly, a four-node hyperedge me – person – place – Canada is also missing something:
This time, it’s clear that I’m a person, and Canada is a place. And it’s clear that there’s a connection between the person, me, and the place, Canada. But it still doesn’t tell us that I live in Canada.
To do that, I need both the type node and the role nodes:
The type node, residency, is needed to specify the type of the relationship: this hyperedge tells us that there’s some living going on here.
And the role nodes, person and place, are needed to specify the roles of the connected nodes in the relationship – the hyperedge tells us that someone lives somewhere – as well as the direction of the relationship – the place is Canada, and the person is me.
Four of a kind
So here are the four kinds of hyperedge in Open Web Mind:
- an associative edge between two nodes:
- a hyperedge with a type node to tell us what kind of relationship it is:
- a hyperedge with two role nodes to specify the roles of the connected nodes in the relationship:
- and a hyperedge with a type node and two role nodes to tell us what kind of relationship it is and specify the roles of the connected nodes in the relationship:
Free for all
There’s no official list of the kinds of connections you can make in Open Web Mind. You can create any hyperedges you like, using any type node and any role nodes.
Sure, there are a few relationships so common that it’s worth adopting a standard formulation. I’ll get to those in a later video.
But for the most part, you can use any node you like as the type node, and any nodes you like as the role nodes.
As high as possible, but no higher
There is one principle, however, that you should bear in mind when choosing type and role nodes.
Type and role nodes should be as high-level as possible, while remaining specific enough to define the relationship.
Take the me – founder – organization – Open Web Mind hyperedge:
The role nodes in this hyperedge – founder and organization – are as high-level as possible, while remaining specific enough to define the relationship between me and Open Web Mind.
Take the founder role node.
It couldn’t be any higher-level without losing the meaning of the relationship.
If, for example, I changed it from founder to person:
then the hyperedge would establish a connection between me, as a person, and Open Web Mind, as an organization, but it would no longer establish whether I’m the founder, or an employee, or an investor, or an enthusiast.
Or take the organization role node.
It needn’t be any more specific.
If, for example, I changed it from organization to corporation, foundation, community or university:
it would tell you what kind of an organization Open Web Mind is, but that’s not the point here.
The point of the hyperedge is to define the relationship between me, as a founder, and Open Web Mind, as an organization, not to define what kind of organization Open Web Mind is, or what kind of founder I am.
Using founder and organization as the role nodes is just right:
These role nodes are as high-level as possible, while remaining specific enough to define the relationship between me and Open Web Mind.
As few as possible, but no fewer
And there’s one more principle to bear in mind.
A hyperedge should involve as few nodes as possible, while fully communicating the relationship it represents.
For example, I could create a five-node hyperedge to communicate the relationship between me and Open Web Mind:
This hyperedge works, but it involves more nodes than necessary.
The concept of a founder – which, according to WordNet, is “a person who founds or establishes some institution” – allows us to combine the concept of a person and the concept of foundation.
Four nodes are enough to fully communicate the relationship:
Only connect
So go for it.
Create any hyperedges you like in Open Web Mind.
Specify a type node for symmetrical relationships, or role nodes for asymmetrical relationships, or both if necessary, or neither for a loose association.
Hyperedges are simple and flexible enough to represent any connection between nodes.
Go ahead.
Connect.