{"id":1751,"date":"2016-03-07T17:28:19","date_gmt":"2016-03-07T17:28:19","guid":{"rendered":"https:\/\/wetransform.eu\/?post_type=news-and-events&#038;p=1751"},"modified":"2022-07-08T11:58:57","modified_gmt":"2022-07-08T11:58:57","slug":"measuring-data-model-quality","status":"publish","type":"news-and-events","link":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/","title":{"rendered":"Measuring Data Model Quality"},"content":{"rendered":"<p>wetransform develops a data-driven approach to the design of data models. We do this because we believe this will help in the faster development of higher-quality shared specifications, with lower risks in implementation.<\/p>\n<p>In this data-driven approach, we aim to improve the quality of a data model with every iteration. This implies the question what kind of data and analysis we can use to measure quality of a data model. In this article, we\u2019ll share a bit of the reasoning behind our approach.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/measuring-data-model-quality.png\" alt=\"Measuring data model quality\" \/><\/p>\n<p>First of all, when we say data-driven, we mean four kinds of data:<\/p>\n<ul>\n<li>Data that can be derived from the model itself by static analysis <\/li>\n<li>Data that can be derived from vertically mapping the model to various implementation platforms<\/li>\n<li>Data that can be derived from comparison to other models<\/li>\n<li>Data that can be derived from usage of the data model<\/li>\n<\/ul>\n<p>Let\u2019s dip into each of these.<\/p>\n<p><strong>Static analysis<\/strong> of relational models and of object models has been around for a long time. There is some interesting research &amp; development work like <a href=\"http:\/\/www.sdmetrics.com\">SDMetrics<\/a> and UML Metrics Producer, but most of the ideas haven\u2019t made it into typical design processes \u2013 when compared to JSLint or other code analysers that are part of most build processes nowadays. The measures created in static analysis focus on counting types and properties to assess size and to identify loops and nesting depths to calculate structural complexity. They are especially helpful when dealing with transient complexity. In these cases, the model currently under design might seem simple, but it imports other models that contribute greatly \u2013 and in an opaque way \u2013 to the overall complexity of the model. Some <a href=\"http:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary?doi=10.1.1.101.3430&amp;rank=1\">tools<\/a> also look into behavioral complexity by analyzing the number and structure of the messages exchanged between objects in a model. Finally, there are solutions that can identify design patterns.<\/p>\n<p><strong>Vertical mapping<\/strong> is the process of transforming a conceptual model to logical models in various implementation platforms. It includes mapping a UML model to an XML schema or a relational database schema, or mapping an Ontology to an RDF schema. We measure properties of the vertical mapping to determine how well suited a conceptual model is for implementation on various platforms. Consider the following example: A complex conceptual model like the INSPIRE Data Specifications can be mapped well to XML, but it\u2019s rather hard to map effectively to an Esri Geodatabase system.<\/p>\n<p><strong>Comparative analysis<\/strong> helps find out whether there are similar models, and tells us how the metrics gained from vertical mapping analysis and static analysis stack up against each other. To identify similar models, we abstract them to graphs and then <a href=\"http:\/\/machinelearning.wustl.edu\/mlpapers\/paper_files\/AISTATS09_ShervashidzeVPMB.pdf\">compare structures<\/a>, value types and labels. After identifying similar models, we assess the model under design by seeing where it falls in its cohort: Is it by far the most complex model? Is it very small in comparison? Or is it highly connected to other models?<\/p>\n<p><strong>Usage analysis<\/strong> is core to understanding the quality of a model. It encompasses several different types of measures:<\/p>\n<ul>\n<li>Effectiveness of the model: How large and complex is an actual instance of an object graph? How efficient can the instance be created and parsed?<\/li>\n<li>Coverage of the model: How much of the model is actually used? Are there hot spots in usage? Are there points where the model is not differentiated enough?<\/li>\n<li>Usage: Which parts of the actual instances are actually consumed by up-stream applications? Is there data in the model that is never used?<\/li>\n<\/ul>\n<p>We do not create more abstract joint scores from these individual metrics. The designers have to look at each value \u2013 most of them unitless \u2013 and decide what goal they want to reach for in their next iteration \u2013 more effective storage in relational database systems? Less model excess? They can then apply the modification and see what the result is both in the primary metric, but also in all the other metrics.<\/p>\n<p>Stay tuned for further updates on agile, data-driven model design!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>wetransform develops a data-driven approach to the design of data models. We do this because we believe this will help in the faster development of higher-quality shared specifications, with lower risks in implementation. In this data-driven approach, we aim to improve the quality of a data model with every iteration. This implies the question what [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[12],"tags":[85,66],"class_list":["post-1751","news-and-events","type-news-and-events","status-publish","hentry","category-general","tag-data-modelling","tag-research"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Measuring Data Model Quality - wetransform<\/title>\n<meta name=\"description\" content=\"wetransform develops a data-driven approach to the design of data models. Here, we explain how to best assess data model quality.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Measuring Data Model Quality\" \/>\n<meta property=\"og:description\" content=\"wetransform develops a data-driven approach to the design of data models. Here, we explain how to best assess data model quality.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/\" \/>\n<meta property=\"og:site_name\" content=\"wetransform\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-08T11:58:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/measuring-data-model-quality.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@wetransformto\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/\",\"url\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/\",\"name\":\"Measuring Data Model Quality - wetransform\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wetransform.eu\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/measuring-data-model-quality.png\",\"datePublished\":\"2016-03-07T17:28:19+00:00\",\"dateModified\":\"2022-07-08T11:58:57+00:00\",\"description\":\"wetransform develops a data-driven approach to the design of data models. Here, we explain how to best assess data model quality.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wetransform.eu\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/measuring-data-model-quality.png\",\"contentUrl\":\"https:\\\/\\\/wetransform.eu\\\/wp-content\\\/uploads\\\/2022\\\/05\\\/measuring-data-model-quality.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/measuring-data-model-quality\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wetransform.to\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"News & Events\",\"item\":\"https:\\\/\\\/wetransform.to\\\/de\\\/news-and-events\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Measuring Data Model Quality\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#website\",\"url\":\"http:\\\/\\\/wetransform.to\\\/de\\\/\",\"name\":\"wetransform\",\"description\":\"Making environmental data useful and accessible\",\"publisher\":{\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/wetransform.to\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#organization\",\"name\":\"wetransform\",\"url\":\"http:\\\/\\\/wetransform.to\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wetransform.to\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/large-logo-whitebg.png\",\"contentUrl\":\"https:\\\/\\\/wetransform.to\\\/wp-content\\\/uploads\\\/2022\\\/07\\\/large-logo-whitebg.png\",\"width\":1024,\"height\":1024,\"caption\":\"wetransform\"},\"image\":{\"@id\":\"http:\\\/\\\/wetransform.to\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/wetransformto\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wetransform-gmbh\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Measuring Data Model Quality - wetransform","description":"wetransform develops a data-driven approach to the design of data models. Here, we explain how to best assess data model quality.","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:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/","og_locale":"de_DE","og_type":"article","og_title":"Measuring Data Model Quality","og_description":"wetransform develops a data-driven approach to the design of data models. Here, we explain how to best assess data model quality.","og_url":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/","og_site_name":"wetransform","article_modified_time":"2022-07-08T11:58:57+00:00","og_image":[{"url":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/measuring-data-model-quality.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@wetransformto","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/","url":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/","name":"Measuring Data Model Quality - wetransform","isPartOf":{"@id":"http:\/\/wetransform.to\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/#primaryimage"},"image":{"@id":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/#primaryimage"},"thumbnailUrl":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/measuring-data-model-quality.png","datePublished":"2016-03-07T17:28:19+00:00","dateModified":"2022-07-08T11:58:57+00:00","description":"wetransform develops a data-driven approach to the design of data models. Here, we explain how to best assess data model quality.","breadcrumb":{"@id":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/#primaryimage","url":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/measuring-data-model-quality.png","contentUrl":"https:\/\/wetransform.eu\/wp-content\/uploads\/2022\/05\/measuring-data-model-quality.png"},{"@type":"BreadcrumbList","@id":"https:\/\/wetransform.to\/de\/news-and-events\/measuring-data-model-quality\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wetransform.to\/de\/"},{"@type":"ListItem","position":2,"name":"News & Events","item":"https:\/\/wetransform.to\/de\/news-and-events\/"},{"@type":"ListItem","position":3,"name":"Measuring Data Model Quality"}]},{"@type":"WebSite","@id":"http:\/\/wetransform.to\/de\/#website","url":"http:\/\/wetransform.to\/de\/","name":"wetransform","description":"Making environmental data useful and accessible","publisher":{"@id":"http:\/\/wetransform.to\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/wetransform.to\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"http:\/\/wetransform.to\/de\/#organization","name":"wetransform","url":"http:\/\/wetransform.to\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"http:\/\/wetransform.to\/de\/#\/schema\/logo\/image\/","url":"https:\/\/wetransform.to\/wp-content\/uploads\/2022\/07\/large-logo-whitebg.png","contentUrl":"https:\/\/wetransform.to\/wp-content\/uploads\/2022\/07\/large-logo-whitebg.png","width":1024,"height":1024,"caption":"wetransform"},"image":{"@id":"http:\/\/wetransform.to\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/wetransformto","https:\/\/www.linkedin.com\/company\/wetransform-gmbh\/"]}]}},"_links":{"self":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events\/1751","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events"}],"about":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/types\/news-and-events"}],"author":[{"embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/comments?post=1751"}],"version-history":[{"count":2,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events\/1751\/revisions"}],"predecessor-version":[{"id":2412,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/news-and-events\/1751\/revisions\/2412"}],"wp:attachment":[{"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/media?parent=1751"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/categories?post=1751"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wetransform.to\/de\/wp-json\/wp\/v2\/tags?post=1751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}