clone of repo on github
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

3.3 KiB

Wiki Tags ('w') vs D-Tags: Conceptual Distinction

In AsciiDoc content, wiki links are created using double-bracket notation:

The concept of [[Knowledge Graphs]] enables semantic relationships...

This syntax automatically generates a 'w' tag during conversion:

["w", "knowledge-graphs", "Knowledge Graphs"]

Search Direction: "Find events ABOUT this specific concept"

["d", "knowledge-graphs"]

Semantics:

  • The d-tag IS the subject/identity of the event
  • Represents an explicit definition or primary topic
  • Forward declaration: "This event defines/is about knowledge-graphs"
  • Search query: "Show me THE event that explicitly defines 'knowledge-graphs'"
  • Expectation: A single canonical definition event per pubkey

Use Case: Locating the authoritative content that defines a concept

Search Direction: "Which events MENTION this keyword?"

["w", "knowledge-graphs", "Knowledge Graphs"]

Semantics:

  • The w-tag REFERENCES a concept within the content
  • Represents an implicit mention or contextual usage
  • Backward reference: "This event mentions/relates to knowledge-graphs"
  • Search query: "Show me ALL events that discuss 'knowledge-graphs' in their text"
  • Expectation: Multiple content events that reference the term

Use Case: Discovering all content that relates to or discusses a concept

Structural Opacity Comparison

D-Tags: Transparent Structure

Event with d-tag "knowledge-graphs"
└── Title: "Knowledge Graphs"
└── Content: [Explicit definition and explanation]
└── Purpose: THIS IS the knowledge-graphs event

W-Tags: Opaque Structure

Event mentioning "knowledge-graphs"
├── Title: "Semantic Web Technologies"
├── Content: "...uses [[Knowledge Graphs]] for..."
└── Purpose: This event DISCUSSES knowledge-graphs (among other things)

Opacity: You retrieve content events that regard the topic without knowing:

  • Whether they define it
  • How central it is to the event
  • What relationship context it appears in

Query Pattern Examples

Finding Definitions (D-Tag Query)

# Find THE definition event for "knowledge-graphs"
nak req -k 30041 --tag d=knowledge-graphs

Result: The specific event with d="knowledge-graphs" (if it exists)

Finding References (W-Tag Query)

# Find ALL events that mention "knowledge-graphs"
nak req -k 30041 --tag w=knowledge-graphs

Result: Any content event containing [[Knowledge Graphs]] wikilinks

Analogy

D-Tag: Like a book's ISBN - uniquely identifies and locates a specific work

W-Tag: Like a book's index entries - shows where a term appears across many works

Implementation Notes

From your codebase (nkbip_converter.py:327-329):

# Extract wiki links and create 'w' tags
wiki_links = extract_wiki_links(content)
for wiki_term in wiki_links:
    tags.append(["w", clean_tag(wiki_term), wiki_term])

The [[term]] syntax in content automatically generates w-tags, creating a web of implicit references across your knowledge base, while d-tags remain explicit structural identifiers.