Graafimallin määrittely

Tässä artikkelissa on erittely Graph Model -kohteiden määritysrakenteesta.

Määritysosat

Tässä taulukossa on luettelo Graph Modelin määritysosista.

Määritysosan polku tyyppi Pakollinen Description
dataSources DataSource[] tosi Tietolähteiden matriisi
graphDefinition GraphDefinition tosi Tietojen yhdistämisen kaavion määritys
graphType GraphType tosi Kaaviorakenne
stylingConfiguration StylingConfiguration tosi Kaavion muotoilumääritys

DataSource

Kuvailee tietolähteen rakenteen.

Nimi Tyyppi Description
Nimi Merkkijono Tietolähteen nimi
tyyppi "DeltaTable" Tietolähteen tyyppi
Majoituspaikkaa DataSourceProperties Tietolähteen ominaisuudet

DataSourceProperties

Tietolähdetyypin edellyttämät ominaisuudet. DeltaTable-lähteissä tämä sisältää taulukkopolun.

Nimi Tyyppi Description
polku Merkkijono Polku tietolähteeseen

GraphDefinition

Kuvailee tietojen yhdistämismäärityksen kaavion määrityksen.

Nimi Tyyppi Description
nodeTables NodeTable[] Solmutietojen yhdistämismääritysten matriisi
edgeTables EdgeTable[] Reunatietojen yhdistämismääritysten matriisi

NodeTable

Kuvailee solmutietojen yhdistämismäärityksen rakenteen.

Nimi Tyyppi Description
id Merkkijono Solmutietojen yhdistämismäärityksen tunnus
nodeTypeAlias Merkkijono Kaaviossa määritetyn solmun alias
dataSourceName Merkkijono Tietolähteen nimi
propertyMappings PropertyMapping[] Ominaisuustietojen yhdistämismääritysten matriisi

EdgeTable

Kuvailee reunatietojen yhdistämismäärityksen rakenteen.

Nimi Tyyppi Description
id Merkkijono Reunatietojen yhdistämismäärityksen tunnus
edgeTypeAlias Merkkijono Reunan alias kaaviossa määritetyllä tavalla
dataSourceName Merkkijono Tietolähteen nimi
sourceNodeKeyColumns String[] Lähdesolmuun yhdistettyjen sarakkeiden matriisi
targetNodeKeyColumns String[] Kohdesolmuon yhdistävien sarakkeiden matriisi
propertyMappings PropertyMapping[] Ominaisuustietojen yhdistämismääritysten matriisi

PropertyMapping

Kuvailee ominaisuustietojen yhdistämismäärityksen rakenteen.

Nimi Tyyppi Description
propertyName Merkkijono Ominaisuuden nimi
sourceColumn Merkkijono Lähdesarakkeen nimi
suodatin SingleFilter / GroupFilter Suodattimen määritys

SingleFilter

Kuvailee yksittäisen suodattimen rakenteen.

Nimi Tyyppi Description
operaattori Merkkijono Suodattimen operaattorinimi
columnName Merkkijono Tämän suodattimen sarakkeen nimi
arvo Objekti Vertailuarvo. Tukee merkkijonoa, lukua, päivämäärä/aika-arvoja ja -matriiseja.

GroupFilter

Kuvailee ryhmäsuodattimen rakenteen.

Nimi Tyyppi Description
operaattori Merkkijono Suodattimen operaattorinimi
Suodattimet SingleFilter[] / GroupFilter[] Tämän ryhmäsuodattimen suodattimet
ja SingleFilter[] / GroupFilter[] Loogisen JA:n suodattimet
tai SingleFilter[] / GroupFilter[] Loogisen TAI-funktion suodattimet

GraphType

Kuvaa kaavion rakenteen.

Nimi Tyyppi Description
nodeTypes NodeType[] Solmurakenteiden matriisi
edgeTypes EdgeType[] Reunarakenteiden matriisi

NodeType

Kuvailee solmun rakenteen.

Nimi Tyyppi Description
alias Merkkijono Alias
Otsikot String[] Selitteiden matriisi
primaryKeyProperties String[] Ensisijaisen avaimen ominaisuuksien matriisi
Majoituspaikkaa Ominaisuus[] Ominaisuuksien matriisi

EdgeType

Kuvailee reunan rakenteen.

Nimi Tyyppi Description
alias Merkkijono Alias
Otsikot String[] Selitteiden matriisi
sourceNodeType NodeTypeReference Lähdesolmurakenne
destinationNodeType NodeTypeReference Kohdesolmurakenne
Majoituspaikkaa Ominaisuus[] Ominaisuuksien matriisi

Property

Kuvailee ominaisuuden rakenteen.

Nimi Tyyppi Description
Nimi Merkkijono Ominaisuuden nimi
tyyppi Merkkijono Ominaisuuden tyyppi

NodeTypeReference

Kuvailee NodeTypeReference-rakenteen.

Nimi Tyyppi Description
alias Merkkijono Viitatun solmun alias

StylingConfiguration

Kuvailee muotoilumäärityksen rakenteen.

Nimi Tyyppi Description
modelLayout ModelLayout Kaaviomallin ulkoasun ja asettelun määritykset

ModelLayout

Kuvailee mallityylien määrityksen.

Nimi Tyyppi Description
Kantoja Sanaston<merkkijono, sijainti> Solmujen sijainnit
Tyylejä Sanastomerkkijono<, ModelStyle> Kaaviomallin tyylit
panorointi Asema Mallipohjan panoroiminen
zoomLevel Integer Mallipohjan zoomaustaso

Sijainti

Kuvailee 2D-sijainnin.

Nimi Tyyppi Description
x Integer X-koordinaattiarvo
y Integer Y-koordinaattiarvo

ModelStyle

Kuvailee mallielementin tyylin.

Nimi Tyyppi Description
koko Integer Mallielementin koko

Esimerkki tietolähteistä

{
  "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"
      }
    }
  ]
}

Esimerkki kaavion määritelmästä

{
  "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"
        }
      ]
    }
  ]
}

Kaaviotyyppi Esimerkki

{
  "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"
        }
      ]
    }
  ]
}

Muotoilumääritysesimerkki

{
  "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
  }
}