**ANNOUNCEMENT** SEN + Personal Knowledge Graphs Book featuring Haiku

(had some tough and exhausting weeks, but now I’m free to work on SEN again, so expect more regular updates now…)

@sgzfer thanks and yes. that would be another of the many use cases, you can model anything as a file and (set of) relations, and SEN will allow to navigate it via API and in Tracker.SEN, which uses that API.

Currently, I focus on the core and API, but when stable, it will be quite independent of use cases which can be realised by supplying “ontologies” with file types and relation types, and possibly scripts that extract data from files or fetch from online services.

For example, I’ve whipped up a simple Python script that uses an ISBN lookup library, so I can grab metadata for my books. The script then creates a “Book” file and writes the metadata to predefined custom attributes.
Similar use cases can be simply realised for movie metadata (possibly using the free letterboxd portal), or even grab product metadata from your Amazon orders and create a local inventory ready for linking, searching and other knowledge work.

I will work on a more detailed documentation soon, when I have SEN in a state where it is stable enough to document it:)

5 Likes

I have already thought about localisation, but for now I focus on English.

SEN will support aliases for attributes, also to cover compatible entities and relations, and labels in different languages would probably be done like in the semantic web domain, i.e. with language code tag and “@” separator, e.g. attribute label -> "Beziehung"@de, see RDF1.1 language tagged strings.

Attribute names themselves would not be translated in a special way, here I wait for a general solution in Haiku, because there is nothing special about attributes as used in SEN.
These attribute names would hence act as normative names that are left untouched by localisation.
If there is a way to translate the display names for use in e.g. Tracker later, I’ll be happy to adopt it.

2 Likes

Hi!
Have you made any progress on this interesting idea?

sorry for the late reply and thanks so much for your interest!
Yes it’s alive and kicking, just had some near-burnout which took me some time and energy to get back into some kind of productive mental state, but here I am again:)

I’ve started a project blog on substack where you can find more background info (new post coming soon) and get up to date progress reports as notes or full posts. This blog is also an easy way to support the project with a minor contribution…

I had the excellent opportunity to present SEN (and Haiku!) at the first conference on Personal Knowledge Management in Utrecht in end of March, and it was received quite well, although being a little fringe for the Obsidian folks,-)

I am currently heavy at work with refactoring the prototype to the latest tech design and some revelations I had in the meantime, which makes implementation so much easier and lighter, and better integrated all around, so stay tuned!

Last but not least, here’s the presentation I gave at the summit.

8 Likes

A thing I learned from Dendron: tree structure can be quite effective if you have tools to browse and edit it.

It has the following nice things:

  • Fast note lookup by fuzzy search on its name
  • Relocating notes by path replacement
  • Flat view: seeing all files that are reachable from the root (Dendron achieves this by using names instead of file paths)

One could argue that all these features are actually features a file manager should have.

1 Like

I have some ideas and tech designs for Tracker in store to make it more into an information browser and not just a simple folder navigator

This would really utilize the full potential of a datacentric and attributes based system that only Haiku has in this form.

But first things first🤓

1 Like

One more thing, a very annoying one: as far as I know, version control systems do not support extended attributes. It complicates synchronization between different devices.

Your substack article is really good (although you typed NetPositive instead of WebPositive).

1 Like

Do you have a video recording of the presentation?

Or perhaps you could do a voice over your slides so that we know what wr missed.

1 Like

Sadly it was not filmed as it was just a small venue and the big room was occupied by David Allen, the creator of the GTD method :sweat_smile:

I want to do a proper video introduction when I’ve finished this important phase of the new core implementation, but I’m happy and flattered by your interest :blush:

1 Like

This has the potential to put Haiku’s file system to the forefront. You may want to look at the proposal here: [GSoC 2024] Improving the Tracker Query Window
There may be some input you can give that will help with your implementation.

3 Likes

Exactly, this would be a real showcase for Haiku, since its file system is the only one that supports indexed custom attributes and treats them consistently and in a user-facing way.

Thanks for the link, I am aware of this project, but it’s not really in scope at this point, I’d rather wait how it turns out. For now, I can search just fine with SEN, because it perfectly integrates with the existing type and attribute system :slight_smile:

Today I finally got the core working, meaning relations in attributes with properties. Not so easy as it sounds… it’s already embedded into the full tech design for the SEN infrastructure.
More on this later.

6 Likes

This is awesome news!

1 Like

Using graph database paradigm, like Neo4j, in SEN and leveraging bfs…interesting development! Are you thinking about creating transversal framework in the bfs within SEN? I can see how an object in bfs can be a node . The bfs attributes are nodal properties…but how about maintaining egdes in bfs? Just curious…

1 Like

Sounds great, how and when can we try this?

1 Like

couldn’t have summed it up better, @ArDrakho , that’s a good way to look at it.

It’s really a semantic extension to the filesystem providing a simple yet effective infrastructure for linking nodes, including properties, that can be used not only for descriptive purposes, but also for navigation and other purposes, integrating with apps using deep links.

The use cases are vast and varied, but I always wanted to use BeOS and later Haiku for knowledge work, and since the PKM (Personal Knowledge Management) ecosystem is finally gaining serious traction, it’s the right time to dive in, and could be a nice tractor for Haiku, since it’s the system best suited for such a thing.

@ubu for now I ask for some more patience as I iron out the last kinks and then finally putting things together and bringing Tracker integration up to date for a nice UI. In the meantime, you can subscribe to the project substack for the latest info and even support the project by selecting a paid subscription :smirk:
You can find it at https://senlabs.substack.com/ and I’ll add more articles soon, after the coding marathon is finished…

2 Likes

Neo4j would be a good database technology candidate for Haiku (if it can be migrated easily).

Already forgot that neo4j was open source, only remembered the vastly expensive enterprise version…
However, this is not really the topic here, although it would be a nice exercise (though it depends on Java and I don’t really see a point in the endeavour).
Anyway, probably a better candidate would be dgraph, as it is written in Go which is much closer to native code and easier to port than a full blown Java application…

SEN on the other hand is all about using native and unique capabilities of Haiku to the max and showing off the core features that no other OS offers to this extent.
I want to integrate semantic capabilities in a very unobtrusive and intuitive way, adding just what is needed to fulfill my vision for an entity-first connected desktop environment.

For this, SEN is using native file types and attributes, extending Tracker and integrating with native applications.
So for SEN, the filesystem is the graph, and there is no need for a separate database (with all its problems and resource overhead).
I want to provide a slick and native environment that does not blow up Haiku into a server, but is usable in everday work without any noticable performance impact, but with noticable features…

7 Likes

I will have to check it out once you’re ready to publish it and ready for day-to-day usage.

1 Like

Although SEN is not in my sight of using computer, I admire that somebody explores the Haiku unique features in unexpected and creative way. Thank you @grexe for your insight and your work.

I would like to see more such projects.

P.S. The thread about Haiku Scripting also inspires me because something like this is only possible in Haiku.

3 Likes