When on page e.g. [[Alice]] we make likes [[Apple]]
and someone else e.g. [[Bob]] hates [[Apple]]
on graph we see edges between [[Apple]] and those people but we can not distinguish relationship type, or filter out in graph view.
That’s why in RDF/Semantic web, things are stored not as binary but triples, that reflect structure of most human languages: “subject predicate object”.
We have already some notion of this in Logseq e.g. with alias::
, which is like owl:sameAs
( sameAs - Wikipedia ).
I was wondering :
- what’s the easiest way to export all graph relationships from logseq as it is today into triples (with default predicate
logseq:relationship
) ? => somehow graph module needs to get it’s vertices and edges? How can I export them into text file, preferably from command line, programatically? - second: wondering if would community be kind to accept extension to logseq semantics, to be able to express predicate beyond default
logseq:relationship
? I dont know what would be best design choice of it (on page [[Alice]]##likes#Apple
,#likes=>Apple
#[[likes][Apple]]
or something else?), but some way to “color edges” , both, for mentioned earlier export (what would make it trivial to convert into RDF triples ), and potential future “edge filtering” in graph view - as currently we can filter by nodes, while I see a lot of value in potentially filtering by edges. - another brainstorming idea - maybe fetching properties from text block would be helpful in coloring graph?
RDF: Resource Description Framework - Wikipedia
(bot requested me to edit this content)