Skip to main content

Knowledge Graph — 25 Classes (Uni-President)

Published 2026-05-14Updated 2026-06-303 min read
GroupClasses
Customer / MemberCustomer · OPENPOINTMembership · Household · Persona · Segment
ProductProduct · Category · Brand · BU (Uni-President Food / 7ELE / Carrefour / Starbucks / Donut / KFC) · OwnSKU (own-manufactured)
Transaction / BehaviorCVSTransaction (7-Eleven) · HypermarketTransaction (Carrefour) · CafeTransaction (Starbucks/Donut/KFC) · CartEvent · ReviewRating
Channel / CampaignStore · Campaign · Promotion · Touchpoint · Coupon
Operations / ExternalColdChainSLA · BUTransfer (cross-BU member-migration log) · WeatherSignal · EconomicSignal · CompetitorSignal · Compliance

Uni-President-Specific Classes

OPENPOINTMembership

Attributes
member_id · grade · joined_at · cross-BU usage count

OwnSKU (Own-Manufactured)

Attributes
sku · manufacturing BU · shipment channels (7ELE / Carrefour / external) · cold-chain flag

BUTransfer (Cross-BU Behavior)

Attributes
transfer_id · member_id · from_BU · to_BU · within_days · category

ColdChainSLA

Attributes
shipment_id · sku · origin BU · destination store · target_temp · actual_temp · breach

Key Relationships (Cross-BU Emphasized)

Estimated edges ~900K (5 BUs × transactions × OPENPOINT × cold-chain logs).

openCypher Examples

S9-U: Cross-BU OPENPOINT Member Journey

MATCH (c:Customer)-[:HAS_OPENPOINT]->(:OPENPOINTMembership)
MATCH (c)-[:MADE]->(t1:CVSTransaction)
MATCH (c)-[:MADE]->(t2:HypermarketTransaction)
MATCH (c)-[:MADE]->(t3:CafeTransaction)
WHERE date(t1.paid_at) = date(t2.paid_at) - duration('P1D')
AND date(t2.paid_at) = date(t3.paid_at) - duration('P1D')
RETURN c.customer_id, count(*) AS cross_bu_days
ORDER BY cross_bu_days DESC LIMIT 100

S10-U: Uni-President Mai-Hsiang (麥香) Beverage Sell-Through Comparison

MATCH (s:OwnSKU {brand: '麥香', mfg_bu: '統一食品'})
OPTIONAL MATCH (s)-[:DISTRIBUTED_TO]->(:Store {bu: '7-Eleven'})
<-[:AT_STORE]-(t1:CVSTransaction)-[:CONTAINS]->(s)
OPTIONAL MATCH (s)-[:DISTRIBUTED_TO]->(:Store {bu: 'Carrefour'})
<-[:AT_STORE]-(t2:HypermarketTransaction)-[:CONTAINS]->(s)
RETURN sum(t1.units) AS cvs_units, sum(t2.units) AS hyper_units

S11-U: Cold-Chain SLA Breach (Joined with Outdoor Temperature)

MATCH (sla:ColdChainSLA)
WHERE sla.actual_temp > sla.target_temp + 2.0
MATCH (sla)-[:TO_STORE]->(s:Store)
MATCH (w:WeatherSignal {region: s.region})
WHERE w.date = date(sla.delivered_at)
RETURN s.store_id, sla.sku, w.temp_c AS outside_temp,
sla.actual_temp - sla.target_temp AS breach
ORDER BY breach DESC

Indexes

IndexAnalyzer
idx_productSmartcn
idx_customerSmartcn
idx_reviewSmartcn (Dcard · Xiaohongshu (小紅書) · Yelp Tw)
idx_social_trendSmartcn + Standard