{"id":926521,"date":"2020-07-08T17:29:06","date_gmt":"2020-07-09T00:29:06","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=926521"},"modified":"2024-11-11T12:30:35","modified_gmt":"2024-11-11T20:30:35","slug":"domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6","title":{"rendered":"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6"},"author":7511,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[777102,23851],"tags":[32551],"industry":[],"product":[36561],"class_list":["post-926521","blog","type-blog","status-publish","format-standard","hentry","category-arcade","category-data-management","tag-arcade","product-arcgis-pro"],"acf":{"short_description":"In this blog I'll discuss the new Arcade functions in 2.6. Mainly Domain, Subtypes &amp; Schema","flexible_content":[{"acf_fc_layout":"content","content":"<p>In this blog I&#8217;ll discuss the new Arcade functions in 2.6. Mainly Domain, Subtypes and Schema Arcade functions that will help us write better expressions and unlock more capabilities in the software.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Schema<\/h1>\n<p>The new Schema Arcade function provides metadata about a featureset such as fields, globalId and ObjectId field names, geometry Types and other information.<\/p>\n<p>&nbsp;<\/p>\n<p>Here is how you can use this function, you can either call Schema and pass in feature or a featureset and Schema function will return a dictionary.<\/p>\n<pre>{\r\n  \"objectIdField\": \"string\",\r\n  \"globalObjectIdField\": \"string\",\r\n  \"geometryType\": \"string\",\r\n  \"fields\": [\r\n    {\r\n      \"name\": \"string\",\r\n      \"alias\": \"string\",\r\n      \"length\": \"number\",\r\n      \"editable\": \"bool\",\r\n      \"nullable\": \"bool\",\r\n      \"domain\": \"string\"\r\n    }\r\n  ]\r\n}\r\n<\/pre>\n<p>Here is a sample output of schema.<\/p>\n<p><strong>Sample Output<\/strong><\/p>\n<p>&nbsp;<\/p>\n<pre>{\r\n  \"objectIdField\": \"OBJECTID\",\r\n  \"globalObjectIdField\": \"GlobalID\",\r\n  \"geometryType\": \"esriGeometryPoint\",\r\n  \"fields\": [\r\n    {\r\n      \"name\": \"OBJECTID\",\r\n      \"alias\": \"OBJECTID\",\r\n      \"length\": 4,\r\n      \"editable\": false,\r\n      \"nullable\": false,\r\n      \"domain\": null\r\n    },\r\n    {\r\n      \"name\": \"lifecycle\",\r\n      \"alias\": \"lifecycle\",\r\n      \"length\": 2,\r\n      \"editable\": true,\r\n      \"nullable\": true,\r\n      \"domain\": \"LifeCycle\"\r\n    },\r\n    {\r\n      \"name\": \"GlobalID\",\r\n      \"alias\": \"GlobalID\",\r\n      \"length\": 38,\r\n      \"editable\": false,\r\n      \"nullable\": false,\r\n      \"domain\": null\r\n    }\r\n  ]\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>One simple use case for Schema is to avoid hard coding fieldnames. For example, instead of hard coding the objectId field in filter where clauses, we can ask the Schema function to give us the objectId field name and execute the query.<\/p>\n<p>&nbsp;<\/p>\n<p>This code will fail if the objectId field of the class <strong>County<\/strong> is not called &#8220;OBJECTID&#8221;<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fs = FeatureSetByName($datastore, <span style=\"color: #d14\">\"County\"<\/span>);\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> s = Schema(fs);\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> oid = <span style=\"color: #008080\">1<\/span>;\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> text(first(filter(fs, <span style=\"color: #d14\">`OBJECTID = <span style=\"color: #333;font-weight: normal\">${oid}<\/span>`<\/span>)))\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>We can rewrite the code in a generic manner using Schema function<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fs = FeatureSetByName($datastore, <span style=\"color: #d14\">\"County\"<\/span>);\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> s = Schema(fs);\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> oid = <span style=\"color: #008080\">1<\/span>;\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> text(first(filter(fs, <span style=\"color: #d14\">`<span style=\"color: #333;font-weight: normal\">${s.objectIdField}<\/span> = <span style=\"color: #333;font-weight: normal\">${oid}<\/span>`<\/span>)))\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Domain<\/h1>\n<p>The new Domain Arcade function returns the domain metadata assigned to a field. This works for coded-value and ranged domain. If the class supports subtypes, the domain returned will be the one assigned at the subtype level to that field. If none is assigned at the subtype level, the field level domain is returned.<\/p>\n<p>Here is how you can use it.<\/p>\n<p>Domain ($feature, &#8220;fieldname&#8221;);<\/p>\n<pre>{\r\n  \"type\": \"codedValue|range\",\r\n  \"name\": \"Domain_Name\",\r\n  \"dataType\": \"\",\r\n  \"min?\": \"number\",\r\n  \"max?\": \"number\",\r\n  \"codedValues?\": [\r\n    {\r\n      \"name\": \"string\",\r\n      \"code\": \"any\"\r\n    }\r\n  ]\r\n}\r\n\r\n<\/pre>\n<p>In this example, poleType is a field and we want to return the domain assigned to that field.<\/p>\n<pre><span class=\"pl-k\">var<\/span> d <span class=\"pl-k\">=<\/span> <span class=\"pl-en\">Domain<\/span>($feature, <span class=\"pl-s\"><span class=\"pl-pds\">\"<\/span>poleType<span class=\"pl-pds\">\"<\/span><\/span>)<\/pre>\n<pre>{\r\n  \"type\": \"codedValue\",\r\n  \"name\": \"LifeCycle\",\r\n  \"dataType\": \"esriFieldTypeSmallInteger\",\r\n  \"codedValues\": [\r\n    {\r\n      \"name\": \"In Service\",\r\n      \"code\": 0\r\n    },\r\n    {\r\n      \"name\": \"Proposed\",\r\n      \"code\": 1\r\n    },\r\n    {\r\n      \"name\": \"Abandoned\",\r\n      \"code\": 2\r\n    }\r\n  ]\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>A popular use case for using the Domain Arcade function is to write a constraint attribute rule that prevents values that are outside range of a coded value domain. As follows.<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #333;font-weight: bold\">function<\/span> <span style=\"color: #900;font-weight: bold\">exists<\/span>(ar, e) {\r\n    <span style=\"color: #333;font-weight: bold\">for<\/span> (<span style=\"color: #333;font-weight: bold\">var<\/span> i = <span style=\"color: #008080\">0<\/span>; i &lt; count(ar); i++)\r\n        <span style=\"color: #333;font-weight: bold\">if<\/span> (ar[i].code == e) <span style=\"color: #333;font-weight: bold\">return<\/span> <span style=\"color: #333;font-weight: 500\">true<\/span>\r\n    <span style=\"color: #333;font-weight: bold\">return<\/span> <span style=\"color: #333;font-weight: 500\">false<\/span>\r\n} \r\n<span style=\"color: #998;font-style: italic\">\/\/get the domain of the lifecycle<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> d = Domain ($feature, <span style=\"color: #d14\">\"lifecycle\"<\/span>);\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/search the domain and see if the value is inside the domain.<\/span>\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> exists(d.codedValues, $feature.lifecycle);\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Subtypes function<\/h1>\n<p>There are many new functions related to geodatabase subtypes in Arcade. The Subtypes function returns the\u00a0 subtypes list, SubtypeCode returns the raw subtype for a given feature\/row, and SubtypeName returns the description of the the subtype the feature is assigned to.<\/p>\n<p>&nbsp;<\/p>\n<pre><span class=\"pl-en\">Subtypes<\/span> ($feature <span class=\"pl-k\">|<\/span> featureset)\r\n<span class=\"pl-k\">=&gt;<\/span>  Dictionary{ subtypeField<span class=\"pl-k\">:<\/span> string,\r\n                subtypes<span class=\"pl-k\">:<\/span> [{name<span class=\"pl-k\">:<\/span> string,\r\n                            code<span class=\"pl-k\">:<\/span> number}]}\r\n\r\n<\/pre>\n<pre><span class=\"pl-k\">var<\/span> s <span class=\"pl-k\">=<\/span> <span class=\"pl-en\">SubtypeCode<\/span>($feature)  <span class=\"pl-c\">\/\/returns the subtype code of $feature - the raw value of the field<\/span>\r\n<span class=\"pl-k\">=&gt;<\/span>  <span class=\"pl-c1\">7\r\n\r\n<\/span><\/pre>\n<pre><span class=\"pl-k\">var<\/span> s <span class=\"pl-k\">=<\/span> <span class=\"pl-en\">SubtypeName<\/span>($feature)  <span class=\"pl-c\">\/\/returns the Name of the subtype of the $feature which the code maps to<\/span>\r\n<span class=\"pl-k\">=&gt;<\/span>  Three Phase Overhead\r\n\r\n<\/pre>\n<p>Here is a sample output of the subtypes function.<\/p>\n<p>&nbsp;<\/p>\n<pre>{\r\n  \"subtypeField\": \"ASSETGROUP\",\r\n  \"subtypes\": [\r\n    {\r\n      \"name\": \"Unknown\",\r\n      \"code\": 0\r\n    },\r\n    {\r\n      \"name\": \"Circuit Breaker\",\r\n      \"code\": 1\r\n    },\r\n    {\r\n      \"name\": \"Fuse\",\r\n      \"code\": 2\r\n    },\r\n    {\r\n      \"name\": \"Generation\",\r\n      \"code\": 3\r\n    },\r\n    {\r\n      \"name\": \"Service Point\",\r\n      \"code\": 4\r\n    },\r\n    {\r\n      \"name\": \"Street Light\",\r\n      \"code\": 5\r\n    },\r\n    {\r\n      \"name\": \"Switch\",\r\n      \"code\": 6\r\n    },\r\n    {\r\n      \"name\": \"Transformer\",\r\n      \"code\": 7\r\n    },\r\n    {\r\n      \"name\": \"Central Office\",\r\n      \"code\": 8\r\n    }\r\n  ]\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>A popular use case for using the Subtypes Arcade function is to write a constraint attribute rule that prevents values that are outside range of a subtypes range. As follows.<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #333;font-weight: bold\">function<\/span> <span style=\"color: #900;font-weight: bold\">exists<\/span>(ar, e) {\r\n\r\n\r\n    <span style=\"color: #333;font-weight: bold\">for<\/span> (<span style=\"color: #333;font-weight: bold\">var<\/span> i = <span style=\"color: #008080\">0<\/span>; i &lt; count(ar); i++)\r\n\r\n        <span style=\"color: #333;font-weight: bold\">if<\/span> (ar[i].code == e) <span style=\"color: #333;font-weight: bold\">return<\/span> <span style=\"color: #333;font-weight: 500\">true<\/span>\r\n\r\n\r\n    <span style=\"color: #333;font-weight: bold\">return<\/span> <span style=\"color: #333;font-weight: 500\">false<\/span>\r\n\r\n}\r\n\r\n\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/get the subtypes<\/span>\r\n\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> d = Subtypes($feature);\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/search to make sure the value being supplied is valid<\/span>\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> exists(d.subtypes, subtypecode($feature))\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n"}],"authors":[{"ID":7511,"user_firstname":"Hussein","user_lastname":"Nasser","nickname":"Hussein Nasser","user_nicename":"hussein-nasser","display_name":"Hussein Nasser","user_email":"HNasser@esri.com","user_url":"http:\/\/www.husseinnasser.com","user_registered":"2018-03-21 18:21:21","user_description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/code.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Copy-of-Search-Canva1.png"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-11T20:30:35+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\"},\"author\":{\"name\":\"Hussein Nasser\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\"},\"headline\":\"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6\",\"datePublished\":\"2020-07-09T00:29:06+00:00\",\"dateModified\":\"2024-11-11T20:30:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\"},\"wordCount\":10,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"arcade\"],\"articleSection\":[\"Arcade\",\"Data Management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\",\"name\":\"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-07-09T00:29:06+00:00\",\"dateModified\":\"2024-11-11T20:30:35+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\",\"name\":\"Hussein Nasser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"caption\":\"Hussein Nasser\"},\"description\":\"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.\",\"sameAs\":[\"http:\/\/www.husseinnasser.com\",\"https:\/\/www.linkedin.com\/in\/hnaser\/\",\"https:\/\/x.com\/hnasr\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6","og_locale":"en_US","og_type":"article","og_title":"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2024-11-11T20:30:35+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6"},"author":{"name":"Hussein Nasser","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b"},"headline":"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6","datePublished":"2020-07-09T00:29:06+00:00","dateModified":"2024-11-11T20:30:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6"},"wordCount":10,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["arcade"],"articleSection":["Arcade","Data Management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6","name":"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-07-09T00:29:06+00:00","dateModified":"2024-11-11T20:30:35+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/domain-subtypes-and-the-schema-arcade-functions-in-arcgis-pro-2-6#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Domain, Subtypes and the Schema Arcade Functions in ArcGIS Pro 2.6"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b","name":"Hussein Nasser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","caption":"Hussein Nasser"},"description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","sameAs":["http:\/\/www.husseinnasser.com","https:\/\/www.linkedin.com\/in\/hnaser\/","https:\/\/x.com\/hnasr"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser"}]}},"text_date":"July 8, 2020","author_name":"Hussein Nasser","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/07\/Copy-of-Search-Canva1.png","primary_product":"ArcGIS Pro","tag_data":[{"term_id":32551,"name":"arcade","slug":"arcade","term_group":0,"term_taxonomy_id":32551,"taxonomy":"post_tag","description":"","parent":0,"count":113,"filter":"raw"}],"category_data":[{"term_id":777102,"name":"Arcade","slug":"arcade","term_group":0,"term_taxonomy_id":777102,"taxonomy":"category","description":"","parent":0,"count":98,"filter":"raw"},{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":920,"filter":"raw"}],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2035,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/926521","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/7511"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=926521"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/926521\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=926521"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=926521"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=926521"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=926521"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=926521"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}