Felicia Thank you for your detailed reply. I will study it in the morning and make sure I follow what you are saying.
BobJ --------------- Dr Bob Jansen The Cultural Conversations project Turtle Lane Studios Pty Ltd trading as the Australian Centre for Oral History 122 Cameron St, Rockdale NSW 2216, Australia Ph (Korea): +82 10-4494-0328 Ph (Australia) +61 414 297 448 Resume: http://au.linkedin.com/in/bobjan Skype: bobjtls KakaoTalk: bobjtls http://www.cultconv.com In line with the Australian anti-spam legislation, if you wish to receive no further email from me, please send me an email with the subject "No Spam" > On 14 Sep 2020, at 22:39, Felicia Crow <[email protected]> wrote: > > Hi, > so to extend Jed's solution I assume three things: Each tiddler for a person > has a buyer-id field, each tiddler for an artwork has an artwork-id field and > each person tiddler has an bought-artwork field that contains a space > separated list of artwork-ids. If the artwork ids don't contain spaces > themselves it is enough to just write the id otherwise you have to wrap the > id in double square brackets like a link. Basically looking like what Jed had > in his answer for the artwork names, but with your ids instead. > > To show what artworks a person has bought you would use this triple list - > probably preferably in a macro with the buyer-id being a macro parameter - to > set the buyer-id, get the list of bought artwork and list out the artwork > titles: > <$list filter="[!has[draft.of]field:buyer-id[specific_id_here]]"> > <$list filter="[list[!!bought-artwork]sort[title]]" variable="artwork-id"> > <$list filter="[!has[draft.of]field:artwork-id<artwork-id>]"> > <<currentTiddler>> > </$list> > </$list> > </$list> > > The outer most list just sets the currentTiddler to that of the person having > this specific id as the list operator only works with either fixed references > or the currentTiddler. > The next list takes the content of the bought-artwork field and turns it into > an actual list of (pseudo) tiddlers. While the field passed to sort is title > due to how things work, it actually essentially sorts by id. Setting the > result to a variable in this step isn't essential, but may helps to make the > readabilty of the next filter better. > The inner most list finally takes each id one after the other and looks for a > tiddler that has a field artwork-id with the same value as the artwork-id it > currently processes. If it finds such a tiddler it displays it. > > In the other direction you would have this far smaller one list - once again > could be put in a macro, just this time with the art-id being a parameter: > <$list > filter="[!has[draft.of]has[buyer-id]contains:bought-artwork[specific_id_here]]"> > <<currentTiddler>> > </$list> > > The filter here gets every tiddler that has a field buyer-id and then looks > up for every one of them if the bought-artwork field contains the artwork-id. > > Hope this helps! > > Kind Regards, > Felicia > > >> On Monday, 14 September 2020 13:32:07 UTC+2, Bob Jansen wrote: >> Jed >> >> Thanks for your email >> >> I can’t use titles as they can not be guaranteed to be unique. That’s why >> every tiddler has a unique id. >> >> I was thinking about a filed in the name riddler with the ids of the >> artworks but then how to display the titles? >> >> Bobj >> >> Dr. Bob Jansen >> 122 Cameron St, Rockdale NSW 2216, Australia >> Ph: +61 414 297 448 >> Skype: bobjtls >> >> >>> On 14 Sep 2020, at 21:15, Jed Carty <[email protected]> wrote: >>> >>> Do these relations need to be bi-directional? That makes things difficult >>> enough that I made a plugin for it >>> https://ooktech-tw.gitlab.io/plugins/relations/ >>> >>> if it only needs to go person -> artwork the easiest way is to use a list >>> field in the persons tiddler that lists each artwork associated with them. >>> >>> So in the tiddler for Person A you create a field called list >>> In the field you put in the title for each artwork to associate with the >>> person, it would look something like this: >>> >>> [[La Joconde]] Sphinx [[Elvis on Black Velvet]] >>> >>> then to list the artwork associated with a person in the tiddler for that >>> person you could use >>> >>> <$list filter='[list[]]'> >>> >>> >>> </$list> >>> >>> >>> or to list the artwork associated with Person A in any tiddler you would use >>> >>> <$list filter='[list[Person A]]'> >>> >>> >>> </$list> >>> >>> there are other methods, using a data tiddler could also be a good choice >>> but that may require more work to set up. >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "TiddlyWiki" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/tiddlywiki/6I60ywWH5Fo/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/tiddlywiki/94bf5445-6dfe-447b-864c-ac220aab8437o%40googlegroups.com. > > -- > You received this message because you are subscribed to a topic in the Google > Groups "TiddlyWiki" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/tiddlywiki/6I60ywWH5Fo/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/tiddlywiki/2da4b35d-c3ed-478d-8149-1fa7960d7bf6o%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/52305C45-9B3B-4CDD-A2C4-AA68CC6ED3C4%40gmail.com.

