{
  "$schema": "../catalog.model.json",
  "name": "PureGuard Knowledge Graph",
  "version": "1.0.0",
  "description": "Typed relationships between PureGuard knowledge assets, concepts, teams, products, customers and experts. Used for AI agent traversal, related-content recommendations and SEO internal linking.",
  "nodes": [
    {
      "id": "n-pureguard",
      "type": "organization",
      "label": "PureGuard Apparel"
    },
    {
      "id": "n-justin",
      "type": "person",
      "label": "Justin Porter (Owner)"
    },
    {
      "id": "n-team-sales",
      "type": "team",
      "label": "Sales"
    },
    {
      "id": "n-team-branding",
      "type": "team",
      "label": "Branding"
    },
    {
      "id": "n-team-marketing",
      "type": "team",
      "label": "Marketing"
    },
    {
      "id": "n-team-operations",
      "type": "team",
      "label": "Operations"
    },
    {
      "id": "n-team-compliance",
      "type": "team",
      "label": "Compliance"
    },
    {
      "id": "n-concept-food-mfg",
      "type": "concept",
      "label": "Food manufacturing uniforms"
    },
    {
      "id": "n-concept-laundry",
      "type": "concept",
      "label": "Industrial laundry garments"
    },
    {
      "id": "n-concept-branding",
      "type": "concept",
      "label": "Branding techniques"
    },
    {
      "id": "n-concept-pricing",
      "type": "concept",
      "label": "Managed rental vs DIY pricing"
    },
    {
      "id": "n-concept-haccp",
      "type": "concept",
      "label": "HACCP-aware specification"
    },
    {
      "id": "n-concept-compliance",
      "type": "concept",
      "label": "Australian standards compliance"
    },
    {
      "id": "n-product-embroidery",
      "type": "product",
      "label": "Embroidery badges"
    },
    {
      "id": "n-product-woven",
      "type": "product",
      "label": "Printed woven badges"
    },
    {
      "id": "n-product-nametag",
      "type": "product",
      "label": "Name tags"
    },
    {
      "id": "n-customer-food-mfg",
      "type": "customer",
      "label": "Australian food manufacturers"
    },
    {
      "id": "n-customer-corporate",
      "type": "customer",
      "label": "Australian corporate buyers"
    },
    {
      "id": "n-supplier-workcraft",
      "type": "supplier",
      "label": "Workcraft (industrial laundry partner)"
    },
    {
      "id": "n-region-au",
      "type": "region",
      "label": "Australia (wide)"
    },
    {
      "id": "ka-branding-overlocked",
      "type": "product",
      "label": "Woven over-locked"
    }
  ],
  "edges": [
    {
      "from": "n-justin",
      "to": "n-pureguard",
      "type": "owns",
      "weight": 1.0
    },
    {
      "from": "n-pureguard",
      "to": "n-supplier-workcraft",
      "type": "sourced_from",
      "weight": 1.0,
      "evidence": "ka-page-catalogue"
    },
    {
      "from": "n-pureguard",
      "to": "n-region-au",
      "type": "supplies_to",
      "weight": 1.0,
      "evidence": "ka-trust-au-supply"
    },
    {
      "from": "n-customer-food-mfg",
      "to": "n-concept-food-mfg",
      "type": "needs",
      "weight": 0.95
    },
    {
      "from": "n-customer-food-mfg",
      "to": "n-concept-laundry",
      "type": "needs",
      "weight": 0.9
    },
    {
      "from": "n-customer-food-mfg",
      "to": "n-concept-branding",
      "type": "needs",
      "weight": 0.7
    },
    {
      "from": "n-customer-food-mfg",
      "to": "n-concept-haccp",
      "type": "governed_by",
      "weight": 1.0
    },
    {
      "from": "n-customer-food-mfg",
      "to": "n-concept-compliance",
      "type": "governed_by",
      "weight": 1.0
    },
    {
      "from": "n-customer-corporate",
      "to": "n-concept-branding",
      "type": "needs",
      "weight": 0.9
    },
    {
      "from": "n-customer-corporate",
      "to": "n-concept-pricing",
      "type": "needs",
      "weight": 0.7
    },
    {
      "from": "n-concept-branding",
      "to": "n-product-embroidery",
      "type": "offers",
      "weight": 1.0
    },
    {
      "from": "n-concept-branding",
      "to": "n-product-woven",
      "type": "offers",
      "weight": 1.0
    },
    {
      "from": "n-concept-branding",
      "to": "n-product-ironon",
      "type": "offers",
      "weight": 1.0
    },
    {
      "from": "n-concept-branding",
      "to": "n-product-nametag",
      "type": "offers",
      "weight": 1.0
    },
    {
      "from": "n-concept-laundry",
      "to": "n-supplier-workcraft",
      "type": "supplies",
      "weight": 1.0
    },
    {
      "from": "n-concept-pricing",
      "to": "n-policy-pricing",
      "type": "documented_in",
      "evidence": "ka-policy-pricing"
    },
    {
      "from": "n-team-sales",
      "to": "n-concept-pricing",
      "type": "owns",
      "weight": 1.0
    },
    {
      "from": "n-team-branding",
      "to": "n-concept-branding",
      "type": "owns",
      "weight": 1.0
    },
    {
      "from": "n-team-marketing",
      "to": "n-pureguard",
      "type": "owns_branding",
      "weight": 1.0
    },
    {
      "from": "n-team-compliance",
      "to": "n-concept-haccp",
      "type": "owns",
      "weight": 1.0
    },
    {
      "from": "n-team-compliance",
      "to": "n-concept-compliance",
      "type": "owns",
      "weight": 1.0
    },
    {
      "from": "n-team-operations",
      "to": "n-region-au",
      "type": "fulfills_into",
      "weight": 1.0
    },
    {
      "from": "n-concept-haccp",
      "to": "ka-policy-haccp",
      "type": "specified_by",
      "weight": 1.0
    },
    {
      "from": "n-concept-compliance",
      "to": "ka-policy-asnzs",
      "type": "specified_by",
      "weight": 1.0
    },
    {
      "from": "ka-section-branding",
      "to": "ka-branding-overlocked",
      "type": "offers"
    },
    {
      "from": "ka-branding-overlocked",
      "to": "ka-concept-industrial-laundry",
      "type": "supports"
    },
    {
      "from": "ka-branding-overlocked",
      "to": "ka-concept-branding-techniques",
      "type": "is_a"
    }
  ],
  "stats": {
    "node_count": 21,
    "edge_count": 23,
    "edge_type_distribution": {
      "owns": 4,
      "needs": 4,
      "supplies_to": 2,
      "sourced_from": 1,
      "governed_by": 2,
      "offers": 4,
      "supplies": 1,
      "documented_in": 1,
      "owns_branding": 1,
      "fulfills_into": 1,
      "specified_by": 2
    }
  }
}