What are the options for working with duplicate page names?

When dealing with highly structured documents that have explicit sections (ie “Section 1.2”, “Section 3.5.a”, etc), what is the best way to organize things?

Currently, I’m creating each section as its own page (page “Section 1.2”) that I can then link-to or embed throughout as needed. This makes updates VERY easy since I only have to track down one single “source” to make edits.

My question, though, is once I need to create another “Section 1.2” page pertaining to another document, what are the tools we have available in Logseq to differentiate them from one another?

Just namespace hierarchies? (ie “Document A/Section 1.2”, “Document B/Section 1.2”)

Curious to hear how others have dealt with similar issues :slight_smile:

Besides the namespaces you already discovered I’d probably give every of your components a unique descriptive alias. I‘m using this a lot for pages in namespaced hierarchies. Makes linking much easier.

Okay, thanks for the heads-up @brsma , I will read up on aliases!

Is it entirely possible, also, that my “problem” could be resolved from learning more about the query structure/syntax?

For example, rather than pulling up “all” of, say, page “Section 1.2” (which has since been tied to numerous documents), would a custom query allow me to pull up ONLY those parts of “Section 1.2” that are tied to, say, “Client ABC”? Perhaps if I structure the page’s content differently? (Right now it’s just a parent level block)

Because the situation I’m running into with relying on namespaces is

  • they become long
    • Client ABC/Agreement X/dtd YYYYMMDD/Section 3.4
    • Client DEF/Agreement Y/dtd YYYYMMDD/Section 3.4
  • are fairly rigid and hard to edit later down the line if needed

If I’m reading you correctly, an alias could be used to identify THIS portion of the “master” page “Section 3.4” applies to THIS agreement, THAT portion of page “Section 3.4” applies to THAT agreement. And with that, kind of back away from overly granular namespaces. (Am I understanding that incorrectly?)

Or perhaps I could use tags throughout different blocks as a means of identifying and pulling out relevant portions?

Because “locking” things into strict namespaces feel wrong… Like it’s going against the fluidity and ease that a tool like Logseq seeks to provide.

I still have a lot to learn about Logseq, reading through threads like this one, which I can see also mentions the use of aliases: