Expand description
URN (Uniform Resource Name) parsing and handling.
Subcog uses URNs to identify and filter memories. The scheme is:
subcog://{domain}/{namespace}/{memory_id}Where:
domain:project,user,org, or_(wildcard)namespace:decisions,learnings,patterns, etc., or_(wildcard)memory_id: The specific memory ID (optional for filters)
§Examples
use subcog::models::Urn;
// Specific memory lookup
let urn = Urn::parse("subcog://project/patterns/abc123").unwrap();
assert_eq!(urn.memory_id(), Some("abc123"));
// Filter by namespace (any domain)
let urn = Urn::parse("subcog://_/learnings").unwrap();
assert!(urn.domain().is_wildcard());
assert_eq!(urn.namespace_str(), Some("learnings"));
// Filter by domain (any namespace)
let urn = Urn::parse("subcog://project/_").unwrap();
assert_eq!(urn.domain_str(), Some("project"));
assert!(urn.namespace().is_wildcard());Structs§
- Urn
- A parsed Subcog URN.
Enums§
- UrnComponent
- A component of a URN that can be a specific value or a wildcard.