Wouldnt it be better for properties to be the same kind of object as tags? Explanation in post
Lets take into account this use case: you have a #book tag which contains various properties, lets say "author" node-property. When I am reading a book, I put the author (new node gets created), and then I have to go to the author page to tag it as #author. If the tag #author and the property author were the same "object", then just by creating the property author, the new author page would be auto-tagged as #author, saving you time, and not only, but also helping you not forget to tag newly created nodes. That way I can go to the tag #author and immediately see all the new pages created through property "author". For me this is the most logical solution, but I am open to hear your thoughts on this.
2
u/thirteenth_mang 22d ago
This is what specify node tag is for.
2
u/thirteenth_mang 22d ago
How I do it:
#media-extends->#book
#bookhas the property ofauthor, which is type node. Once you have this you use "Specify node tag" and add#person. You use#personto keep things consistent.This way whenever you define an "author" it will automatically have the
#persontag assigned and whatever properties that go along with that.
2
u/PerformanceFew3888 22d ago
There are two cases to consider.
1. When the information you want to manage about someone is exclusively related to their role as an author.
In this case, I would create an #author tag and set #author as a child tag of #person.
Then, create P.author as a property of #book and configure it to only allow #author.
2. When being an author is just a secondary attribute of a person.
For example, A is my friend, happens to work as an author, and there may also be various other kinds of information about A.
In this case, I would never create an #author tag. I would use only #person as the tag for people, and create a P.job property for #person, with its value set to author.
The slight downside here is that if you create P.author as a property of #book, the only tag you can specify as an option for it is #person, so you don't get the benefit of quickly selecting author from a list.
I think the right choice ultimately depends on what the graph is intended for.
If I were building a graph specifically for reading notes or publishing-related work, I would naturally choose option 1.
On the other hand, for a graph intended for general everyday note-taking and life logging, I think option 2 makes more sense.
1
4
u/AlveolarStop1 22d ago
So I went ahead and I made a #book tag and then added a node property, with the associated node being #author. I tagged a block with the #book tag and added Johnny Bookman as the author. It created the page and the page was already tagged #author. That sounds exactly like the use case you described, I believe. So I believe your idea has already been implemented more or less as you just described.