I'm really liking the idea of piggybacking on the existing extended link 
syntax -- better than the versions I suggested off the top of my head in my 
original post. And thanks for the technical background.

On not wanting to put arbitrary text between the [['s: this seems like 
exactly the same issue that we have with filter operators/fields, so could 
we use the same solution? Have a hard-coded string *?* or *type* or 
something that serves as an unambiguous syntax, and then people can choose 
to use that or not (this would also let them call a relationship, e.g., 
*img*). If they use the implicit form and someone else later comes along 
and overloads it to mean something else, then that's on them to go back and 
add the full format to disambiguate it.

Mark, for more on the use case, also see my post 
<https://groups.google.com/g/tiddlywiki/c/C0CqNyKU1Jc/m/5sFLzH7XAQAJ> that 
Diego mentioned in the OP.

On Thursday, March 11, 2021 at 7:41:42 AM UTC-6 PMario wrote:

> On Thursday, March 11, 2021 at 2:14:38 PM UTC+1 PMario wrote:
>
> title: Jack 
>> [? stepson[Joe]], [? daughter[Jill]] and [? wife[Jane]] 
>>
>
> Some technical background. At the moment TW builds the "backlink" 
> information at "parsing time", when the parse-tree is created. Parsing the 
> tiddler content is a very "heavy weight" function. .. It need quite some 
> CPU cycles. ... That's why this info is cached and only recreated if a 
> tiddler changes. 
>
> If someone uses the eg: backlinks[] 
> <https://tiddlywiki.com/#backlinks%20Operator> operator, the TW core has 
> to touch every tiddler and parse it. Then it internally searches the 
> parse-tree for a pattern like: 
>
> "type": "link",
> "attributes": {
>   "to": {
>       "type": "string", 
>       "value": "Joe" 
>   } 
> }, 
>
> and it stores some info in the indexer. ... Since we have to "run" all 
> this code already, it shouldn't be too much of a hassle to add additional 
> info to the link structure. eg:
>
> "type": "link",
> "attributes": {
>   "to": {
>       "type": "string", 
>       "value": "Joe" 
>   },
>   "relation": {
>       "type": "string", 
>       "value": "stepson" 
>   } 
> }, 
>
> In a second step, this info can be "indexed" and we can create filter 
> operators for it. 
>
> -mario
>
>

-- 
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/84d15d45-afaf-4597-8971-048844a0b517n%40googlegroups.com.

Reply via email to