Sample Data Objects
Importing metadata into the Agnostic Data Labs app format can be done through the app and it’s metadata importer feature.
Data Objects JSON Example
Section titled “Data Objects JSON Example”The importer must be provided with JSON to import the data. This JSON can be created using any preferred method. This JSON must be derived outside of the app itself, using a SQL script, Powershell script, utility app, or similar.
The importer format is a lightweight version of the full metadata schema, and allows for matching the imported metadata to the existing metadata by names and conventions instead of identifiers.
If the metadata you gather has all the required information, consider adding the generated metadata as json files straight to the repository instead of running it through the importer.
The main simplification done in the removal of id attributes and the use of name matching instead.
The main added feature is the ability to define the target file name as part of the imported metadata. The formal metadata schema doesn’t include the folder/file names in the metadata itself, so defining it on import makes it easier to organize the metadata both in the model as well as on disk. The format is also a list of Connections or Data Objects, allowing an arbitrary list of either metadata type to be imported.
The following JSON illustrates how the format for a list of Data Objects might look.
[ { "dataObjectType": "dataObject", "name": "Address", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "Address.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "AddressID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "AddressLine1", "ordinalPosition": 2, "dataType": "nvarchar", "characterLength": 60 }, { "dataItemType": "dataItem", "name": "AddressLine2", "ordinalPosition": 3, "dataType": "nvarchar", "characterLength": 60, "isNullable": true }, { "dataItemType": "dataItem", "name": "City", "ordinalPosition": 4, "dataType": "nvarchar", "characterLength": 30 }, { "dataItemType": "dataItem", "name": "StateProvince", "ordinalPosition": 5, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "CountryRegion", "ordinalPosition": 6, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "PostalCode", "ordinalPosition": 7, "dataType": "nvarchar", "characterLength": 15 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 8, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 9, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[Address]" } ] }, { "dataObjectType": "dataObject", "name": "Customer", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "Customer.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "CustomerID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "NameStyle", "ordinalPosition": 2, "dataType": "bit" }, { "dataItemType": "dataItem", "name": "Title", "ordinalPosition": 3, "dataType": "nvarchar", "characterLength": 8, "isNullable": true }, { "dataItemType": "dataItem", "name": "FirstName", "ordinalPosition": 4, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "MiddleName", "ordinalPosition": 5, "dataType": "nvarchar", "characterLength": 50, "isNullable": true }, { "dataItemType": "dataItem", "name": "LastName", "ordinalPosition": 6, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "Suffix", "ordinalPosition": 7, "dataType": "nvarchar", "characterLength": 10, "isNullable": true }, { "dataItemType": "dataItem", "name": "CompanyName", "ordinalPosition": 8, "dataType": "nvarchar", "characterLength": 128, "isNullable": true }, { "dataItemType": "dataItem", "name": "SalesPerson", "ordinalPosition": 9, "dataType": "nvarchar", "characterLength": 256, "isNullable": true }, { "dataItemType": "dataItem", "name": "EmailAddress", "ordinalPosition": 10, "dataType": "nvarchar", "characterLength": 50, "isNullable": true }, { "dataItemType": "dataItem", "name": "Phone", "ordinalPosition": 11, "dataType": "nvarchar", "characterLength": 25, "isNullable": true }, { "dataItemType": "dataItem", "name": "PasswordHash", "ordinalPosition": 12, "dataType": "varchar", "characterLength": 128 }, { "dataItemType": "dataItem", "name": "PasswordSalt", "ordinalPosition": 13, "dataType": "varchar", "characterLength": 10 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 14, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 15, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[Customer]" } ] }, { "dataObjectType": "dataObject", "name": "CustomerAddress", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "CustomerAddress.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "CustomerID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int" }, { "dataItemType": "dataItem", "name": "AddressID", "ordinalPosition": 2, "isPrimaryKey": true, "dataType": "int" }, { "dataItemType": "dataItem", "name": "AddressType", "ordinalPosition": 3, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 4, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 5, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[CustomerAddress]" } ] }, { "dataObjectType": "dataObject", "name": "Product", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "Product.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "ProductID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "Name", "ordinalPosition": 2, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "ProductNumber", "ordinalPosition": 3, "dataType": "nvarchar", "characterLength": 25 }, { "dataItemType": "dataItem", "name": "Color", "ordinalPosition": 4, "dataType": "nvarchar", "characterLength": 15, "isNullable": true }, { "dataItemType": "dataItem", "name": "StandardCost", "ordinalPosition": 5, "dataType": "money" }, { "dataItemType": "dataItem", "name": "ListPrice", "ordinalPosition": 6, "dataType": "money" }, { "dataItemType": "dataItem", "name": "Size", "ordinalPosition": 7, "dataType": "nvarchar", "characterLength": 5, "isNullable": true }, { "dataItemType": "dataItem", "name": "Weight", "ordinalPosition": 8, "dataType": "decimal", "numericPrecision": 8, "numericScale": 2, "isNullable": true }, { "dataItemType": "dataItem", "name": "ProductCategoryID", "ordinalPosition": 9, "dataType": "int", "isNullable": true }, { "dataItemType": "dataItem", "name": "ProductModelID", "ordinalPosition": 10, "dataType": "int", "isNullable": true }, { "dataItemType": "dataItem", "name": "SellStartDate", "ordinalPosition": 11, "dataType": "datetime" }, { "dataItemType": "dataItem", "name": "SellEndDate", "ordinalPosition": 12, "dataType": "datetime", "isNullable": true }, { "dataItemType": "dataItem", "name": "DiscontinuedDate", "ordinalPosition": 13, "dataType": "datetime", "isNullable": true }, { "dataItemType": "dataItem", "name": "ThumbNailPhoto", "ordinalPosition": 14, "dataType": "varbinary", "characterLength": -1, "isNullable": true }, { "dataItemType": "dataItem", "name": "ThumbnailPhotoFileName", "ordinalPosition": 15, "dataType": "nvarchar", "characterLength": 50, "isNullable": true }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 16, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 17, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[Product]" } ] }, { "dataObjectType": "dataObject", "name": "ProductCategory", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "ProductCategory.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "ProductCategoryID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "ParentProductCategoryID", "ordinalPosition": 2, "dataType": "int", "isNullable": true }, { "dataItemType": "dataItem", "name": "Name", "ordinalPosition": 3, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 4, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 5, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[ProductCategory]" } ] }, { "dataObjectType": "dataObject", "name": "ProductDescription", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "ProductDescription.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "ProductDescriptionID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "Description", "ordinalPosition": 2, "dataType": "nvarchar", "characterLength": 400 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 3, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 4, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[ProductDescription]" } ] }, { "dataObjectType": "dataObject", "name": "ProductModel", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "ProductModel.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "ProductModelID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "Name", "ordinalPosition": 2, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "CatalogDescription", "ordinalPosition": 3, "dataType": "xml", "isNullable": true }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 4, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 5, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[ProductModel]" } ] }, { "dataObjectType": "dataObject", "name": "ProductModelProductDescription", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "ProductModelProductDescription.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "ProductModelID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int" }, { "dataItemType": "dataItem", "name": "ProductDescriptionID", "ordinalPosition": 2, "isPrimaryKey": true, "dataType": "int" }, { "dataItemType": "dataItem", "name": "Culture", "ordinalPosition": 3, "isPrimaryKey": true, "dataType": "nchar", "characterLength": 6 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 4, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 5, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[ProductModelProductDescription]" } ] }, { "dataObjectType": "dataObject", "name": "SalesOrderDetail", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "SalesOrderDetail.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "SalesOrderID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int" }, { "dataItemType": "dataItem", "name": "SalesOrderDetailID", "ordinalPosition": 2, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "OrderQty", "ordinalPosition": 3, "dataType": "smallint" }, { "dataItemType": "dataItem", "name": "ProductID", "ordinalPosition": 4, "dataType": "int" }, { "dataItemType": "dataItem", "name": "UnitPrice", "ordinalPosition": 5, "dataType": "money" }, { "dataItemType": "dataItem", "name": "UnitPriceDiscount", "ordinalPosition": 6, "dataType": "money" }, { "dataItemType": "dataItem", "name": "LineTotal", "ordinalPosition": 7, "dataType": "numeric", "numericPrecision": 38, "numericScale": 6 }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 8, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 9, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[SalesOrderDetail]" } ] }, { "dataObjectType": "dataObject", "name": "SalesOrderHeader", "folder": "\/AdventureWorksLT2012\/SalesLT", "fileName": "SalesOrderHeader.json", "dataConnection": { "name": "AdventureWorksLT2012" }, "dataItems": [ { "dataItemType": "dataItem", "name": "SalesOrderID", "ordinalPosition": 1, "isPrimaryKey": true, "dataType": "int", "extensions": [ { "key": "isIdentityColumn", "value": "true" } ] }, { "dataItemType": "dataItem", "name": "RevisionNumber", "ordinalPosition": 2, "dataType": "tinyint" }, { "dataItemType": "dataItem", "name": "OrderDate", "ordinalPosition": 3, "dataType": "datetime" }, { "dataItemType": "dataItem", "name": "DueDate", "ordinalPosition": 4, "dataType": "datetime" }, { "dataItemType": "dataItem", "name": "ShipDate", "ordinalPosition": 5, "dataType": "datetime", "isNullable": true }, { "dataItemType": "dataItem", "name": "Status", "ordinalPosition": 6, "dataType": "tinyint" }, { "dataItemType": "dataItem", "name": "OnlineOrderFlag", "ordinalPosition": 7, "dataType": "bit" }, { "dataItemType": "dataItem", "name": "SalesOrderNumber", "ordinalPosition": 8, "dataType": "nvarchar", "characterLength": 25 }, { "dataItemType": "dataItem", "name": "PurchaseOrderNumber", "ordinalPosition": 9, "dataType": "nvarchar", "characterLength": 25, "isNullable": true }, { "dataItemType": "dataItem", "name": "AccountNumber", "ordinalPosition": 10, "dataType": "nvarchar", "characterLength": 15, "isNullable": true }, { "dataItemType": "dataItem", "name": "CustomerID", "ordinalPosition": 11, "dataType": "int" }, { "dataItemType": "dataItem", "name": "ShipToAddressID", "ordinalPosition": 12, "dataType": "int", "isNullable": true }, { "dataItemType": "dataItem", "name": "BillToAddressID", "ordinalPosition": 13, "dataType": "int", "isNullable": true }, { "dataItemType": "dataItem", "name": "ShipMethod", "ordinalPosition": 14, "dataType": "nvarchar", "characterLength": 50 }, { "dataItemType": "dataItem", "name": "CreditCardApprovalCode", "ordinalPosition": 15, "dataType": "varchar", "characterLength": 15, "isNullable": true }, { "dataItemType": "dataItem", "name": "SubTotal", "ordinalPosition": 16, "dataType": "money" }, { "dataItemType": "dataItem", "name": "TaxAmt", "ordinalPosition": 17, "dataType": "money" }, { "dataItemType": "dataItem", "name": "Freight", "ordinalPosition": 18, "dataType": "money" }, { "dataItemType": "dataItem", "name": "TotalDue", "ordinalPosition": 19, "dataType": "money" }, { "dataItemType": "dataItem", "name": "Comment", "ordinalPosition": 20, "dataType": "nvarchar", "characterLength": 0, "isNullable": true }, { "dataItemType": "dataItem", "name": "rowguid", "ordinalPosition": 21, "dataType": "uniqueidentifier" }, { "dataItemType": "dataItem", "name": "ModifiedDate", "ordinalPosition": 22, "dataType": "datetime" } ], "extensions": [ { "key": "datastore", "value": "AdventureWorksLT2012" }, { "key": "location", "value": "SalesLT" }, { "key": "schemaQualifiedName", "value": "[SalesLT].[SalesOrderHeader]" } ] }]