{"id":403,"date":"2024-06-22T15:39:11","date_gmt":"2024-06-22T14:39:11","guid":{"rendered":"https:\/\/ijzerweg.nl\/?p=403"},"modified":"2025-04-24T12:43:59","modified_gmt":"2025-04-24T10:43:59","slug":"elementor-403","status":"publish","type":"post","link":"https:\/\/ijzerweg.nl\/?p=403","title":{"rendered":"EA2RDF AddOn &#8211; From RDF to UML and back"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"403\" class=\"elementor elementor-403\">\n\t\t\t\t<div class=\"elementor-element elementor-element-abc4cb0 e-flex e-con-boxed e-con e-parent\" data-id=\"abc4cb0\" 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-835c195 elementor-widget elementor-widget-text-editor\" data-id=\"835c195\" 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<span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\"> <a style=\"color: #0000ff; text-decoration: underline;\" href=\"https:\/\/joinup.ec.europa.eu\/interoperable-europe\" target=\"_blank\" rel=\"noopener\">EU&#8217;s JOINUP initiative<\/a><\/span><\/span>, more specific the SEMIC workgroup, published <span style=\"text-decoration: underline;\"><span style=\"color: #0000ff; text-decoration: underline;\"><a style=\"color: #0000ff; text-decoration: underline;\" href=\"https:\/\/meaningfy-ws.github.io\/model2owl-docs\/public-review\/transformation\/uml2owl-transformation.html\" target=\"_blank\" rel=\"noopener\">a set of rules for turning UML into RDF<\/a><\/span><\/span>. These rules boost knowledge engineering because they bridge the gap between UML conceptual models and concepts expressed as triples. This article highlights an AddOn for Enterprise Architect that lets users easily reuse existing ontologies in UML and publish ontologies as RDF.\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-4f5e34e e-flex e-con-boxed e-con e-parent\" data-id=\"4f5e34e\" 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-094dcdf elementor-widget elementor-widget-text-editor\" data-id=\"094dcdf\" 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><b><i>I&#8217;m an ontologist &#8211; why bother with UML ?<\/i><\/b><\/p>\n<p>The Unified Modelling Language is the most widely used to visually capture concepts in all kinds of business. RDF and OWL remain semantically richer than UML class models but UML still rules the roost.&nbsp;<\/p>\n<p>There&#8217;s a divide between IT engineers and ontologists. IT engineers and domain experts enjoyed different training and education. The SEMIC ruleset applies for a<span style=\"color: var( --e-global-color-text ); font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); text-align: var(--text-align); font-size: 1em;\">&nbsp;small subset of UML class modelling and suffices to cover much knowledge engineering.&nbsp;&nbsp;<\/span><\/p>\n<p>IJzerweg developed an AddOn for Sparx Enterprise Architect that honours the FAIR principles and bridges the divide between IT engineers, ontologists <i>and <\/i>domain experts.<\/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-01786f4 elementor-widget elementor-widget-toggle\" data-id=\"01786f4\" data-element_type=\"widget\" data-widget_type=\"toggle.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle\">\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1541\" class=\"elementor-tab-title\" data-tab=\"1\" role=\"button\" aria-controls=\"elementor-tab-content-1541\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Find stuff<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1541\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"region\" aria-labelledby=\"elementor-tab-title-1541\"><p>\u00a0<\/p><p>Loading ontologies is easy. A set of well-known ones such as foaf and dct are preloaded. Many others can be retrieved from the web by clicking selecting a URI that points to an RDF file.\u00a0<\/p><p>The AddOn then inserts classes that match the concepts defined in the ontologies. The classes are stored in packages that match a namespace. The packages are named after the prefix, e.g. adms, bibo, etc.<\/p><p>The tool can load one or more ontologies, either in one step or in several stages.\u00a0\u00a0<\/p><p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-1763\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-load-ontology.png\" alt=\"\" width=\"534\" height=\"460\" \/><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1542\" class=\"elementor-tab-title\" data-tab=\"2\" role=\"button\" aria-controls=\"elementor-tab-content-1542\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Access stuff<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1542\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"region\" aria-labelledby=\"elementor-tab-title-1542\"><p>Accessing concepts is best done by finding the URI that points to an RDF file, e.g. turtle. The AddOn retrieves the triples and turns them into classes, attributes and properties. The semantics are copied into the notes and the URI&#8217;s are stored in a tagged value.<\/p><p>Below example shows the folder structure that appears after importing the Person ontology from http:\/\/www.w3.org\/ns\/person. This defines the concept Person with attributes birthName and patronymicName.\u00a0<\/p><p>The tool is clever and creates empty classes that are defined externally.\u00a0 For instance, the concept person refers to a location to indicate place of birth and death. The concept &#8220;Location&#8221; is defined in Dublin Core Types and inserted as an empty class in the dct folder when the Person ontology is imported.<\/p><p>The user may wish to explicitly import the Dublin Core Type ontology at a later stage. The AddOn detects the presence of the dct folder with the Location class and enriches the Location class with extra information such as a semantic note.<\/p><p>Thus, a user can expand and explore the known universe by importing ontologies sequentially or in parallel without the fear of clobbering anything.<\/p><p><img decoding=\"async\" class=\"alignnone size-full wp-image-1761\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-imported-otls.png\" alt=\"\" width=\"247\" height=\"357\" \/><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1543\" class=\"elementor-tab-title\" data-tab=\"3\" role=\"button\" aria-controls=\"elementor-tab-content-1543\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Interoperable stuff<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1543\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"region\" aria-labelledby=\"elementor-tab-title-1543\"><p>Imported triples link to triples defined in other ontologies. And by this virtue share the same properties and semantics. Data values declare units, e.q. S.I. or imperial so reducing the probability of mishaps in data conversions. Short, we know <em>what<\/em> we&#8217;re talking about, what features we&#8217;re observing and how features, are measured, e.g. in metres or candela per square foot.<\/p><p>Below screenshot shows that the Person&#8217;s birthName and patronymic name are an rdfs:Literal.\u00a0 Anyone else who uses this definition of a Person is aware of this.<\/p><p>The Officer, defined locally, has an optional attribute &#8220;in service since&#8221; which is defined as xsd:gYear. The officer has exactly one buddy. The hierarchy relations are expressed by the bidirectional association &#8220;is superior of&#8221; and &#8220;is subordinated to&#8221;. The namespace of the Officer concept is defined in a tagged value defined in the package that contains the Officer class.\u00a0<\/p><p><img decoding=\"async\" class=\"alignnone size-full wp-image-1750\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/UML-Politiemodeldiagram.png\" alt=\"\" width=\"1123\" height=\"1011\" \/><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-toggle-item\">\n\t\t\t\t\t<div id=\"elementor-tab-title-1544\" class=\"elementor-tab-title\" data-tab=\"4\" role=\"button\" aria-controls=\"elementor-tab-content-1544\" aria-expanded=\"false\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon elementor-toggle-icon-left\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-closed\"><svg class=\"e-font-icon-svg e-fas-caret-right\" viewBox=\"0 0 192 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t<span class=\"elementor-toggle-icon-opened\"><svg class=\"elementor-toggle-icon-opened e-font-icon-svg e-fas-caret-up\" viewBox=\"0 0 320 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z\"><\/path><\/svg><\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-toggle-title\" tabindex=\"0\">Reuse stuff<\/a>\n\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<div id=\"elementor-tab-content-1544\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"4\" role=\"region\" aria-labelledby=\"elementor-tab-title-1544\"><p>Publically available ontologies deserve better exposure and reuse. Simply import the ontology into EA and explore hidden gems. Try explore the LOV website for a concept in your domain and download the ontology that defines it. The tool automagically adds folders to the EA browser. Next explore what&#8217;s inside by dropping the classes into a diagram. Inspect the attributes, relations and read the imported notes at your leisure. More likely than not, someone else has already defined what you&#8217;re looking for.\u00a0<\/p><p>Why reinvent the wheel if you can climb on the shoulders of giants.<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1764\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-LOV.png\" alt=\"\" width=\"561\" height=\"433\" \/><\/p><\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\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-23dc336 e-flex e-con-boxed e-con e-parent\" data-id=\"23dc336\" 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-5bb65f7 elementor-widget elementor-widget-heading\" data-id=\"5bb65f7\" 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\">Share stuff<\/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-55f6ca5 e-flex e-con-boxed e-con e-parent\" data-id=\"55f6ca5\" 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-2e04cc4 elementor-widget elementor-widget-text-editor\" data-id=\"2e04cc4\" 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>At some stage you&#8217;ll want to share RDF. Right click and select &#8220;transform selected package&#8221;.\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1767\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-transform-selected-package.png\" alt=\"\" width=\"796\" height=\"282\" \/><\/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-a79e9a9 e-flex e-con-boxed e-con e-parent\" data-id=\"a79e9a9\" 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-069cc1b elementor-widget elementor-widget-heading\" data-id=\"069cc1b\" 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\">Add trust<\/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-da9470f e-con-full e-flex e-con e-parent\" data-id=\"da9470f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-058fabb elementor-widget elementor-widget-text-editor\" data-id=\"058fabb\" 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 transformation process produces a log that shows progress. The log is stored in a file. It&#8217;s good practice to inspect the log for warnings and error messages. For instance, the AddOn needs information how to build a URI for each concept. If this is missing, the tool reports an error.\u00a0<\/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-a6d0ab9 elementor-widget elementor-widget-heading\" data-id=\"a6d0ab9\" 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<h3 class=\"elementor-heading-title elementor-size-default\">check the log<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-669217c elementor-widget elementor-widget-text-editor\" data-id=\"669217c\" 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 log classifies messages as information, warning or error.\u00a0 The AddOn provides context in an\u00a0 attempt to explain and hint for remedies. In below example, the AddOn failed to construct an URI for a connector that links two elements in two namespaces. The tool can&#8217;t decide for itself whether the property lives in the referring or referred namespace so it reports an error.<\/p><p>The AddOn is multilingual. Below version speaks Dutch to match my Windows machine.<\/p><pre>22-6-2024 15:59:00 Information - Class Officer getransformeerd<br \/>22-6-2024 15:59:00 Information - Class MilitaryPoliceOfficer getransformeerd<br \/>22-6-2024 15:59:00 Information - Tagged value skos:definition vervangt een bestaand triple http:\/\/ijzerweg.nl\/ns\/police#RegionalUnit , http:\/\/www.w3.org\/2004\/02\/skos\/core#definition , A formal organisation for keeping societal order in a given region@en<br \/>22-6-2024 15:59:00\u00a0<b>Error\u00a0<\/b>- Er is geen URI vastgesteld voor runsPoliceStation<br \/>22-6-2024 15:59:00 Hint - Dit gebeurt meestal als de connector twee klassen uit verschillende namespaces koppelt.<br \/>Een associatie wordt op een object property afgebeeld welke een URI toegewezen krijgt,<br \/>22-6-2024 15:59:00 Hint - Dus wanneer een connector twee namespaces koppelt, is de namespace van de object property niet eenduidig.<br \/>Overweeg om een base-uri tagged waarde toe te wijzen aan het doel van de connector<br \/>22-6-2024 15:59:00 Information - Class RegionalUnit getransformeerd<\/pre>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-140eb1a e-flex e-con-boxed e-con e-parent\" data-id=\"140eb1a\" 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-d0a056a elementor-widget elementor-widget-heading\" data-id=\"d0a056a\" 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<h3 class=\"elementor-heading-title elementor-size-default\">The triple grid<\/h3>\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-4dc8830 e-grid e-con-full e-con e-parent\" data-id=\"4dc8830\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8fc37fa elementor-widget elementor-widget-text-editor\" data-id=\"8fc37fa\" 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 triple grid lists the produced subject-predicate-object triples. A link to the applied SEMIC site lets the user check which transformation rule was applied. This feature adds trust to the transformation process and helps users understand how UML turns into triples.\u00a0\u00a0<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1769\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-triple-grid.png\" alt=\"\" width=\"987\" height=\"708\" \/><\/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-992a153 elementor-widget elementor-widget-text-editor\" data-id=\"992a153\" 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>When you click a triple, the AddOn opens a diagram and highlights a UML element. The element in focus contains the information, i.e. attribute or relation, that governed the creation of the triple. Thus the user can easily check the match between triples and original model.\u00a0 \u00a0<\/p>\n<p>In below example, the user clicked the triple Rank_Hoofdinspecteur &#8211; rdf:type &#8211; skos:concept. The AddOn highlighted the &#8220;Rank&#8221;-enumeration that indeed displays the rank &#8220;Hoofdinspecteur&#8221;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1768\" src=\"https:\/\/ijzerweg.nl\/wp-content\/uploads\/2024\/09\/ea2rdf-triple-grid-to-focus-on-diagram-.png\" alt=\"\" width=\"1194\" height=\"488\" \/><\/p>\n<p>The user can click on the link &#8220;<a href=\"https:\/\/meaningfy-ws.github.io\/model2owl-docs\/public-review\/transformation\/transf-rules3.html#rule:enumeration-item-core\">D.05<\/a>&#8221; which leads to the rule in the guide.\u00a0<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-36cc033 e-flex e-con-boxed e-con e-parent\" data-id=\"36cc033\" 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-4058b4d elementor-widget elementor-widget-heading\" data-id=\"4058b4d\" 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\">Turtle<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63dda62 elementor-widget elementor-widget-text-editor\" data-id=\"63dda62\" 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>Once happy with the produced triples, hit the transform button at the top of the triple grid. This produces a set of turtle files<\/p><ol><li>core ontology which defines the concepts<\/li><li>restrictions which define triples used for OWL reasoning<\/li><li>shapes which define shacl shapes<\/li><li>merged ontology of all triples.<\/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-634da22 e-grid e-con-boxed e-con e-parent\" data-id=\"634da22\" 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-73a1a59 elementor-widget elementor-widget-text-editor\" data-id=\"73a1a59\" 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>Please contact bob at ijzerweg dot nl if you&#8217;re interested in the Add-On for Sparx Enterprise Architect<\/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>Sparx Enterprise Architect is a widely used tool for UML modelling. This article features the ontology AddOn by ijzerweg that enables EA to cast publicly available ontologies into class models and v.v., turn class models into RDF\/Turtle<\/p>\n","protected":false},"author":2,"featured_media":1751,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-403","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\/403","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=403"}],"version-history":[{"count":15,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/403\/revisions"}],"predecessor-version":[{"id":1990,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/posts\/403\/revisions\/1990"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=\/wp\/v2\/media\/1751"}],"wp:attachment":[{"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ijzerweg.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}