Files
ax/cmd/rel.go

27 lines
815 B
Go
Raw Normal View History

2026-03-29 18:58:34 +02:00
package cmd
import (
"axolotl/models"
"axolotl/service"
2026-03-29 18:58:34 +02:00
"strings"
)
// parseRelInput parses a rel string into a RelInput.
//
// Formats:
// - "prefix::value" → property rel with no target (tag)
// - "relname:target" → edge rel with a target node
// - "tagname" → simple label rel with no target (alias for --tag)
func parseRelInput(s string) (service.RelInput, error) {
if strings.Contains(s, "::") {
// Property: name::value — no target node.
return service.RelInput{Type: models.RelType(s), Target: ""}, nil
2026-03-29 18:58:34 +02:00
}
if idx := strings.Index(s, ":"); idx >= 0 {
// Edge rel: relname:target.
return service.RelInput{Type: models.RelType(s[:idx]), Target: s[idx+1:]}, nil
}
// Simple label tag — no target node.
return service.RelInput{Type: models.RelType(s), Target: ""}, nil
2026-03-29 18:58:34 +02:00
}