Live data from Hacker News

Why Hypergraphs? (2013)

blog.opencog.org

21–27 of 27 posts

Re: Why Hypergraphs? (2013)

#22

Earlier quoted context omitted.

Yes, a hyperedge is like a set of nodes. Not limited to just two nodes. I hadn't thought of relational tables in that way. I guess, you could look at each row of a table as a hyperedge grouping together all the columns for a given record. Not sure how useful that is though. The cross-table join relations are still relatively point-to-point I think.

It might be just a good way of thinking about it. In practice it might provide some ideas about how to translate between an Object-view and Relational-View. What I'd like to find is a relational database where field-values can be not just elementary values like numbers and strings but also "object-instances". I wonder is there such a database? It would seem to offer the best of both worlds, objects, and relations bet…

GemStone is a common one, but object databases are not very common due to the maturity, efficiency, and predictability of relational databases. The deep pipelining and caching models of CPUs are a better match for RDBMs than object ones.

https://en.wikipedia.org/wiki/Gemstone_(database)

Re: Why Hypergraphs? (2013)

#24

Earlier quoted context omitted.

It might be just a good way of thinking about it. In practice it might provide some ideas about how to translate between an Object-view and Relational-View. What I'd like to find is a relational database where field-values can be not just elementary values like numbers and strings but also "object-instances". I wonder is there such a database? It would seem to offer the best of both worlds, objects, and relations bet…

This might not be quite it, but perhaps you’re looking for graph databases?

Can you use SQL with graph databases?

Related to the current topic, do graph databases support hyper-graphs?

Re: Why Hypergraphs? (2013)

#25
post #22

Earlier quoted context omitted.

It might be just a good way of thinking about it. In practice it might provide some ideas about how to translate between an Object-view and Relational-View. What I'd like to find is a relational database where field-values can be not just elementary values like numbers and strings but also "object-instances". I wonder is there such a database? It would seem to offer the best of both worlds, objects, and relations bet…

GemStone is a common one, but object databases are not very common due to the maturity, efficiency, and predictability of relational databases. The deep pipelining and caching models of CPUs are a better match for RDBMs than object ones. https://en.wikipedia.org/wiki/Gemstone_(database)

I understand that Gemstone is an Object-Oriented Database that stores objects and is great at that. But can you query those objects with SQL?

What I'd like to understand is, is there some basic reason why RDBMS and ODBMs must be different databases. Or could their conceptual models of data perhaps be generalized into a single model. Using hyper-graphs perhaps. :-)

Re: Why Hypergraphs? (2013)

#26
post #19

Hypergraph is like a graph but one where vertexes can connect more than two nodes. Right? Isn't that just like the difference between Object Oriented and Relational, Models? A relational table has multiple columns. A relational table does not represent a relation between two things. It represents a relation between N things, with its N columns.

This can be modelled as a regular graph simply by representing the hyper edge as another node with a set of edges. If those are labelled appropriately to differentiate them from regular nodes, it’s straightforward enough to represent it as a regular graph.

Right but doesn't that mean that in essence you will have two types of nodes in your conceptual model. It is no longer that you have just 'nodes' and 'vertices', you will need to have two different types of nodes, and one type of vertex. The new type of node could be called 'hyper-node' perhaps. Else you lose information.

Re: Why Hypergraphs? (2013)

#27

Earlier quoted context omitted.

This might not be quite it, but perhaps you’re looking for graph databases?

Can you use SQL with graph databases? Related to the current topic, do graph databases support hyper-graphs?

I don't believe they support SQL. They're somewhat more like pattern-matching on graphs. Most of their query language pages have compare/contrast examples with an equivalent SQL query. e.g. Neo4j's Cypher query language [1], or Apache Tinkerpop Gremlin (seriously) [2] used by Amazon Neptune.

I don't think the most popular ones support hypergraphs, although that sounds cool. I did see HypergraphDB [3] though! Need to read more about that.

[1] https://neo4j.com/developer/cypher/guide-sql-to-cypher/#cyph... [2] https://tinkerpop.apache.org/gremlin.html#:~:text=Host%20Lan... [3] http://hypergraphdb.org/

Post reply on HN