Nested Relation / Treat Relations as any other objects / Sub-Relations

Is your feature request related to a problem? Please describe.
There are certain things that are not cleanly achievable with the current relations implementation. i.e, One cannot have a qualifier for numbers. Say there is a relation called as distance traveled, one has to remember the unit for the data or to use the unit name in the relations name. Another example is the lack of currency qualifier. There are ways to achieve it, one could create a new type called currency that takes two values, one is the number and another is the currency type. However, this can then only be used in an object type relation and not in a number typed relation. This is just for the number relation, there are several other such qualifiers that can be added to relations which cannot be cleanly achieved without hacking around

Describe the solution you’d like
Ideally, a relation should be treated like any other objects. i.e, a relation can take a sub-relation which can then be used to qualify it. The different fields and qualifiers of the relation should also be accessible once formulas are implemented. Say a relation called currency is used. It should have the data as well as the qualifier named symbol. So when formulas are implemented, it would be great to have them be accessible through a syntax such as currency.data and currency.symbol. This should also enable one to add tags to relations to mark them as important or such.


If and when this gets implemented, it should also allow the users to define how the relation would be displayed in a page, basically giving few options such as, display the data + all qualifiers, display data + select qualifiers, data only, etc. So for the currency example, the user should be able to display it as 20$

Additional context
This along with the inline relations, formulas and sub-types features would make Anytype truly extendable and flexible to be able to adapt to anyone’s needs. I’m posting this as a discussion now and if more members feel this is useful, I’ll then convert it to a feature request. I’d like to know others opinion on this before raising it :smile:


@Freddy comment, @Sharky request and @qualquertipo discussion got me thinking about this, so thank you guys :smile:

3 Likes

I agree with you. But I think it’s a challenging problem and a “model” for how to make this accessible and usable for people needs to be thought of. I already think the existing open-ended, flexible “relations” approach is too open ended and not well-defined enough. I am very much in favor of having more flexibility, but it’s a tough thing to figure out how exactly it should work. Obviously that is in good part the job of the developers, but if we can at least do some brainstorming of our own on it I think it will be helpful. I will think about it and see if I can propose any specific possibilities. But I do think this should reasonably be turned into a feature request, even as broadly described as it is.