Edge labeling? Edge predicate knowledge?

I’ve been researching various graphy brain-like systems for a while now, but I’m not clear whether logseq has any labeling or knowledge storage capacity for an edge, a link between two nodes. With traditional RDF you have a subject-predicate-object graph philosophy where, e.g., Tom is a captain where Tom is one vertex (with an ontology tag/URI associated with it), is a is the predicate, the edge connection (also with an ontology tag/URI) and captain is the object, i.e., the second vertex connected by is a to vertex Tom. Does logseq have any sort of edge capabilities? My cursory investigation hasn’t revealed anything.

Another example where edge knowledge is very crucial would be to imagine a city street grid as a set of vertices of cross streets and the streets themselves as the edges between the cross streets. For example, 42nd/5th would be a vertex, and 42nd and 5th would be edges. Then you’d have to have a meta-graph to express all of 42nd and 5th. So in such a situation the edges are just as important as the vertices. Is there in fact any sort of edge “labelling” or knowledge building?

Hi and welcome in the Logseq community!

In theory this information can be stored using page properties, i.e. in the first block of a page:

key:: value

in terms of graph/vertex/edge:

edge-type-1:: [[Vertex A]]

There is no edge labeling in Graph View at the moment.

What this structure can be used for is queries. In Simple Queries you can use a filter like:

{{query (property key value)}}

Advanced Queries can make this structure even more useful but you need to learn the Datalog/Datomic query language.

Also query results have a table view where columns are the property keys of the results.

I hope this helps.

P.S. let me know if you are interested in adding metadata to blocks too; they wouldn’t appear as nodes in Graph View but they can still be searched with queries, for example:

- The Picture of Dorian Gray
  author:: [[Oscar Wilde]]