{"id":2867,"date":"2025-09-30T11:42:07","date_gmt":"2025-09-30T11:42:07","guid":{"rendered":"https:\/\/www.strategicstructures.com\/?p=2867"},"modified":"2025-10-01T18:27:51","modified_gmt":"2025-10-01T18:27:51","slug":"liberating-cohesion-rdf","status":"publish","type":"post","link":"https:\/\/www.strategicstructures.com\/?p=2867","title":{"rendered":"Liberating Cohesion: RDF"},"content":{"rendered":"<p>What do empathy, common enemies, and small talk have in common? They are all\u00a0<a href=\"https:\/\/www.linkandth.ink\/p\/cohesion-forces-and-tools\" rel=\"noopener\" target=\"_blank\">cohesion mechanisms<\/a>. And so are calendars, clocks, protocols, plans, meetings, and memes. Cohesion mechanisms make elements be a whole or work as a whole. They do so by imposing constraints. Constraints reduce freedom and, in the case of agents, decrease autonomy and agency.<\/p>\n<p>All socio-technical systems need to\u00a0<a href=\"https:\/\/www.linkandth.ink\/p\/autonomy-and-cohesion\" rel=\"noopener\" target=\"_blank\">balance autonomy and cohesion<\/a>\u00a0to remain viable. There is then the need for a separate action or technology to enable autonomy. For instance, in organizations, cohesion brought by a goal can be balanced by autonomy via delegation of operational decision-making. More generally, cohesion brought by\u00a0<em>why<\/em>\u00a0has to be balanced by autonomy of\u00a0<em>what<\/em>, and cohesion of\u00a0<em>what<\/em>\u00a0needs to be balanced by autonomy on\u00a0<em>how<\/em>.<\/p>\n<p>There are, however, cohesion technologies that provide<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-1\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"1\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-1\">1<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"1\">The use of verbs like bring, provide, reduce, increase, enable, support and so on should not be taken to imply that standards of this kind have some kind of agency. The cohesion or autonomy is not the result of an action from their side but a consequence of their use.<\/span>\u00a0both cohesion and autonomy. Like other cohesion mechanisms, they apply constraints. Constraints reduce autonomy. At the same time, through their use, these special kinds of technologies increase the overall autonomy and agency of their users. Standards and protocols have the potential to be such a kind of technologies. Two popular examples, reviewed briefly in the\u00a0<a href=\"https:\/\/www.linkandth.ink\/p\/cohesion-via-standards-and-protocols\" rel=\"noopener\" target=\"_blank\">previous post<\/a>, are HTML and HTTP.<\/p>\n<p>This special quality of bringing both autonomy and cohesion distinguishes the cohesion mechanisms in the Interoperability area of the\u00a0<a href=\"https:\/\/www.linkandth.ink\/p\/cohesion-spectrum\" rel=\"noopener\" target=\"_blank\">CABIN spectrum<\/a>\u00a0from those in the other areas. I call this quality\u00a0<em>liberating cohesion<\/em>.<\/p>\n<p>The present essay, part of the\u00a0<a href=\"https:\/\/www.linkandth.ink\/p\/autonomy-and-cohesion-series\" rel=\"noopener\" target=\"_blank\">Autonomy and Cohesion series<\/a>, will dive deeper into another standard that has this capability: RDF. Like HTML, RDF is an open standard maintained by W3C. While HTML is for representing content for human readers, RDF is for representing structured data, but for both humans and machines. Unlike HTML, RDF is not just a language; it is a whole framework.<\/p>\n<p>Let&#8217;s first see what RDF is and where it can be found, and then discuss how using it brings cohesion and autonomy at the same time.<\/p>\n<h2 class=\"header-anchor-post\"><strong>What is RDF?<\/strong><\/h2>\n<p>RDF stands for <em>Resource Description Framework<\/em>.\u00a0<em>Resource<\/em> is any entity<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-2\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"2\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-2\">2<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"2\">In the context of RDF, resource and entity are synonyms, and the latter is used in the RDF semantics specification.<\/span> such as person,<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-3\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"3\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-3\">3<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"3\">Regarding persons as resources is common but highly problematic, as I discussed\u00a0<a href=\"https:\/\/www.strategicstructures.com\/?p=1456\" rel=\"\">elsewhere<\/a>. That doesn\u2019t affect the value of RDF. It\u2019s simply a reminder that also here, an alternative, such as\u00a0<em>entity<\/em>, would\u2019ve been more appropriate.<\/span>\u00a0place and just any thing, concrete or abstract, existing or imaginary. RDF provides a means to\u00a0<em>describe<\/em>\u00a0resources using uniquely identifiable relations. These relations represent both characteristics of and relationships between resources. Lastly, it is a\u00a0<em>framework<\/em>\u00a0that includes a conceptual model, semantics, vocabulary, and a set of serialization formats.<\/p>\n<p>RDF is a\u00a0<em>data<\/em>\u00a0model, but the smallest element that can be considered RDF is the triple, which is already information.<!--more--><\/p>\n<p>RDF provides a single model for all kinds of data structures. Everything in RDF is expressed by triples: instance data, metadata, semantics, data transformation, validation, and rules. The basic elements of the query language SPARQL are also triple patterns.<\/p>\n<p>RDF is a graph model, but its unit, the triple, is not just a node-edge-node construct. It is a logical statement.<\/p>\n<p>Let&#8217;s go through an example. In natural English, we can say:<\/p>\n<p>A cat named Pat sat on a mat.<\/p>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<picture><source srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 1456w\" type=\"image\/webp\" sizes=\"100vw\" \/><img loading=\"lazy\" decoding=\"async\" class=\"sizing-normal\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png\" sizes=\"auto, 100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!B5BS!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png 1456w\" alt=\"\" width=\"1024\" height=\"1024\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/5c751861-47f7-4db9-808c-add0c531ba47_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2456944,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image\/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><\/picture>\n<div class=\"image-link-expand\">\n<div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\">\n<div class=\"pencraft pc-reset icon-container view-image\"><span style=\"font-size: 18px;\">An RDF triple has the form subject-predicate-object. Subject and predicates must be uniform resource identifiers.<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-4\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"4\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-4\">4<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"4\">A few clarifications. All URIs today are IRIs since they can accept international characters, while the original URIs were restricted only to ASCII characters. But I\u2019ll keep calling the URIs. The second clarification is that apart from the URIs, RDF1.1 allows to have also blank nodes. Blank nodes are nodes that serve as placeholders for resources without assigning them a URI. They are usually used for grouping triples where their common subject is not supposed to be referred from other resources so it doesn\u2019t need to have a global identifier. The last clarification is that, from RDF1.2, still a draft, subjects and objects of an RDF triple can also be triple terms, in other words, nested triples.<\/span> In other words, subjects always denote entities such as people, places and things. Objects can be URIs or literals, expressing numbers, dates and strings. When objects are URIs, they can be subjects of other triples. When objects are literals, they can have a datatype such as string, integer, date, and boolean. Triples, the objects of which are URIs, state the relationship between two entities, such as a cat and a mat, identified by the subject and object URI. Triples in which objects are literals describe some characteristic of the subject, for instance, cat-hasColor-white and cat-hasName-Pat.<\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>We need three things to express in RDF the cat statements above: a namespace,<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-5\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"5\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-5\">5<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"5\">That\u2019s only the case for HTTP URIs. DID URIs are domain-independent.<\/span> a convention for constructing identifiers, and a vocabulary<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-6\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"6\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-6\">6<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"6\">I use vocabulary and ontology interchangeably in this essay. In the context of semantic web ontologies, lightweight ontologies containing only definitions of properties and classes and RDFS-level axioms are usually referred to as vocabularies. There is also the term\u00a0<em>controlled vocabulary,<\/em> which encompasses reference datasets such as taxonomies, thesauri, code lists and authority tables.<\/span> for the concepts. Let&#8217;s take the classic\u00a0<strong>example.org <\/strong>as a namespace. The convention for URI construction for instances of things will be: a mnemonic string denoting their type, suffixed by a number. Applying these conventions to our two concrete entities, cat and mat, we get <strong>http:\/\/example.org\/data\/cat1 <\/strong>and <strong>http:\/\/example.org\/data\/mat1 <\/strong>as their identifiers. Although we have chosen a convention to suggest the nature of these two things, for machines these identifiers are just strings. We need then some terms to make this meaning<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-7\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"7\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-7\">7<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"7\">That something is meaningful for machines is a shorthand to point to an important utility but taken literally can lead to dangerous anthropomorphizing.<\/span> explicit, and they should have URIs too. These terms will represent the nouns and verbs from the natural language but will be formally defined to remove ambiguity for non-human readers. Since such abstract concepts are also resources, just as the instances they describe, they need prefixes and a convention for the construction of their identifiers. Let&#8217;s use the domain <strong>http:\/\/example.org\/ <\/strong>again but separate the abstract concepts in another branch <strong>\/ontology <\/strong>and use <strong># <\/strong>as a delimiter instead of <strong>\/<\/strong>. The naming convention for the unique part of the URI will be to use the respective noun for the types of things in\u00a0<a href=\"https:\/\/en.wiktionary.org\/wiki\/Pascal_case\" rel=\"noopener\" target=\"_blank\">PascalCase<\/a>\u00a0and the respective verb for the relationship type in\u00a0<a href=\"https:\/\/en.wiktionary.org\/wiki\/CamelCase#English\" rel=\"noopener\" target=\"_blank\">camelCase<\/a>. Using these conventions, an RDF representation of the cat sentence, expressed in Turtle notation, will look like this:<\/p>\n<pre>@prefix d: &lt;http:\/\/example.org\/data\/&gt; . \n@prefix o: &lt;http:\/\/example.org\/ontology#&gt; . \n\nd:cat1 rdf:type o:Cat . \nd:cat1 o:hasName \"Pat\" . \nd:cat1 o:sat d:mat1 . \nd:mat1 rdf:type o:Mat .<\/pre>\n<p>The Turtle (Terse RDF Triple Language) notation, one of the many ways RDF can be serialized (more on that later), is easy to read. By declaring prefixes, the identifiers can be written as compact URIs. When a machine reads them, it will concatenate the common and unique parts of the URI so that <strong>d:cat1<\/strong> will become <strong>http:\/\/example.org\/data\/cat1<\/strong>. In addition, Turtle includes some syntactic sugar. For example &#8220;a&#8221; stands for <strong>rdf:type<\/strong> and is read &#8220;is a&#8221; making it sound like the natural statement it formally represents. To resemble written natural language even more, each Turtle statement ends with a full stop. Another element of syntactic sugar is using semicolons in a way again similar to regular punctuation to enable the listing of statements for the same subject without the need to repeat the subject. Applying these two conventions, we can replace the Turtle snippet above with this equivalent:<\/p>\n<pre>@prefix d: &lt;http:\/\/example.org\/data\/&gt; .\n@prefix o: &lt;http:\/\/example.org\/ontology#&gt; .\n\nd:cat1  a o:Cat ;\n        o:hasName \"Pat\" ;\n        o:sat d:mat1 .\nd:mat1  a o:Mat .\n<\/pre>\n<p>Easy to read, neat and elegant.<\/p>\n<p>\u0415very set of RDF triples is a graph by virtue of having only triples and the fact that the same URIs in different triples represent the same resources. You can find them referred to as\u00a0<em>semantic<\/em>\u00a0knowledge graphs since they are knowledge graphs with explicit semantics, in other words, self-describing knowledge graphs. In graph-theoretic terms, they are directed labelled graphs:\u00a0<em>directed,<\/em>\u00a0because the meaning of \u0430 predicate is valid only in the direction from \u0430 subject node to an object node, and\u00a0<em>labeled<\/em>, since the edges have labels which are the URIs of the predicates.<\/p>\n<p>&#8220;Pat&#8221; is a literal value node, and this is where the graph ends. A literal cannot be the subject of a triple. <strong>d:mat1<\/strong> is a URI, so the graph can grow from that node on by describing the entity it represents and its relations with other entities. For example, we can add a triple about the color of the mat:<\/p>\n<pre>@prefix d: &lt;http:\/\/example.org\/data\/&gt; .\n@prefix o: &lt;http:\/\/example.org\/ontology#&gt; .\n\nd:cat1  a o:Cat ;\n        o:hasName \"Pat\" ;\n        o:sat d:mat1 .\nd:mat1  a o:Mat ;\n        o:hasColor \"brown\".\n<\/pre>\n<p>Visually, the graph will look like this:<\/p>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<picture><source srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 1456w\" type=\"image\/webp\" sizes=\"100vw\" \/><img loading=\"lazy\" decoding=\"async\" class=\"sizing-normal\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png\" sizes=\"auto, 100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!KiKv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png 1456w\" alt=\"\" width=\"1029\" height=\"563\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/004ff481-7a95-4d5c-ac5e-6285b132a028_1029x563.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:563,&quot;width&quot;:1029,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><\/picture>\n<div class=\"image-link-expand\">\n<div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\">\n<div class=\"pencraft pc-reset icon-container view-image\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>Relationships in RDF are first-class citizens with the same capabilities as entities. For example, unlike property graphs, where edges cannot be linked to other edges, in RDF it is common to have edges (RDF properties) linked to other edges or nodes. What&#8217;s more, such constructs enhance the expressivity and the deductive power of the RDF graphs. To illustrate this, let&#8217;s extend our ontology with the following statements:<\/p>\n<pre>@prefix rdf: &lt;http:\/\/www.w3.org\/1999\/02\/22-rdf-syntax-ns#&gt; .\n@prefix rdfs: &lt;http:\/\/www.w3.org\/2000\/01\/rdf-schema#&gt; .\n@prefix o: &lt;http:\/\/example.org\/ontology#&gt; .\n\no:perched  a rdf:Property ;\n        rdfs:subPropertyOf o:sat .\n\no:sat a rdf:Property .\n\no:hasName a rdf:Property.\no:hasNickName a rdf:Property;\n        rdfs:subPropertyOf o:hasName .\n<\/pre>\n<p>Then, if we have more information, say:<\/p>\n<p>A bird, nicknamed Nerd, perched on a birch,<\/p>\n<p>in RDF, it will look like this:<\/p>\n<pre>@prefix d: &lt;http:\/\/example.org\/data\/&gt; .\n@prefix o: &lt;http:\/\/example.org\/ontology#&gt; .\n\nd:bird1  a o:Bird ;\n        o:hasNickName \"Nerd\" ;\n        o:perched d:tree123\nd:tree123  a o:Birch .\n<\/pre>\n<p>Then, if we ask, running a logical reasoner or a SPARQL query, who sat and on what, the answer would be the cat Pat sat on a mat (as stated) and the bird Nerd sat on a Birch (inferred), even though there are different relationships (RDF properties) linking the two animals with how they are called and on where they happen to be situated.<\/p>\n<h2 class=\"header-anchor-post\"><strong>Where can one find RDF?<\/strong><\/h2>\n<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\">\n<div class=\"pencraft pc-display-contents pc-reset pubTheme-yiXxQA\">\n<p><span style=\"font-size: 18px;\">RDF is not used as much as its maturity and the benefits it brings would suggest. At the same time, it is spread wider than most people suspect. One manifestation of RDF is as Linked Open Data (LOD). Many organizations from the public sector, life sciences, cultural heritage and media publish RDF datasets using shared vocabularies and semantic links to other LOD datasets. Some public knowledge graphs contain general knowledge (cross-domain) and others domain-specific knowledge. <\/span><a style=\"font-size: 18px;\" href=\"https:\/\/www.wikidata.org\/\" rel=\"noopener\" target=\"_blank\">Wikidata<\/a><span style=\"font-size: 18px;\">,\u00a0<\/span><a style=\"font-size: 18px;\" href=\"https:\/\/dbpedia.org\/\" rel=\"noopener\" target=\"_blank\">DBpedia<\/a><span style=\"font-size: 18px;\">\u00a0and\u00a0<\/span><a style=\"font-size: 18px;\" href=\"https:\/\/yago-knowledge.org\/\" rel=\"noopener\" target=\"_blank\">YAGO<\/a><span style=\"font-size: 18px;\">\u00a0are prominent examples of general knowledge LOD graphs. Of them, Wikidata is the biggest, with close to 16 billion triples today and growing fast. If you run\u00a0<\/span><a style=\"font-size: 18px;\" href=\"https:\/\/w.wiki\/57XU\" rel=\"\">this query<\/a><span style=\"font-size: 18px;\">, it will generate a small subset of the Wikidata graph, showing the influences in the Age of Enlightenment. The relations are of the type\u00a0<\/span><em style=\"font-size: 18px;\">influenced by<\/em><span style=\"font-size: 18px;\">. If you click on a node, it will show first-degree connections.<\/span><\/p>\n<\/div>\n<\/div>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<picture><source srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 1456w\" type=\"image\/webp\" sizes=\"100vw\" \/><img loading=\"lazy\" decoding=\"async\" class=\"sizing-normal\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png\" sizes=\"auto, 100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!UYPc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png 1456w\" alt=\"\" width=\"1456\" height=\"804\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/4eaa31e9-8c5a-4718-9ff0-5eae9d5e59ee_3211x1773.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:804,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1686655,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image\/png&quot;,&quot;href&quot;:&quot;https:\/\/w.wiki\/57XU&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><\/picture>\n<div><\/div>\n<\/div><figcaption class=\"image-caption\">Wikidata graph rendition of a query to get the influences in the age of Enlightenment, in state after clicking on the node representing Gottfried Wilhelm Leibniz.<\/figcaption><\/figure>\n<\/div>\n<p>Examples of domain-specific knowledge graphs are\u00a0<a href=\"https:\/\/www.uniprot.org\/\" rel=\"noopener\" target=\"_blank\">UniProt<\/a>\u00a0for protein data and\u00a0<a href=\"https:\/\/op.europa.eu\/en\/web\/cellar\" rel=\"noopener\" target=\"_blank\">Cellar<\/a>\u00a0for the EU legislation. UniProt is currently the biggest open knowledge graph with 112 billion triples.<\/p>\n<p>There are several ways to interact with LOD publications. They usually offer keyword search, faceted browsing or some other way to explore the graph by clicking, and a SPARQL endpoint.<\/p>\n<p>LOD publications are not the only Linked Data accessible on the open web. There is a lot of Linked Data embedded in web pages, and their number increases significantly each year. The common crawl corpus counted close to 139 billion schema.org triples in December 2023, while there were 106 billion in 2022, 94 billion in 2021, and only 20 billion in 2018. As expected, the biggest number and increase are related to products.<\/p>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<div style=\"width: 1456px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"sizing-normal\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!lgpW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8bd1fc0-8886-4b40-9966-6a96243a07b7_1623x595.png\" sizes=\"auto, 100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!lgpW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8bd1fc0-8886-4b40-9966-6a96243a07b7_1623x595.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!lgpW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8bd1fc0-8886-4b40-9966-6a96243a07b7_1623x595.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!lgpW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8bd1fc0-8886-4b40-9966-6a96243a07b7_1623x595.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!lgpW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc8bd1fc0-8886-4b40-9966-6a96243a07b7_1623x595.png 1456w\" alt=\"\" width=\"1456\" height=\"534\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/c8bd1fc0-8886-4b40-9966-6a96243a07b7_1623x595.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:534,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https:\/\/webdatacommons.org\/structureddata\/schemaorg&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><p class=\"wp-caption-text\">Source: https:\/\/webdatacommons.org\/structureddata\/schemaorg\/<\/p><\/div>\n<p><span style=\"font-size: 18px;\">Apart from Linked Data available in RDF stores behind <\/span><a style=\"font-size: 18px;\" href=\"https:\/\/tinyurl.com\/23o3dzl6\" rel=\"noopener\" target=\"_blank\">open SPARQL endpoints<\/a><span style=\"font-size: 18px;\">\u00a0or embedded in web pages as RDFa or JSON-LD, there is also Linked Enterprise Data (LED), available as closed enterprise knowledge graphs in corporate networks. It is used as a semantic layer to unify and integrate the data fragmented in silo applications or as operational knowledge graphs, in other words, as a generic backend and not just as an analytical read-only layer. Well-known companies such as Bosch, IKEA, UBS, BASF, Morgan Stanley, Wells Fargo, Schneider Electric, BMW, Astra Zeneca, Pfizer, and Roche use RDF in various degrees. There are also some less known names but prominent in their industry. For example, you probably haven&#8217;t heard of Grundfos, but they are the largest pump manufacturer in the world, and they use RDF extensively.<\/span><\/p>\n<\/div>\n<\/figure>\n<\/div>\n<h2 class=\"header-anchor-post\"><strong>How does RDF bring autonomy and cohesion?<\/strong><\/h2>\n<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\">\n<div class=\"pencraft pc-display-contents pc-reset pubTheme-yiXxQA\">\n<p><span style=\"font-size: 18px;\">RDF combines universal ways to name, structure and give meaning to data using only open standards. Naming is done with URIs; the structure is always the subject-predicate-object triple, and the meaning is provided by extending RDF with shared vocabularies. These three ways, individually and in combination, enable autonomy and cohesion. Let&#8217;s see how.<\/span><\/p>\n<\/div>\n<\/div>\n<h3 class=\"header-anchor-post\"><strong>Naming (Identifiers)<\/strong><\/h3>\n<p>URIs provide an efficient and effective solution to the problem of relating names and things. They are\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Proper_name_(philosophy)\" rel=\"noopener\" target=\"_blank\">proper names<\/a>.<\/p>\n<blockquote>[T]he architects of the Web have taken hold of the idea of proper names, and without purposefully altering its definition, have made naming the first supporting pillar of the Web, thus formulating an answer to the ages-old question of the relationship between words and things by combining in an original\u2014and unintentional!\u2014fashion the thoughts of Frege, Russell, Wittgenstein, and Kripke.<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-8\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"8\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-8\">8<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"8\">That something is meaningful for machines is a shorthand to point to an important utility but taken literally can lead to dangerous anthropomorphizing.<\/span><\/blockquote>\n<p>One thing can be identified by multiple URIs (more on that aspect of autonomy later), but one URI uniquely identifies one referent (cohesion). At the same time, there can be many human-readable labels associated with a URI elegantly solving multilingualism and various UI and text-search problems. Labels are decoupled from the identifiers (autonomy).<\/p>\n<p>Labels are typically linked with <strong>rdfs:label <\/strong>but there can be more sophisticated relations, such as those given by <strong>skos:prefLabel<\/strong>, <strong>skos:altLabel<\/strong>, and <strong>skos:hiddenLabel<\/strong>. And yet, that higher expressivity doesn&#8217;t cost any cohesion since all three of them are <strong>rdfs:subProperty <\/strong>of <strong>rdfs:label<\/strong>. When labels need lifecycle data and other metadata, that is just a modeling problem, elegantly solved by the popular extension of SKOS,\u00a0<a href=\"https:\/\/kvistgaard.github.io\/sparql\/#\/page\/skos-xl\" rel=\"noopener\" target=\"_blank\">SKOS-XL<\/a>.<\/p>\n<p>URIs are global. They are not coupled to a particular data store. Such a\u00a0<a href=\"https:\/\/www.linkandth.ink\/p\/decoupling\" rel=\"noopener\" target=\"_blank\">decoupling<\/a>\u00a0gives autonomy: all things represented with URIs are not dependent on a particular database. At the same time URIs bring interoperability and respectively cohesion: URIs can be resolved across different data stores. In comparison, identifiers in SQL databases are unique only within a table or a database instance. Likewise in labeled property graphs, the identifiers are database-specific.<\/p>\n<p>HTTP URIs are resolvable. That allows you to perform an exploratory search.<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-9\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"9\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-9\">9<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"9\">Watch <a href=\"https:\/\/youtu.be\/CbBtM05IBWE?si=3mQukGMtcDqMbgAh\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">this 18 min. lecture<\/a> by Prof. Harald Sack if you want to learn more about exploratory search with RDF.<\/span>\n<p>or browse the RDF graph in any direction you want using the so-called follow-your-nose approach. Every hop in the graph is not simply a navigation step like with the regular hyperlinks. All nodes are linked in a meaningful way, always a part of a bigger story. The extra benefit is finding new things and associations serendipitously.<\/p>\n<p>HTTP URIs have a small drawback when it comes to autonomy. They are coupled with a host. But that&#8217;s not a limitation for RDF. URIs in RDF can be host-independent, as is the case with\u00a0<a href=\"https:\/\/www.w3.org\/TR\/did-core\/\" rel=\"noopener\" target=\"_blank\">decentralized ID (DID)<\/a>, another open standard maintained by the W3C.<\/p>\n<p>URIs are globally unique identifiers, but one URI is not a unique way to identify one particular thing. That would be a case of an extreme centralization. On the contrary, every organization (or every person if need be) is free to identify resources independently. That autonomy is balanced with cohesion. Two URIs that identify the same thing can be linked with <strong>owl:sameAs<\/strong>. Such linking is\u00a0<a href=\"https:\/\/www.w3.org\/wiki\/LinkedData\" rel=\"noopener\" target=\"_blank\">one of the Linked Data principles<\/a>\u00a0and is the criterion for\u00a0<a href=\"https:\/\/5stardata.info\/en\/\" rel=\"noopener\" target=\"_blank\">5 stars<\/a> open data publishing. That&#8217;s also applicable in the enterprise context where along with <strong>owl:sameAs<\/strong>, there are alternative approaches applied. One such approach is using the property <strong>gist:IndetifiedBy<\/strong> and the class <strong>gist:ID<\/strong>.<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-10\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"10\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-10\">10<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"10\">The approach is well explained in <a href=\"https:\/\/www.youtube.com\/watch?v=Q3R3Z9QEJtY\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">this video<\/a>.<\/span>\n<h3 class=\"header-anchor-post\"><strong>Structure (Triple)<\/strong><\/h3>\n<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\">\n<div class=\"pencraft pc-display-contents pc-reset pubTheme-yiXxQA\">\n<p><span style=\"font-size: 18px;\">In most data management approaches, you need to know the structure to query and use the data. Meaning is tightly coupled with structure.<\/span><\/p>\n<p><span style=\"font-size: 18px;\">Even in simple cases, like having two slightly different tables, and even when they are created with the same tool, if you paste one of the tables below or next to the other, you won\u2019t get a coherent combined table. In RDF, meaning and structure are decoupled. The structure is always a triple and can express anything. If you bring two different RDF graphs together, created in different contexts and using different tools, they become one valid RDF graph. If you have two N-triples files and copy and paste one inside the other, that will make a valid and coherent RDF graph.<\/span><\/p>\n<\/div>\n<\/div>\n<p>RDF has one structure, triple, used for everything. The instance data is RDF triples, which get meaning from ontologies, and ontologies are RDF triples too. The typical way of transforming non-RDF to RDF is by creating RML mapping which are also RDF triples, and so are the validation (SHACL) and the business rules.<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-11\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"11\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-11\">11<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"11\">There are different standards for expressing business rules in RDF: SHACL, SPIN, SWRL, and RIF.<\/span>\n<p>It&#8217;s triples all the way down.<\/p>\n<p>RDF is a conceptual model. You have the autonomy to serialize it and store it the way you want.<\/p>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<picture><source srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 1456w\" type=\"image\/webp\" sizes=\"100vw\" \/><img decoding=\"async\" class=\"sizing-normal\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png\" sizes=\"100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!RZ3e!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png 1456w\" alt=\"\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/f38c209e-d2a4-4946-a924-479a308d4bb2_1379x898.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:null,&quot;width&quot;:null,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:93202,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image\/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><\/picture>\n<div><\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>That&#8217;s about files, but of course, quite often RDF is stored in databases. And while the typical RDF store is a triples store (or quadstore), RDF can be stored in SQL,<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-12\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"12\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-12\">12<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"12\">See https:\/\/timbr.ai<\/span> graph DBs,<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-13\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"13\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-13\">13<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"13\">For example, one of the most popular graph DBs, neo4j can become an RDF store using the <a href=\"https:\/\/neo4j.com\/labs\/neosemantics\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">neosemantics plugin<\/a>.<\/span>\u00a0document databases, or key-value stores\u00a0<a href=\"https:\/\/github.com\/oxigraph\/oxigraph\" rel=\"noopener\" target=\"_blank\">Oxigraph<\/a>.<sup id=\"mfn-content-000000000d875be30000000076dcdf45_2867-14\" class=\"modern-footnotes-footnote modern-footnotes-footnote--hover-on-desktop \" data-mfn=\"14\" data-mfn-post-scope=\"000000000d875be30000000076dcdf45_2867\"><a href=\"javascript:void(0)\"  role=\"button\" aria-pressed=\"false\" aria-describedby=\"mfn-content-000000000d875be30000000076dcdf45_2867-14\">14<\/a><\/sup><span role=\"tooltip\" class=\"modern-footnotes-footnote__note\" tabindex=\"0\" data-mfn=\"14\">Oxigraph is an RDF store based on the <a href=\"https:\/\/rocksdb.org\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">RocksDB<\/a> key-value store.<\/span>\n<h3 class=\"header-anchor-post\"><strong>Semantics (Logic)<\/strong><\/h3>\n<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\">\n<div class=\"pencraft pc-display-contents pc-reset pubTheme-yiXxQA\">\n<p><span style=\"font-size: 18px;\">Decoupling structure and semantics, combined with the RDF feature that data and metadata are expressed in one and the same structure, gives the freedom to postpone schema definition. This makes RDF-based systems future-proof since the cost of change is very low.<\/span><\/p>\n<\/div>\n<\/div>\n<p>If, in the description of Pat the cat, we add just another triple:<\/p>\n<pre>dcat1 a wd:Q146<\/pre>\n<p>where <strong>wd:Q146 <\/strong>represents the class of cats in Wikidata, we get:<\/p>\n<pre>@prefix d: &lt;http:\/\/example.org\/data\/&gt; .\n@prefix o: &lt;http:\/\/example.org\/ontology#&gt; .\n@prefix wd: &lt;http:\/\/www.wikidata.org\/entity\/&gt; .\n\nd:cat1  a o:Cat, wd:Q146 ; \n        o:hasName \"Pat\" ;\n        o:sat d:mat1 .\nd:mat1  a o:Mat ;\n        o:hasColor \"brown\".\n<\/pre>\n<p>Using a shared vocabulary brings semantic cohesion. Now, we can ask, for instance, what the name of the oldest known animal of Pat&#8217;s kind is, and we get the answer &#8220;Creme Puff,&#8221; together with other data such as birth and death dates. The node <strong>wd:Q146 <\/strong>makes one coherent graph.<\/p>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<picture><source srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 1456w\" type=\"image\/webp\" sizes=\"100vw\" \/><img loading=\"lazy\" decoding=\"async\" class=\"sizing-normal\" title=\"\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png\" sizes=\"auto, 100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!hNC9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png 1456w\" alt=\"\" width=\"1456\" height=\"948\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/d358d4a5-e512-44d8-a01d-f9ef87e56650_2882x1877.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:948,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><\/picture>\n<div class=\"image-link-expand\">\n<div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\">\n<div class=\"pencraft pc-reset icon-container view-image\"><\/div>\n<\/div>\n<\/div>\n<\/div><figcaption class=\"image-caption\">Note: the edges are labeled with Wikidata property labels, not with their URIs, to be easier to read.<\/figcaption><\/figure>\n<\/div>\n<p>Using a shared vocabulary is a powerful way to bring cohesion, but it also creates a dependency. Such a dependency, however, can be avoided while keeping the benefits of the relationships. Here&#8217;s an example. The\u00a0<a href=\"https:\/\/knowledgecaptureanddiscovery.github.io\/SoftwareDescriptionOntology\/release\/1.9.0\/index-en.html\" rel=\"noopener\" target=\"_blank\">Software Description Ontology<\/a>(SDO) provides a way to describe software components. If you use this ontology, you will declare the applications you want to describe as <strong>sd:Software<\/strong>. This will also make them instances of the class <strong>schema:SoftwareApplication<\/strong>, because\u00a0<strong>sd:Software <\/strong>is a subclass of\u00a0<strong>schema:SoftwareApplication<\/strong>.<\/p>\n<p>The interoperability of your data will be increased since schema.org is widely used. The cohesion achieved this way, however, will not create dependency as would have been the case if\u00a0<strong>schema:SoftwareApplication<\/strong> was directly re-used in SDO.<\/p>\n<p>If, for some reason, schema.org is gone tomorrow, nothing in your statements will break. And if another ontology, with its own class\u00a0<strong>ex:Application<\/strong>, uses the same relationship, its designers have the autonomy to have their own probably slightly different notion of what a software application is. Every instance of <strong>sd:Software\u00a0<\/strong>and\u00a0<strong>ex:Application\u00a0<\/strong>is a\u00a0<strong>schema:SoftwareApplication <\/strong>but not vice versa.<\/p>\n<div class=\"captioned-image-container\">\n<figure>\n<div class=\"image2-inset\">\n<picture><source srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 1456w\" type=\"image\/webp\" sizes=\"100vw\" \/><img loading=\"lazy\" decoding=\"async\" class=\"sizing-normal\" title=\"\" src=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png\" sizes=\"auto, 100vw\" srcset=\"https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 424w, https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 848w, https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 1272w, https:\/\/substackcdn.com\/image\/fetch\/$s_!ILbD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep\/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png 1456w\" alt=\"\" width=\"1056\" height=\"524\" data-attrs=\"{&quot;src&quot;:&quot;https:\/\/substack-post-media.s3.amazonaws.com\/public\/images\/3aa4b18a-bf76-41db-b245-d77a08ae28ee_1056x524.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:524,&quot;width&quot;:1056,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}\" \/><\/picture>\n<div class=\"image-link-expand\">\n<div class=\"pencraft pc-display-flex pc-gap-8 pc-reset\">\n<div class=\"pencraft pc-reset icon-container view-image\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/figure>\n<\/div>\n<p>And this was just using one property <strong>rdfs:subClassOf<\/strong>. RDF can be further extended to express complex relations using all axioms of first-order logic or a subset of it. This expressive power comes with two additional benefits: logical inconsistencies can be avoided, and inferencing over the graph can generate new statements (triples), which are the logical consequences of the asserted statements. We learn more from what we know already.<\/p>\n<h2 class=\"header-anchor-post\">Conclusion<\/h2>\n<div class=\"pencraft pc-display-flex pc-alignItems-center pc-position-absolute pc-reset header-anchor-parent\">\n<div class=\"pencraft pc-display-contents pc-reset pubTheme-yiXxQA\">\n<p><span style=\"font-size: 18px;\">RDF is one of those standards that brings both autonomy and cohesion. It provides interoperability, which results in cohesion between heterogeneous data sources, and flexibility, which results in increased autonomy of its users. The balance between autonomy and cohesion is achieved through standardizing identification, structure and semantics.<\/span><\/p>\n<\/div>\n<\/div>\n<p><em class=\"afw\">First published on\u00a0<\/em><a class=\"bi fg\" href=\"https:\/\/www.linkandth.ink\/\" target=\"_blank\" rel=\"noopener ugc nofollow\"><em class=\"afw\">Link &amp; Think<\/em><\/a><em class=\"afw\">.<\/em><\/p>\n<ul class=\"modern-footnotes-list modern-footnotes-list--show-only-for-print\"><li id=\"footnote-000000000d875be30000000076dcdf45_2867-1\"><span>1<\/span><div>The use of verbs like bring, provide, reduce, increase, enable, support and so on should not be taken to imply that standards of this kind have some kind of agency. The cohesion or autonomy is not the result of an action from their side but a consequence of their use. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-1\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 1 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-2\"><span>2<\/span><div>In the context of RDF, resource and entity are synonyms, and the latter is used in the RDF semantics specification. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-2\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 2 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-3\"><span>3<\/span><div>Regarding persons as resources is common but highly problematic, as I discussed\u00a0<a href=\"https:\/\/www.strategicstructures.com\/?p=1456\" rel=\"\">elsewhere<\/a>. That doesn\u2019t affect the value of RDF. It\u2019s simply a reminder that also here, an alternative, such as\u00a0<em>entity<\/em>, would\u2019ve been more appropriate. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-3\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 3 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-4\"><span>4<\/span><div>A few clarifications. All URIs today are IRIs since they can accept international characters, while the original URIs were restricted only to ASCII characters. But I\u2019ll keep calling the URIs. The second clarification is that apart from the URIs, RDF1.1 allows to have also blank nodes. Blank nodes are nodes that serve as placeholders for resources without assigning them a URI. They are usually used for grouping triples where their common subject is not supposed to be referred from other resources so it doesn\u2019t need to have a global identifier. The last clarification is that, from RDF1.2, still a draft, subjects and objects of an RDF triple can also be triple terms, in other words, nested triples. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-4\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 4 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-5\"><span>5<\/span><div>That\u2019s only the case for HTTP URIs. DID URIs are domain-independent. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-5\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 5 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-6\"><span>6<\/span><div>I use vocabulary and ontology interchangeably in this essay. In the context of semantic web ontologies, lightweight ontologies containing only definitions of properties and classes and RDFS-level axioms are usually referred to as vocabularies. There is also the term\u00a0<em>controlled vocabulary,<\/em> which encompasses reference datasets such as taxonomies, thesauri, code lists and authority tables. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-6\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 6 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-7\"><span>7<\/span><div>That something is meaningful for machines is a shorthand to point to an important utility but taken literally can lead to dangerous anthropomorphizing. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-7\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 7 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-8\"><span>8<\/span><div>That something is meaningful for machines is a shorthand to point to an important utility but taken literally can lead to dangerous anthropomorphizing. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-8\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 8 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-9\"><span>9<\/span><div>Watch <a href=\"https:\/\/youtu.be\/CbBtM05IBWE?si=3mQukGMtcDqMbgAh\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">this 18 min. lecture<\/a> by Prof. Harald Sack if you want to learn more about exploratory search with RDF. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-9\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 9 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-10\"><span>10<\/span><div>The approach is well explained in <a href=\"https:\/\/www.youtube.com\/watch?v=Q3R3Z9QEJtY\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">this video<\/a>. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-10\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 10 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-11\"><span>11<\/span><div>There are different standards for expressing business rules in RDF: SHACL, SPIN, SWRL, and RIF. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-11\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 11 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-12\"><span>12<\/span><div>See https:\/\/timbr.ai <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-12\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 12 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-13\"><span>13<\/span><div>For example, one of the most popular graph DBs, neo4j can become an RDF store using the <a href=\"https:\/\/neo4j.com\/labs\/neosemantics\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">neosemantics plugin<\/a>. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-13\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 13 in text\">\u21a9\ufe0e<\/a><\/div><\/li><li id=\"footnote-000000000d875be30000000076dcdf45_2867-14\"><span>14<\/span><div>Oxigraph is an RDF store based on the <a href=\"https:\/\/rocksdb.org\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">RocksDB<\/a> key-value store. <a href=\"#mfn-content-000000000d875be30000000076dcdf45_2867-14\" class=\"modern-footnotes-scroll-to-footnote\" aria-label=\"Back to reference 14 in text\">\u21a9\ufe0e<\/a><\/div><\/li><\/ul>","protected":false},"excerpt":{"rendered":"<p>What do empathy, common enemies, and small talk have in common? They are all\u00a0cohesion mechanisms. And so are calendars, clocks, protocols, plans, meetings, and memes. Cohesion mechanisms make elements be a whole or work as a whole. They do so by imposing constraints. Constraints reduce freedom and, in the case of agents, decrease autonomy and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-2867","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"jetpack_shortlink":"https:\/\/wp.me\/p1j0ev-Kf","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=\/wp\/v2\/posts\/2867","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2867"}],"version-history":[{"count":17,"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=\/wp\/v2\/posts\/2867\/revisions"}],"predecessor-version":[{"id":2884,"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=\/wp\/v2\/posts\/2867\/revisions\/2884"}],"wp:attachment":[{"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2867"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2867"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.strategicstructures.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2867"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}