I have a namespace with pages Parent and Parent/Child. Parent has alias P, Parent/Child has alias C. A big limitation of namespaces is that I cannot reference Parent/Child as [[C]] and have it show in the linked references of Parent, so I am trying to use page properties to fix that.
For that, I create two separate pages Parent and Child and I am going to put type:: commontype on top of both pages. Now I would like to write something like:
- some block [[Child]]
- some other block [[C]]
- some block [[Parent]]
- some block [[P]]
and do an advanced query that outputs all blocks that have references (by name or alias) to any page with page tag type:: commontype, so that it outputs all references to both Parent or Child (all of the above), as the linked references of a namespace would.
How can I do this?
Thank you, that works!
I have two further questions:
- What if I want to exclude the blocks at the top of the children pages that have
type:: commontype from the query results (since these only serve to tag the page and don’t have any important info)?
- I would like to have a result similar to what
{{namespace Parent}} would give me. To simplify, let’s say I just want to have list of the children pages of parent (i.e., all the pages with type:: commontype except page Parent), and I would like to just have clickable links to the children without a table or additional info. If Parent is aliased with P I can do the following query:
#+BEGIN_QUERY
{
:query [:find (pull ?p [*])
:where
[page-property ?p :type "commontype"]
(not [page-property ?p :alias "P"])]
}
#+END_QUERY
However, this gives me the results in table form and at least a “Page” column. Wouldn’t it be possible to have a result similar to what {{namespace Parent}} prints?