News for hackers. Stuff that matters.
Re:Prefer associative ontologies to hierarchical taxonomies by catalogia on Saturday April 11, 2020 @07:20PM (#22844933)
> There are 5 practical relationship roles in knowledge modeling: parent-child, associate, source-target. Parent-child is hierarchy. Associate is undirected peer. Source-target is less useful in general, but it roughly represents a directed peer relationship (e.g. A exports this good to B, and B exports that service to A -- there's a direction).

I feel like this is missing something, namely in modelling relationships where a single child can have an arbitrary number of parents in a single context (or source-target without cycles.) I don't think that's adequately captured by multiple-hierarchies when you can't break the parents into discrete categories (e.g. mothers and fathers) and thereby into discrete hierarchies. If you try to model a DAG like that as multiple hierarchies by somehow imposing an order onto the set of parents, you'll get yourself into a quagmire.

Re:Prefer associative ontologies to hierarchical taxonomies by wenc on Saturday April 11, 2020 @08:10PM (#22845140)
I'm not sure I follow completely but I'd like to explore this. To make things a bit more concrete, what is an example of what you're describing?
Re:Prefer associative ontologies to hierarchical taxonomies by catalogia on Saturday April 11, 2020 @09:44PM (#22845511)
In a version control system, a commit might have an arbitrary number of parents. Furthermore a single commit might have an arbitrary number of relationships to another commit (e.g. parents can also be grandparents, etc) Trying to reason about such a system as multiple-hierarchies will have you reasoning about a potentially huge number of hierarchies if the graph is well connected. I think it's more straight forward to reason about the system as a single graph, rather than a huge set of spanning trees.
Re:Prefer associative ontologies to hierarchical taxonomies by wenc on Sunday April 12, 2020 @10:19AM (#22848394)
> I think it's more straight forward to reason about the system as a single graph,

So I'm still not sure I totally get the objection -- please help me out here. In my mind, multiple hierarchies are represented by a single graph.

When one reasons about the system, one will naturally only consider single hierarchies at a time for simplicity. The way to do this is center yourself on a node at a time, and then from that vantage point, traverse the node in different directions.

In the system, each edge belongs to only 3 categories: P ("parent", directed), A ("associate", undirected), S ("source", directed). We're only considering hierarchies, so we'll restrict ourselves to "P". Each node can have an arbitrary number of relationships with other nodes. A family and work relationship could look like this.

You -P-> your kid 1

You -P-> your kid 2

Mother -P-> You, Sister

Father -P-> You, Sister

Boss -P-> You

Boss -P-> Colleague

Company President -P-> Boss

Company -P-> Company President

Seems to me it should be easy to reason about multiple parents in different contexts -- they all belong in the same graph.

Wikipedia sort of does this with its Categories box at the bottom of every page, but Wikipedia only has one kind of relationship category: P.