Ontology, tagging and a perfect world
from linarphy
I always had this project to have THE đȘ perfect tagging system, that will let hierarchical directories and files explode đ„ in their stupidity. The Thing that will allow anyone to search for a study on penguins made less than 2 years ago and published in any open science libraries that I read about between two and one month. The kind of thing everyone dream about.
I first tried to implement a tagging đ· system as my first rust project (which didn't go very far, I admit). It showed me how hard it is to set up metadata, you have to define a grammar đ, that determine what data can have a metadata. Then I tried to document it, defining a set of rule to create such a system. First, by describing two concepts: tag, and relationship.
I quickly realized that you can implement boolean logic here, with set and sub-set. So I had: tags, relationships and operations, at the end. The missing piece was a taxonomy.
Then I tried to model simple system, and failed to determine which grammar would describe the best what is a resource, even what is a location of a resource (because then, you need a protocol, an authority, and at this point, you understand you just need to follow URI format, but you want to go beyond that, so you try to model authority, etc.).
Then I discovered it đ€©. The name of what I was thinking of. It already exists. Made by smart (weird?) people: ontology. Seems hard, but fun (at least for me, at first glance !). I'll try to experiment with that in a (hopefully) near future. I always try too much to go fully abstract/conceptual, which can be a curse. It's seem cool for this at least.
Now the trap to avoid is redefining the wheel, I hope think all these smart people already defined norm to follow. Have to find (and understand !) them now.
The more I go into this rabbit hole đł, the more I feel like it take a long time to get it done right. If I want to tag a document (let's say a scientific paper đ), I have to define what metadata I CAN add to this âtypeâ of document (and then, is âtypeâ a metadata ?).
I have to install protĂ©gĂ© (to edit OWL and/or RDF files) to define a knowledge graph stored in a Neo4j/GraphDB database. Maybe I'll post on this kind of thing in a (hopefully đ ) near future.
At least I know where I am headed now 𫥠!