{"id":435,"date":"2024-06-22T16:11:28","date_gmt":"2024-06-22T16:11:28","guid":{"rendered":"https:\/\/ijzerweg.nl\/?p=435"},"modified":"2024-09-22T10:55:08","modified_gmt":"2024-09-22T08:55:08","slug":"give-your-uml-rdf-model-a-home","status":"publish","type":"post","link":"https:\/\/ijzerweg.nl\/?p=435","title":{"rendered":"EA2RDF AddOn &#8211; Publish your UML\/RDF on the web"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"435\" class=\"elementor elementor-435\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30eae0c e-flex e-con-boxed e-con e-parent\" data-id=\"30eae0c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-57b8c50 elementor-widget elementor-widget-text-editor\" data-id=\"57b8c50\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The World Wide Web was designed for sharing knowledge with both people and machines. This article explains how to use UML to capture and publish knowledge.<\/p><p>State of the art is to express knowledge in the language used by domain experts. This is subsequently turned into schemata for machines and, in a separate process, into text documents for people.<\/p><p>A typical business would define XSD and databases for machine processing on one hand and documents with text and figures that essentially describe the same things for people on the other hand. Obviously machine schemata and documents are likely to grow apart. <em>This separation creates wasteful friction<\/em>.<\/p><p>It&#8217;s actually easy to keep UML class models and documentation in lockstep.<\/p><p>But first, we identify three kinds of people we need to keep happy.<\/p><ol><li>domain experts are good at jargon and like sketches but generally aren&#8217;t IT savvy (let alone friends of ontology)\u00a0<\/li><li>Knowledge modellers are good at UML and maybe ontology but lack domain knowledge\u00a0<\/li><li>IT experts can read UML class models but lack domain knowledge and generally steer clear of ontologies considered too academic.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6c49ce1 e-flex e-con-boxed e-con e-parent\" data-id=\"6c49ce1\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ecc8387 elementor-widget elementor-widget-heading\" data-id=\"ecc8387\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The information trinity<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-125a053 e-flex e-con-boxed e-con e-parent\" data-id=\"125a053\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-efe57ab elementor-widget elementor-widget-text-editor\" data-id=\"efe57ab\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Below graphic shows the three experts and how their concerns can be united in a diagram.<\/p>\n<p>The domain expert to the right will draw a sketch and &#8220;paint in words&#8221; what we&#8217;re looking at. In this case it&#8217;s about railway crossings. The information modeller at the bottom will cast the wording into a UML class model. The IT developer turns the UML into code.\u00a0<\/p>\n<p>There&#8217;s nothing special to this diagram except the presence of illustrations and explanatory text. Because the UML and illustrations are kept close to each other, the model is easily reviewed by all three kinds of experts. Grouping UML with text and figures is much simpler than maintaining UML separate from documents.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-1759\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-drie-eenheid-informatie.png\" alt=\"\" width=\"1746\" height=\"1407\" \/><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-19ff7f4 e-flex e-con-boxed e-con e-parent\" data-id=\"19ff7f4\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-919c1f7 elementor-widget elementor-widget-heading\" data-id=\"919c1f7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Single Source of Truth<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a344989 elementor-widget elementor-widget-text-editor\" data-id=\"a344989\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Keeping the UML in a diagram with sketches and text creates a single source of truth. No need to maintain separate UML and documentation. And if needed, the documentation can be a print out of the diagram with possibly a listing created by the EA tool.<\/p><p>UML models like the one of which this diagram is part, are <span style=\"text-decoration: underline; color: #0000ff;\"><a style=\"color: #0000ff; text-decoration: underline;\" href=\"https:\/\/eulynx.eu\/dataprep-2023-03\/EARoot\/EA2\/EA4\/EA1\/EA4\/EA5962.htm\" target=\"_blank\" rel=\"noopener\">easily published to the web<\/a><\/span>.\u00a0\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e8fab4c e-flex e-con-boxed e-con e-parent\" data-id=\"e8fab4c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-40ef314 elementor-widget elementor-widget-text-editor\" data-id=\"40ef314\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Another article explains how an AddOn to Enterprise Architect can produce RDF triples that match the model. The next step is to publish these triples to the web. Our aim is to create a website that acts as a landing page for URI&#8217;s. A user clicking on a URI should be lead to the webpage that provides context about the concept identified by the URI.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2648f6a elementor-widget elementor-widget-text-editor\" data-id=\"2648f6a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The EA AddOn enhances EA&#8217;s built-in HTML-publishing function by adding a landing page listing the triples.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-1760\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-generate-HTML.png\" alt=\"\" width=\"536\" height=\"255\" \/><\/p>\n<p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5be7798 e-flex e-con-boxed e-con e-parent\" data-id=\"5be7798\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e2c91b3 elementor-widget elementor-widget-text-editor\" data-id=\"e2c91b3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Below screenshot shows the landing page with a list of triples.<\/p>\n<p>The user can publish the generated HTML to his website such that the URI&#8217;s actually have a home. An URL such as http:\/\/ijzerweg.nl\/ns\/police#MilitaryPoliceOfficer will lead to the shown landing page.\u00a0<\/p>\n<p>So by clicking a hyperlink, the user gets the context that&#8217;s originally defined in the model.\u00a0<\/p>\n<p>This is substantially richer than plain triples or plain HTML. More important, the UML seamlessly fits the HTML.\u00a0<\/p>\n<p>The user, whether domain expert, IT developer or modeller, doesn&#8217;t waste time switching between tools.\u00a0<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-1800\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/06\/landing-page-with-triples.png\" alt=\"\" width=\"1188\" height=\"789\" \/><\/p>\n<p>\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-613f67d e-flex e-con-boxed e-con e-parent\" data-id=\"613f67d\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-924ea19 elementor-widget elementor-widget-heading\" data-id=\"924ea19\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Search the model<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d38383e elementor-widget elementor-widget-text-editor\" data-id=\"d38383e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The &#8220;doorzoek de index&#8221; takes the user to a searchable index that lists the UML elements defined in the model.\u00a0 Start typing in the Search box and a number of suggestions appear. The user can browse and look around the model.\u00a0\u00a0<\/p>\n<p>The search capability is another important enhancement with respect to the standard EA HTML publication.\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1802\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/06\/doorzoek-de-index2.png\" alt=\"\" width=\"1396\" height=\"461\" \/><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-35d26ed e-grid e-con-boxed e-con e-parent\" data-id=\"35d26ed\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ce7804 elementor-widget elementor-widget-text-editor\" data-id=\"3ce7804\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Interested in this Add-On for Enterprise Architect ? Feel free to contact bob at ijzerweg dot nl\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>The World Wide Web was designed for sharing knowledge with both people and machines. This article explains how to use UML to capture and publish knowledge. State of the art is to express knowledge in the language used by domain experts. This is subsequently turned into schemata for machines and, in a separate process, into [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1783,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=435"}],"version-history":[{"count":10,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/435\/revisions"}],"predecessor-version":[{"id":1932,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/435\/revisions\/1932"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/media\/1783"}],"wp:attachment":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}