Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo fornece uma análise da estrutura de definição para itens do Modelo de Grafos.
Peças de definição
Esta tabela lista as partes de definição do Modelo de Grafo.
| Caminho da parte de definição | tipo | Obrigatório | Description |
|---|---|---|---|
dataSources |
Fonte de dados[] | true | O conjunto de fontes de dados |
graphDefinition |
GraphDefinition | true | A definição do grafo de mapeamento de dados |
graphType |
GraphType | true | A estrutura do grafo |
stylingConfiguration |
Configuração de Estilo | true | A configuração de estilo do grafo |
Fonte de dados
Descreve a estrutura da fonte de dados.
| Nome | Tipo | Description |
|---|---|---|
| nome | Cordão | O nome da fonte de dados |
| tipo | "DeltaTable" | O tipo de fonte de dados |
| propriedades | DataSourceProperties | As propriedades da fonte de dados |
DataSourceProperties
As propriedades exigidas pelo tipo de fonte de dados. Para fontes DeltaTable, isto inclui o caminho da tabela.
| Nome | Tipo | Description |
|---|---|---|
| caminho | Cordão | O caminho até à fonte de dados |
GraphDefinition
Descreve a definição do grafo de mapeamento de dados.
| Nome | Tipo | Description |
|---|---|---|
| NodeTables | NodeTable[] | O array de definições de mapeamento de dados de nós |
| EdgeTables | EdgeTable[] | O array de definições de mapeamento de dados de arestas |
NodeTable
Descreve a estrutura da definição de mapeamento de dados de nós.
| Nome | Tipo | Description |
|---|---|---|
| id | Cordão | ID da definição de mapeamento de dados de nós |
| NodeTypeAlias | Cordão | Alias do nó conforme definido no gráfico |
| dataSourceName | Cordão | O nome da fonte de dados |
| PropertyMapas | Mapeamento de Propriedades[] | O array de definições de mapeamento de dados de propriedades |
EdgeTable
Descreve a estrutura da definição de mapeamento de dados de aresta.
| Nome | Tipo | Description |
|---|---|---|
| id | Cordão | ID da definição de mapeamento de dados de aresta |
| edgeTypeAlias | Cordão | Alias da aresta conforme definido no gráfico |
| dataSourceName | Cordão | O nome da fonte de dados |
| sourceNodeKeyColumns | Cadeia[] | O array de colunas que mapeiam para o nó de origem |
| ChaveColunasTargetNodeChave | Cadeia[] | O array de colunas que corresponde ao nó alvo |
| PropertyMapas | Mapeamento de Propriedades[] | O array de definições de mapeamento de dados de propriedades |
Mapeamento de propriedades
Descreve a estrutura da definição de mapeamento de dados de propriedades.
| Nome | Tipo | Description |
|---|---|---|
| propertyName | Cordão | O nome da propriedade |
| fonteColuna | Cordão | O nome da coluna fonte |
| filtro | SingleFilter / GroupFilter | A definição do filtro |
SingleFilter
Descreve a estrutura de um único filtro.
| Nome | Tipo | Description |
|---|---|---|
| operador | Cordão | O nome do operador do filtro |
| columnName | Cordão | O nome da coluna para este filtro |
| valor | Objeto | O valor de comparação. Suporta string, number, dateTime e arrays destes valores. |
GroupFilter
Descreve a estrutura de um filtro de grupo.
| Nome | Tipo | Description |
|---|---|---|
| operador | Cordão | O nome do operador do filtro |
| filters | SingleFilter[] / GroupFilter[] | Os filtros deste grupo filtram |
| e ainda | SingleFilter[] / GroupFilter[] | Os filtros para o AND lógico |
| ou | SingleFilter[] / GroupFilter[] | Os filtros para OR lógico |
GraphType
Descreve a estrutura de um grafo.
| Nome | Tipo | Description |
|---|---|---|
| nodeTypes | NodeType[] | O array das estruturas de nós |
| EdgeTypes | EdgeType[] | O array das estruturas de arestas |
NodeType
Descreve a estrutura de um nó.
| Nome | Tipo | Description |
|---|---|---|
| alias | Cordão | O pseudónimo |
| labels | Cadeia[] | O conjunto de rótulos |
| PrimáriaKeyProperties | Cadeia[] | O array das propriedades da chave primária |
| propriedades | Propriedade[] | O array de propriedades |
EdgeType
Descreve a estrutura de uma aresta.
| Nome | Tipo | Description |
|---|---|---|
| alias | Cordão | O pseudónimo |
| labels | Cadeia[] | O conjunto de rótulos |
| sourceNodeType | NodeTypeReference | A estrutura do nó de origem |
| destinationNodeType | NodeTypeReference | A estrutura do nó de destino |
| propriedades | Propriedade[] | O array de propriedades |
Propriedade
Descreve a estrutura de uma propriedade.
| Nome | Tipo | Description |
|---|---|---|
| nome | Cordão | O nome da propriedade |
| tipo | Cordão | O tipo da propriedade |
NodeTypeReference
Descreve a estrutura de um NodeTypeReference.
| Nome | Tipo | Description |
|---|---|---|
| alias | Cordão | O pseudónimo do nó referenciado |
Configuração de Estilo
Descreve a estrutura da configuração de estilo.
| Nome | Tipo | Description |
|---|---|---|
| modelLayout | ModelLayout | A configuração de estilo e layout para o modelo de grafo |
ModelLayout
Descreve a configuração dos estilos de modelo.
| Nome | Tipo | Description |
|---|---|---|
| posições | Cadeia do dicionário<, Posição> | As posições dos nós |
| estilos | Cadeia de dicionário<, ModelStyle> | Os estilos do modelo de grafo |
| deslocamento | Posição | A panela de tela do modelo |
| zoomLevel | Número inteiro | O nível de zoom da tela do modelo |
Posição
Descreve uma posição 2D.
| Nome | Tipo | Description |
|---|---|---|
| x | Número inteiro | O valor das coordenadas x |
| y | Número inteiro | O valor da coordenada y |
ModelStyle
Descreve o estilo de um elemento modelo.
| Nome | Tipo | Description |
|---|---|---|
| size | Número inteiro | O tamanho de um elemento modelo |
Exemplo de Fontes de Dados
{
"dataSources": [
{
"name": "Customer_Table",
"type": "DeltaTable",
"properties": {
"path": "abfss://9e4b0e5d-3952-44df-9ac8-2503775e0425@onelake.dfs.fabric.microsoft.com/f66b6219-28a5-4738-8b37-0c486c661b15/Tables/Customers"
}
},
{
"name": "Employee_Table",
"type": "DeltaTable",
"properties": {
"path": "abfss://9e4b0e5d-3952-44df-9ac8-2503775e0425@onelake.dfs.fabric.microsoft.com/f66b6219-28a5-4738-8b37-0c486c661b15/Tables/Employees"
}
},
{
"name": "Order_Table",
"type": "DeltaTable",
"properties": {
"path": "abfss://9e4b0e5d-3952-44df-9ac8-2503775e0425@onelake.dfs.fabric.microsoft.com/f66b6219-28a5-4738-8b37-0c486c661b15/Tables/PurchaseOrders"
}
},
{
"name": "Product_Table",
"type": "DeltaTable",
"properties": {
"path": "abfss://9e4b0e5d-3952-44df-9ac8-2503775e0425@onelake.dfs.fabric.microsoft.com/f66b6219-28a5-4738-8b37-0c486c661b15/Tables/Products"
}
}
]
}
Exemplo de definição de grafo
{
"schemaVersion": "1.0.0",
"nodeTables": [
{
"id": "Customer_5b6cb156-c778-4fce-8606-f0f712c04818",
"nodeTypeAlias": "Customer_nodeType",
"dataSourceName": "Customer_Table",
"propertyMappings": [
{
"propertyName": "CustomerId",
"sourceColumn": "Customer_Id"
},
{
"propertyName": "FirstName",
"sourceColumn": "First_name"
},
{
"propertyName": "LastName",
"sourceColumn": "Last_name"
},
{
"propertyName": "Email",
"sourceColumn": "Email"
}
],
"filter": {
"and": [
{
"operator": "Contains",
"columnName": "First_name",
"value": "USA"
},
{
"operator": "Contains",
"columnName": "Last_name",
"value": "A"
}
]
}
},
{
"id": "Employee_f0f712c04818",
"nodeTypeAlias": "Employee_nodeType",
"dataSourceName": "Employee_Table",
"propertyMappings": [
{
"propertyName": "EmployeeId",
"sourceColumn": "Employee_Id"
},
{
"propertyName": "FirstName",
"sourceColumn": "First_Name"
},
{
"propertyName": "LastName",
"sourceColumn": "Last_Name"
},
{
"propertyName": "Role",
"sourceColumn": "Role"
}
],
"filter": {
"operator": "AND",
"filters": [
{
"operator": "Contains",
"columnName": "First_name",
"value": "USA"
},
{
"operator": "Contains",
"columnName": "Last_name",
"value": "A"
}
]
}
},
{
"id": "EmployeeCustomer_5b6cb156",
"nodeTypeAlias": "EmployeeCustomer_nodeType",
"dataSourceName": "Employee_Table",
"propertyMappings": [
{
"propertyName": "EmployeeId",
"sourceColumn": "Employee_Id"
},
{
"propertyName": "FirstName",
"sourceColumn": "First_Name"
},
{
"propertyName": "LastName",
"sourceColumn": "Last_Name"
},
{
"propertyName": "Role",
"sourceColumn": "Role"
},
{
"propertyName": "Email",
"sourceColumn": "Email"
}
],
"filter": {
"operator": "Equal",
"columnName": "Role",
"value": "Manager"
}
},
{
"id": "Product_5b6cb156-c778-4fce-8606-f0f712c04818",
"nodeTypeAlias": "Product_nodeType",
"dataSourceName": "Product_Table",
"propertyMappings": [
{
"propertyName": "CategoryId",
"sourceColumn": "Category_Id"
},
{
"propertyName": "ProductId",
"sourceColumn": "Product_Id"
},
{
"propertyName": "Name",
"sourceColumn": "Name"
},
{
"propertyName": "Price",
"sourceColumn": "Price"
},
{
"propertyName": "Cost",
"sourceColumn": "Cost"
}
],
"filter": {
"operator": "AND",
"filters": [
{
"operator": "GreaterThan",
"columnName": "Price",
"value": 100
},
{
"operator": "In",
"columnName": "CategoryId",
"value": ["Electronics", "Clothing", "Books"]
}
]
}
}
],
"edgeTables": [
{
"id": "CustomerPurchase_976cceac",
"edgeTypeAlias": "CustomerPurchase_edgeType",
"dataSourceName": "Order_Table",
"sourceNodeKeyColumns": ["Customer_Id_FK"],
"destinationNodeKeyColumns": ["Category_Id_FK", "Product_Id_FK"],
"propertyMappings": [
{
"propertyName": "Quantity",
"sourceColumn": "unit_price"
},
{
"propertyName": "Date",
"sourceColumn": "Date"
}
],
"filter": {
"and": [
{
"operator": "Contains",
"columnName": "Customer_Id_FK",
"value": "USA"
},
{
"operator": "Contains",
"columnName": "Customer_Id_FK",
"value": "A"
}
]
}
},
{
"id": "EmployeePurchase_29be49f2",
"edgeTypeAlias": "EmployeePurchase_edgeType",
"dataSourceName": "Order_Table",
"sourceNodeKeyColumns": ["Employee_Id_FK"],
"destinationNodeKeyColumns": ["Category_Id_FK", "Product_Id_FK"],
"propertyMappings": [
{
"propertyName": "Quantity",
"sourceColumn": "unit_price"
},
{
"propertyName": "Date",
"sourceColumn": "Date"
}
]
},
{
"id": "EmployeeSold_2530ecef620c",
"edgeTypeAlias": "Sold_edgeType",
"dataSourceName": "Order_Table",
"sourceNodeKeyColumns": ["Employee_Id_FK"],
"destinationNodeKeyColumns": ["Category_Id_FK", "Product_Id_FK"],
"propertyMappings": [
{
"propertyName": "CustomerId",
"sourceColumn": "unit_price"
},
{
"propertyName": "Date",
"sourceColumn": "Date"
},
{
"propertyName": "hasDiscount",
"sourceColumn": "EmployeeDiscount"
}
]
}
]
}
Exemplo de tipo de grafo
{
"schemaVersion": "1.0.0",
"nodeTypes": [
{
"alias": "Customer_nodeType",
"labels": ["Customer"],
"primaryKeyProperties": ["CustomerId"],
"properties": [
{
"name": "CustomerId",
"type": "STRING"
},
{
"name": "FirstName",
"type": "STRING"
},
{
"name": "LastName",
"type": "STRING"
},
{
"name": "Email",
"type": "STRING"
}
]
},
{
"alias": "Employee_nodeType",
"labels": ["Employee"],
"primaryKeyProperties": ["EmployeeId"],
"properties": [
{
"name": "EmployeeId",
"type": "STRING"
},
{
"name": "FirstName",
"type": "STRING"
},
{
"name": "LastName",
"type": "STRING"
},
{
"name": "Role",
"type": "STRING"
},
{
"name": "Email",
"type": "STRING"
}
]
},
{
"alias": "EmployeeCustomer_nodeType",
"labels": ["Customer", "Employee"],
"primaryKeyProperties": ["EmployeeId"],
"properties": [
{
"name": "EmployeeId",
"type": "STRING"
},
{
"name": "FirstName",
"type": "STRING"
},
{
"name": "LastName",
"type": "STRING"
},
{
"name": "Role",
"type": "STRING"
},
{
"name": "Email",
"type": "STRING"
}
]
},
{
"alias": "Product_nodeType",
"labels": ["Product"],
"primaryKeyProperties": ["CategoryId", "ProductId"],
"properties": [
{
"name": "CategoryId",
"type": "INT"
},
{
"name": "ProductId",
"type": "STRING"
},
{
"name": "Name",
"type": "STRING"
},
{
"name": "Price",
"type": "FLOAT"
},
{
"name": "Cost",
"type": "FLOAT"
}
]
}
],
"edgeTypes": [
{
"alias": "CustomerPurchase_edgeType",
"labels": ["PURCHASED"],
"sourceNodeType": {
"alias": "Customer_nodeType"
},
"destinationNodeType": {
"alias": "Product_nodeType"
},
"properties": [
{
"name": "Quantity",
"type": "INT"
},
{
"name": "Date",
"type": "DATETIME"
}
]
},
{
"alias": "EmployeePurchase_edgeType",
"labels": ["PURCHASED"],
"sourceNodeType": {
"alias": "EmployeeCustomer_nodeType"
},
"destinationNodeType": {
"alias": "Product_nodeType"
},
"properties": [
{
"name": "Quantity",
"type": "INT"
},
{
"name": "Date",
"type": "DATETIME"
}
]
},
{
"alias": "Sold_edgeType",
"labels": ["Sold"],
"sourceNodeType": {
"alias": "Employee_nodeType"
},
"destinationNodeType": {
"alias": "Product_nodeType"
},
"properties": [
{
"name": "CustomerId",
"type": "STRING"
},
{
"name": "Date",
"type": "DATETIME"
},
{
"name": "hasDiscount",
"type": "BOOLEAN"
}
]
}
]
}
Exemplo de Configuração de Estilo
{
"schemaVersion": "1.0.0",
"modelLayout": {
"positions": {
"Customer_nodeType": {
"x": 1,
"y": 1
},
"Employee_nodeType": {
"x": 2,
"y": 3
},
"EmployeeCustomer_nodeType": {
"x": 3,
"y": 4
},
"Product_nodeType": {
"x": 6,
"y": 7
}
},
"styles": {
"Customer_nodeType": {
"size": 30
},
"Employee_nodeType": {
"size": 30
},
"EmployeeCustomer_nodeType": {
"size": 30
},
"Product_nodeType": {
"size": 30
},
"CustomerPurchase_edgeType": {
"size": 30
},
"EmployeePurchase_edgeType": {
"size": 30
},
"Sold_edgeType": {
"size": 30
}
},
"pan": {
"x": 0,
"y": 0
},
"zoomLevel": 1
}
}