Cette section introduit comment faire de la modélisation de graph à partir des données tabulaires traditionnelles dans un scénario simplifié de vente au détail, afin d'obtenir des données de graph.
Données Tabulaires
Les trois tables fondamentales dans le commerce de détail sont la table d'Information Client, la table d'Information Commerçant, et la table d'Information Transactionnelle. La table d'Information Transactionnelle enregistre les comportements de transaction des clients envers les commerçants lors de l'achat de marchandises.
- Table d'Information Client, champ CUSTOMER:
Nom du champ | Signification | Exemple |
---|---|---|
cust_no | Numéro du client (Clé Principale) | 100250090 |
cust_name | Nom du client | Zhang San |
risk_level | Niveau de risque évalué (1~10) | 4 |
card_level | Niveau de carte (1~10) | 3 |
balance | Solde de la carte | 10000.11 |
... | ... | ... |
- Table d'Information Commerçant, champ MERCHANT:
Nom du champ | Signification | Exemple |
---|---|---|
merchant_no | Numéro du commerçant (Clé Principale) | RS00JF1DF |
merchant_name | Nom du commerçant | Beijing Science and Technology Co. Ltd |
type | Type de commerçant | IV |
... | ... | ... |
- Table d'Information Transactionnelle, champ TRANSCTION:
Nom du champ | Signification | Exemple |
---|---|---|
cust_no | Numéro du client (Clé Externe) | 100250090 |
merchant_no | Numéro du commerçant (Clé Externe) | RS00JF1DF |
tran_date | Date de transaction (timestamp) | 2022-03-21 22:12:56 |
tran_amount | Montant de la transaction | 123.45 |
tran_type | Type de transaction (1~20) | 13 |
result | Si réussi (Y/N) | Y |
... | ... | ... |
Si l'étendue de la "clé externe" du champ TRANSCTION dépasse l'étendue des "clés principales" de CUSTOMER ou MERCHANT, les données de transaction peuvent être considérées comme invalides lors de l'entrée dans un graph ; ou créer les clients et les commerçants que la "clé externe" représente avant de considérer les données de transaction où se trouve la clé externe comme valides. Veuillez noter comment Manager et Transporter traitent cette opération différemment.
Données de Graph
La modélisation de Graph est le processus de transformation des données tabulaires en données de graph. L'approche de modélisation la plus simple consiste à diviser les données tabulaires en deux catégories : Table d'Entité et Table de Relation, prenant chaque Table d'Entité comme un node schema dans un graph, chaque Table de Relation comme un edge schema dans un graph, et chaque champ comme une propriété de schema.
Il est souvent facile d'identifier une table d'entité, comme CUSTOMER à partir de la table d'information client et MERCHANT à partir de la table d'information commerçant ci-dessus. Ils représentent les deux entités dans un scénario de vente au détail : les clients et les commerçants.
L'identification d'une table de relation dépend des entités, car la table de relation représente des relations entre plusieurs tables d'entités. Par conséquent, une table de relation doit avoir au moins deux clés externes qui représentent des tables d'entités. Les deux clés externes de la table d'information transactionnelle sont les clés principales cust_no
de la table d'information client et merchant_no
de la table d'information commerçant, elle peut donc être considérée comme une table de relation.
Pour répondre aux besoins des scénarios d'affaires du monde réel, les tables de relation peuvent également être saisies en tant que tables d'entité. Les critères incluent mais ne sont pas limités à l'extensibilité du modèle de graph, la complexité de l'UQL utilisé pour l'expression commerciale, et l'efficacité opérationnelle, etc.
La table d'information client et la table d'information commerçant sont saisies en tant que node schema customer
et merchant
, et la table d'information transactionnelle en tant que edge schema transfer
. Veuillez noter que le edge schema ne réutilise pas le nom de la table d'information transactionnelle mais utilise un verbe ; c'est parce que les edges dans Ultipa Graph sont des edges directionnels, ce qui signifie qu'un edge commence toujours par un node de départ vers un node terminal, donc le verbe du edge représente une action à partir du node de départ et la direction du edge peut être mieux comprise sémantiquement.
Propriétés des schema customer
, merchant
, et transfer
:
- Node schema
customer
Nom de la Propriété | Type de Donnée | Type de Propriété |
---|---|---|
_id | string | System property |
cust_name | string | Custom property |
risk_level | int32 | Custom property |
card_level | int32 | Custom property |
balance | float | Custom property |
... | ... | ... |
La propriété système _id
est l'identifiant unique de node dans un graphset (ne relevant d'aucun schema), et c'est la clé principale cust_no
dans la précédente table d'information client, sa plus grande longueur de type de donnée String est 128 : la plus grande longueur du type de donnée String pour d'autres propriétés personnalisées est 65535. Ultipa supporte à la fois float et double, avec des nombres d'octets et des granularités de stockage différents ; l'utilisateur peut décider lequel utiliser selon ses besoins.
- Node schema
merchant
Nom de la Propriété | Type de Donnée | Type de Propriété |
---|---|---|
_id | string | System property |
merchant_name | string | Custom property |
type | string | Custom property |
... | ... | ... |
La propriété système ici _id
est la clé principale pour la table de commerçant précédente merchant_no
。
- Edge schema
transfer
Nom de la Propriété | Type de Donnée | Type de Propriété |
---|---|---|
_from | string | System property |
_to | string | System property |
tran_date | timestamp | Custom property |
tran_amount | float | Custom property |
tran_type | int32 | Custom property |
result | string | Custom property |
... | ... | ... |
La propriété système _from
est le node de départ de l'edge _id
, qui est une des clés externes ici : cust_no
; _to
est le node terminal de l'edge _id
, qui est une autre clé externe : merchant_no
. La valeur des deux propriétés est obligatoire pour l'entrée dans le graph.
Convention de nommage pour schema et propriété : 2~64 caractères, commençant par une lettre, composé de lettres, de chiffres, et de sous-tirets.
Pour répondre aux besoins des scénarios d'affaires du monde réel, certains champs peuvent être définis en tant que schema également, les critères de jugement incluent mais ne se limitent pas à l'extensibilité du modèle de graph, la complexité de l'UQL utilisé pour l'expression commerciale, et l'efficacité opérationnelle, etc., similaire au traitement de "Saisie de Table de Relation en tant que Table d'Entité".