<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://ebrahimnorouzi.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ebrahimnorouzi.github.io/" rel="alternate" type="text/html" /><updated>2026-04-15T05:40:56-05:00</updated><id>https://ebrahimnorouzi.github.io/feed.xml</id><title type="html">Ebrahim Norouzi</title><subtitle>Ph.D. Candidate</subtitle><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><entry><title type="html">Refreshed my personal site:</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-a490c867d1/" rel="alternate" type="text/html" title="Refreshed my personal site:" /><published>2026-04-11T15:31:11-05:00</published><updated>2026-04-11T15:31:11-05:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-a490c867d1</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-a490c867d1/"><![CDATA[<p>Refreshed my personal site: 
https://ebrahimnorouzi.github.io</p>

<p>The best part isn’t the design — it’s that the content updates itself. Publications (from Semantic Scholar and Zenodo), posts from Mastodon &amp; Bluesky, GitHub repos, Strava runs, Spotify plays, even my Google Scholar metrics all sync automatically through GitHub Actions and API calls.</p>

<p><a href="https://sigmoid.social/@enorouzi/116387969192690762" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon" /><summary type="html"><![CDATA[Refreshed my personal site: https://ebrahimnorouzi.github.io The best part isn’t the design — it’s that the content updates itself. Publications (from Semantic Scholar and Zenodo), posts from…]]></summary></entry><entry><title type="html">Thank you, NFDI-MatWerk, for this awesome gift! Nothing like a little…</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-95b5e89c7b/" rel="alternate" type="text/html" title="Thank you, NFDI-MatWerk, for this awesome gift! Nothing like a little…" /><published>2026-04-10T10:39:34-05:00</published><updated>2026-04-10T10:39:34-05:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-95b5e89c7b</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-95b5e89c7b/"><![CDATA[<p>Thank you, NFDI-MatWerk, for this awesome gift! Nothing like a little thermodynamics to start the day—the logo magically appears as soon as the hot coffee goes in.</p>

<p>Check out the latest updates on the MSE KG homepage:
👉 https://nfdi.fiz-karlsruhe.de/matwerk/</p>

<p>@fizise @lysander07 @heikef 
#NFDIMatWerk #KnowledgeGraph #MaterialsScience #MSE #ResearchDataManagement</p>

<p><a href="https://sigmoid.social/@enorouzi/116381160202235543" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon," /><category term="nfdimatwerk," /><category term="knowledgegraph," /><category term="materialsscience," /><category term="mse," /><category term="researchdatamanagement" /><summary type="html"><![CDATA[Thank you, NFDI-MatWerk, for this awesome gift! Nothing like a little thermodynamics to start the day—the logo magically appears as soon as the hot coffee goes in. Check out the latest updates on the…]]></summary></entry><entry><title type="html">Hiking in Potsdam! Experiencing fishing for the first time, very…</title><link href="https://ebrahimnorouzi.github.io/bluesky/bluesky-5ffb8c281e/" rel="alternate" type="text/html" title="Hiking in Potsdam! Experiencing fishing for the first time, very…" /><published>2026-04-04T13:55:03-05:00</published><updated>2026-04-04T13:55:03-05:00</updated><id>https://ebrahimnorouzi.github.io/bluesky/bluesky-5ffb8c281e</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/bluesky/bluesky-5ffb8c281e/"><![CDATA[<p>Hiking in Potsdam! Experiencing fishing for the first time, very boring:) not my hobby 🥸😅</p>

<p><a href="https://bsky.app/profile/norouzi-iut.bsky.social/post/3miovwev2ek2o" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="bluesky" /><category term="bluesky" /><summary type="html"><![CDATA[Hiking in Potsdam! Experiencing fishing for the first time, very boring:) not my hobby 🥸😅]]></summary></entry><entry><title type="html">How I Built the MSE Knowledge Graph</title><link href="https://ebrahimnorouzi.github.io/blog/how-i-built-the-mse-knowledge-graph/" rel="alternate" type="text/html" title="How I Built the MSE Knowledge Graph" /><published>2026-04-04T00:00:00-05:00</published><updated>2026-04-04T00:00:00-05:00</updated><id>https://ebrahimnorouzi.github.io/blog/how-i-built-the-mse-knowledge-graph</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/blog/how-i-built-the-mse-knowledge-graph/"><![CDATA[<p>Building a knowledge graph for an entire scientific domain is a daunting task. In this post, I’ll walk through how we built the <strong>Materials Science and Engineering Knowledge Graph (MSE-KG)</strong> as part of the NFDI-MatWerk project — the decisions we made, the tools we used, and the lessons we learned.</p>

<h2 id="why-a-knowledge-graph">Why a Knowledge Graph?</h2>

<p>Materials science data is incredibly heterogeneous. You have:</p>
<ul>
  <li><strong>Experimental data</strong> from tensile tests, SEM images, XRD spectra</li>
  <li><strong>Simulation data</strong> from DFT, molecular dynamics, FEM</li>
  <li><strong>Metadata</strong> — who did what, when, with which equipment</li>
  <li><strong>Publications</strong> linking all of these together</li>
</ul>

<p>The problem? This data lives in different formats, different databases, and different institutions. A researcher at KIT can’t easily find related experiments done at Fraunhofer, even if they’re studying the same material.</p>

<p>A <strong>knowledge graph</strong> solves this by creating a unified semantic layer — every entity (a material, a person, an experiment, a publication) becomes a node, and relationships between them become edges. All queryable via SPARQL.</p>

<h2 id="step-1-choose-your-ontology-stack">Step 1: Choose Your Ontology Stack</h2>

<p>The foundation of any knowledge graph is its ontology — the formal model that defines what types of things exist and how they relate.</p>

<p>We chose a layered approach:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>BFO (Basic Formal Ontology)        ← Upper-level
  └── NFDIcore                     ← Mid-level (cross-domain NFDI)
       └── MWO (MatWerk Ontology)  ← Domain-level (materials science)
</code></pre></div></div>

<p><strong>Why BFO?</strong> It’s the most widely adopted upper-level ontology in science. Using BFO means our ontology is inherently interoperable with hundreds of others in biology, chemistry, and engineering.</p>

<p><strong>Why NFDIcore?</strong> It provides shared classes for research infrastructure (datasets, persons, organizations, software) that are common across all NFDI consortia. This means our materials science data can interoperate with cultural heritage, chemistry, and data science data.</p>

<h2 id="step-2-model-your-domain">Step 2: Model Your Domain</h2>

<p>The hardest part isn’t the technology — it’s the <strong>modeling decisions</strong>. For materials science, we needed to represent:</p>

<ul>
  <li><strong>Materials</strong> with their composition, structure, and properties</li>
  <li><strong>Processes</strong> — how a material is synthesized, tested, or simulated</li>
  <li><strong>Measurements</strong> — what was measured, how, and what the results were</li>
  <li><strong>Provenance</strong> — who did this work, at which institution, funded by whom</li>
</ul>

<p>We used <strong>Ontology Design Patterns (ODPs)</strong> — modular, reusable modeling templates. For example, our “Process Pattern” captures:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Process → has_input → Material
Process → has_output → Material
Process → has_parameter → Parameter
Process → realized_by → Agent
</code></pre></div></div>

<p>This pattern works for everything from a tensile test to a DFT simulation.</p>

<h2 id="step-3-ingest-data">Step 3: Ingest Data</h2>

<p>We integrated data from multiple sources:</p>

<table>
  <thead>
    <tr>
      <th>Source</th>
      <th>What we extracted</th>
      <th>Method</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Semantic Scholar</td>
      <td>Publications, authors, citations</td>
      <td>API + Python scripts</td>
    </tr>
    <tr>
      <td>ORCID</td>
      <td>Researcher identifiers</td>
      <td>API</td>
    </tr>
    <tr>
      <td>ROR</td>
      <td>Organization identifiers</td>
      <td>API</td>
    </tr>
    <tr>
      <td>DataCite</td>
      <td>Dataset metadata</td>
      <td>API</td>
    </tr>
    <tr>
      <td>Wikidata</td>
      <td>Material properties, identifiers</td>
      <td>SPARQL federation</td>
    </tr>
    <tr>
      <td>Institutional DBs</td>
      <td>Experimental metadata</td>
      <td>Custom ETL pipelines</td>
    </tr>
  </tbody>
</table>

<p>Each source required a custom <strong>ETL (Extract, Transform, Load) pipeline</strong>. We wrote these in Python, outputting RDF triples that conform to our ontology.</p>

<h2 id="step-4-quality-assurance">Step 4: Quality Assurance</h2>

<p>A knowledge graph is only useful if its data is correct. We implemented:</p>

<ul>
  <li><strong>SHACL validation</strong> — shape constraints that check if the data conforms to the ontology</li>
  <li><strong>Competency questions</strong> — SPARQL queries that the KG must be able to answer (e.g., “Find all tensile test results for steel alloys published after 2020”)</li>
  <li><strong>Cross-referencing</strong> — checking that entity URIs resolve and that linked data is consistent</li>
</ul>

<h2 id="step-5-deploy-and-query">Step 5: Deploy and Query</h2>

<p>The MSE-KG is served via a <strong>SPARQL endpoint</strong> backed by a triplestore. Researchers can:</p>

<ol>
  <li>Run SPARQL queries directly</li>
  <li>Use our web interface for guided exploration</li>
  <li>Access the data via a REST API</li>
</ol>

<p>Example query — find all publications by researchers at FIZ Karlsruhe about knowledge graphs:</p>

<div class="language-sparql highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">SELECT</span><span class="w"> </span><span class="nv">?paper</span><span class="w"> </span><span class="nv">?title</span><span class="w"> </span><span class="nv">?author</span><span class="w"> </span><span class="nv">?date</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="p">{</span><span class="w">
  </span><span class="nv">?paper</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">nfdicore</span><span class="o">:</span><span class="ss">Publication</span><span class="w"> </span><span class="p">;</span><span class="w">
         </span><span class="nn">schema</span><span class="o">:</span><span class="ss">name</span><span class="w"> </span><span class="nv">?title</span><span class="w"> </span><span class="p">;</span><span class="w">
         </span><span class="nn">schema</span><span class="o">:</span><span class="ss">author</span><span class="w"> </span><span class="nv">?author</span><span class="w"> </span><span class="p">;</span><span class="w">
         </span><span class="nn">schema</span><span class="o">:</span><span class="ss">datePublished</span><span class="w"> </span><span class="nv">?date</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?author</span><span class="w"> </span><span class="nn">schema</span><span class="o">:</span><span class="ss">affiliation</span><span class="w"> </span><span class="nv">?org</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="nv">?org</span><span class="w"> </span><span class="nn">schema</span><span class="o">:</span><span class="ss">name</span><span class="w"> </span><span class="s2">"FIZ Karlsruhe"</span><span class="w"> </span><span class="p">.</span><span class="w">
  </span><span class="k">FILTER</span><span class="p">(</span><span class="nb">CONTAINS</span><span class="p">(</span><span class="nb">LCASE</span><span class="p">(</span><span class="nv">?title</span><span class="p">),</span><span class="w"> </span><span class="s2">"knowledge graph"</span><span class="p">))</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">DESC</span><span class="p">(</span><span class="nv">?date</span><span class="p">)</span><span class="w">
</span></code></pre></div></div>

<h2 id="lessons-learned">Lessons Learned</h2>

<ol>
  <li>
    <p><strong>Start with competency questions, not the ontology.</strong> Define what questions the KG needs to answer before modeling. This keeps you focused.</p>
  </li>
  <li>
    <p><strong>Reuse before you create.</strong> For every class or property you want to add, check if BFO, Dublin Core, Schema.org, or another standard already defines it.</p>
  </li>
  <li>
    <p><strong>Ontology engineering is a social process.</strong> The hardest part was getting domain experts and ontology engineers to agree on modeling decisions. Regular workshops and working examples helped enormously.</p>
  </li>
  <li>
    <p><strong>Automate everything.</strong> Data integration, validation, deployment — if it’s manual, it won’t scale and it won’t be maintained.</p>
  </li>
  <li>
    <p><strong>Ontology Design Patterns save time.</strong> Instead of modeling from scratch, reusable patterns gave us a head start and ensured consistency.</p>
  </li>
</ol>

<h2 id="whats-next">What’s Next</h2>

<p>We’re working on:</p>
<ul>
  <li>Expanding the KG with more institutional data sources</li>
  <li>Building LLM-powered interfaces for natural language querying</li>
  <li>Federated SPARQL queries across NFDI consortia</li>
  <li>Automated ontology alignment using machine learning</li>
</ul>

<hr />

<p><em>If you’re building a knowledge graph for your domain, feel free to <a href="mailto:norouzi.iut@gmail.com">reach out</a>. The MSE-KG tools and ontologies are all open source.</em></p>

<p><em>Explore the MSE-KG: <a href="https://nfdi.fiz-karlsruhe.de/matwerk/" target="_blank">https://nfdi.fiz-karlsruhe.de/matwerk/</a></em></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="blog" /><category term="knowledge-graphs," /><category term="materials-science," /><category term="ontology," /><category term="FAIR," /><category term="NFDI" /><summary type="html"><![CDATA[A practical walkthrough of building a large-scale knowledge graph for materials science — from ontology design to SPARQL queries.]]></summary></entry><entry><title type="html">What Are Ontology Design Patterns? A Practical Guide</title><link href="https://ebrahimnorouzi.github.io/blog/what-are-ontology-design-patterns/" rel="alternate" type="text/html" title="What Are Ontology Design Patterns? A Practical Guide" /><published>2026-04-04T00:00:00-05:00</published><updated>2026-04-04T00:00:00-05:00</updated><id>https://ebrahimnorouzi.github.io/blog/what-are-ontology-design-patterns</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/blog/what-are-ontology-design-patterns/"><![CDATA[<p>If you’ve ever worked with ontologies, you’ve probably experienced the “blank page problem” — staring at Protege, wondering how to model a process, a measurement, or a material composition. <strong>Ontology Design Patterns (ODPs)</strong> solve this by providing reusable, tested modeling templates.</p>

<p>Think of them as <strong>design patterns for knowledge representation</strong> — the same idea as the Gang of Four patterns in software engineering, but for ontologies.</p>

<h2 id="the-problem">The Problem</h2>

<p>Imagine you need to model a tensile test in your materials science ontology. You need to capture:</p>
<ul>
  <li>The material being tested</li>
  <li>The testing machine and its parameters</li>
  <li>The person performing the test</li>
  <li>The resulting stress-strain curve</li>
  <li>The date, location, and standard used</li>
</ul>

<p>You could model this from scratch. But then your colleague modeling a hardness test faces the same decisions. And someone else modeling a chemical synthesis. Each reinvents the wheel, and their models are incompatible.</p>

<h2 id="the-solution-patterns">The Solution: Patterns</h2>

<p>An <strong>Ontology Design Pattern</strong> is a small, self-contained ontology fragment that solves a recurring modeling problem. For the testing scenario above, you’d use a <strong>Process Pattern</strong>:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>┌─────────────┐    has_input     ┌──────────┐
│   Process    │ ───────────────→│ Material  │
│ (TensileTest)│                 └──────────┘
└──────┬───────┘
       │ has_output
       ▼
┌──────────────┐    has_parameter  ┌───────────┐
│   Result     │ ←────────────────│ Parameter │
│(StressCurve) │                  │(LoadRate) │
└──────────────┘                  └───────────┘
</code></pre></div></div>

<p>This pattern works for <em>any</em> process — synthesis, characterization, simulation — because it captures the universal structure of “something transforms inputs into outputs using parameters.”</p>

<h2 id="types-of-odps">Types of ODPs</h2>

<p>There are several categories:</p>

<h3 id="1-content-patterns">1. Content Patterns</h3>
<p>The most common type. They provide domain-independent modeling solutions:</p>

<table>
  <thead>
    <tr>
      <th>Pattern</th>
      <th>Solves</th>
      <th>Example</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Participation</strong></td>
      <td>Who/what was involved in an event</td>
      <td>A researcher participates in an experiment</td>
    </tr>
    <tr>
      <td><strong>Part-Whole</strong></td>
      <td>Composition and decomposition</td>
      <td>A composite material has layers</td>
    </tr>
    <tr>
      <td><strong>Observation</strong></td>
      <td>Measurement and its result</td>
      <td>A thermocouple measures temperature</td>
    </tr>
    <tr>
      <td><strong>Provenance</strong></td>
      <td>Who did what, when</td>
      <td>Data lineage tracking</td>
    </tr>
    <tr>
      <td><strong>Classification</strong></td>
      <td>Categorizing entities</td>
      <td>Material taxonomy</td>
    </tr>
  </tbody>
</table>

<h3 id="2-structural-patterns">2. Structural Patterns</h3>
<p>These address ontology architecture:</p>
<ul>
  <li><strong>Modularity</strong> — how to split a large ontology into manageable modules</li>
  <li><strong>Alignment</strong> — how to connect your ontology to upper-level ontologies (BFO, DOLCE)</li>
  <li><strong>Naming conventions</strong> — IRI patterns, label standards</li>
</ul>

<h3 id="3-reasoning-patterns">3. Reasoning Patterns</h3>
<p>These leverage OWL reasoning:</p>
<ul>
  <li><strong>Closure axioms</strong> — ensuring completeness</li>
  <li><strong>Value partitions</strong> — modeling categorical properties</li>
  <li><strong>N-ary relations</strong> — representing complex relationships that aren’t simply binary</li>
</ul>

<h2 id="how-we-use-odps-in-materials-science">How We Use ODPs in Materials Science</h2>

<p>In our work on the <a href="/research/">MSE Knowledge Graph</a>, we surveyed 15+ materials science ontologies and found that most contain <strong>implicit patterns</strong> — recurring structures that were never formally documented as reusable patterns.</p>

<p>We developed a method to <strong>automatically extract</strong> these implicit patterns and published them as an open catalog: <a href="https://github.com/ISE-FIZKarlsruhe/odps4mse" target="_blank">ODPs4MSE</a>.</p>

<p>Key patterns we identified:</p>

<h3 id="the-process-flow-pattern">The Process-Flow Pattern</h3>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Process → has_input → MaterialEntity
Process → has_output → MaterialEntity
Process → has_participant → Agent
Process → occurs_in → SpatiotemporalRegion
</code></pre></div></div>
<p>Used by: PMDco, MatOnto, EMMO, BWMD</p>

<h3 id="the-measurement-pattern">The Measurement Pattern</h3>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Measurement → measures_property → Quality
Measurement → has_value → ValueSpecification
ValueSpecification → has_numeric_value → xsd:float
ValueSpecification → has_unit → Unit
</code></pre></div></div>
<p>Used by: QUDT alignment, OM, EMMO</p>

<h3 id="the-material-composition-pattern">The Material Composition Pattern</h3>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Material → has_part → Constituent
Constituent → has_proportion → Proportion
Proportion → has_value → xsd:float
</code></pre></div></div>

<h2 id="how-to-use-odps-in-practice">How to Use ODPs in Practice</h2>

<h3 id="step-1-identify-your-modeling-problem">Step 1: Identify Your Modeling Problem</h3>
<p>Before reaching for Protege, write down <strong>competency questions</strong> — what should your ontology be able to answer?</p>

<p><em>Example: “What materials were tested using nanoindentation at temperatures above 500°C?”</em></p>

<h3 id="step-2-search-for-existing-patterns">Step 2: Search for Existing Patterns</h3>
<p>Check these resources:</p>
<ul>
  <li><a href="http://ontologydesignpatterns.org/" target="_blank">Ontology Design Patterns portal</a></li>
  <li><a href="https://github.com/ISE-FIZKarlsruhe/odps4mse" target="_blank">ODPs4MSE catalog</a></li>
  <li>Existing domain ontologies (they often contain implicit patterns)</li>
</ul>

<h3 id="step-3-adapt-and-compose">Step 3: Adapt and Compose</h3>
<p>Patterns are building blocks. Combine the Process Pattern with the Measurement Pattern to model “a tensile test that produces a stress-strain measurement.”</p>

<h3 id="step-4-validate-with-shacl">Step 4: Validate with SHACL</h3>
<p>Write SHACL shapes that enforce your patterns. This catches data that doesn’t conform:</p>

<div class="language-turtle highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">ex:</span><span class="n">ProcessShape</span><span class="w"> </span><span class="k">a</span><span class="w"> </span><span class="nn">sh:</span><span class="n">NodeShape</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">sh:</span><span class="n">targetClass</span><span class="w"> </span><span class="nn">mwo:</span><span class="n">Process</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="nn">sh:</span><span class="n">property</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="nn">sh:</span><span class="n">path</span><span class="w"> </span><span class="nn">mwo:</span><span class="n">has_input</span><span class="w"> </span><span class="p">;</span><span class="w">
        </span><span class="nn">sh:</span><span class="n">minCount</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">;</span><span class="w">
        </span><span class="nn">sh:</span><span class="n">class</span><span class="w"> </span><span class="nn">mwo:</span><span class="n">MaterialEntity</span><span class="w"> </span><span class="p">;</span><span class="w">
    </span><span class="p">]</span><span class="w"> </span><span class="p">.</span><span class="w">
</span></code></pre></div></div>

<h2 id="why-odps-matter">Why ODPs Matter</h2>

<ol>
  <li><strong>Consistency</strong> — Multiple teams model the same things the same way</li>
  <li><strong>Reusability</strong> — Don’t reinvent the wheel for every new project</li>
  <li><strong>Interoperability</strong> — Shared patterns make ontology alignment easier</li>
  <li><strong>Learnability</strong> — Newcomers have concrete examples to follow</li>
  <li><strong>Quality</strong> — Patterns encode best practices and avoid common pitfalls</li>
</ol>

<h2 id="further-reading">Further Reading</h2>

<ul>
  <li>Gangemi, A. (2005). <em>Ontology Design Patterns for Semantic Web Content</em></li>
  <li>Blomqvist, E. et al. (2016). <em>Ontology Engineering with Ontology Design Patterns</em></li>
  <li>Our paper: <a href="https://arxiv.org/abs/2509.23776" target="_blank">Semantic Representation of Processes with Ontology Design Patterns</a></li>
</ul>

<hr />

<p><em>Working on an ontology and not sure how to model something? Check if there’s a pattern for it first. And if you create a new pattern, please share it — the community benefits from every documented solution.</em></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="blog" /><category term="ontology," /><category term="design-patterns," /><category term="knowledge-engineering," /><category term="semantic-web," /><category term="materials-science" /><summary type="html"><![CDATA[Ontology Design Patterns are reusable solutions to common modeling problems — like software design patterns, but for knowledge representation.]]></summary></entry><entry><title type="html">Boost: Two intense days at the NFDI-MatWerk All-hands-on-Deck meeting in…</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-2e5c3f5371/" rel="alternate" type="text/html" title="Boost: Two intense days at the NFDI-MatWerk All-hands-on-Deck meeting in…" /><published>2026-03-13T05:49:29-05:00</published><updated>2026-03-13T05:49:29-05:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-2e5c3f5371</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-2e5c3f5371/"><![CDATA[<p><em>Boosted from <a href="https://sigmoid.social/@lysander07/116221474893146765">@lysander07</a></em></p>

<p>Two intense days at the NFDI-MatWerk All-hands-on-Deck meeting in Siegburg! Huge kudos to the organising team for making it so fruitful. Loved connecting with the MatWerk community, reflecting on Phase 1 achievements and getting excited for Phase 2. Big shoutout to the @fizise team: @enorouzi @heikef Hossein Beygi Nasrabadi and Alsayed Algergawy!</p>

<p>@fiz_karlsruhe #NFDI @nfdi4culture @NFDI4DS #materialsscience #AI #ontologies #knowledgegraphs #semanticweb #researchdata</p>

<p><a href="https://sigmoid.social/@lysander07/116221474893146765" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon," /><category term="boost," /><category term="nfdi," /><category term="materialsscience," /><category term="ai," /><category term="ontologies," /><category term="KnowledgeGraphs" /><summary type="html"><![CDATA[*Boosted from [@lysander07](https://sigmoid.social/@lysander07/116221474893146765)* Two intense days at the NFDI-MatWerk All-hands-on-Deck meeting in Siegburg! Huge kudos to the organising team for…]]></summary></entry><entry><title type="html">Boost: Yesterday, our colleague @enorouzi won the “Best Demo” award at the…</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-02cca00af1/" rel="alternate" type="text/html" title="Boost: Yesterday, our colleague @enorouzi won the “Best Demo” award at the…" /><published>2026-03-12T03:18:49-05:00</published><updated>2026-03-12T03:18:49-05:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-02cca00af1</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-02cca00af1/"><![CDATA[<p><em>Boosted from <a href="https://sigmoid.social/@fizise/116215220113760178">@fizise</a></em></p>

<p>Yesterday, our colleague @enorouzi won the “Best Demo” award at the NFDI-MatWerk All-hands-on-Deck meeting in Siegburg with his presentation of the MSE Knowledge Graph. Congratuzlations 🎉</p>

<p>MSE-KG Webpage: https://nfdi.fiz-karlsruhe.de/matwerk/</p>

<p>#knowledgegraphs #ontologies #AI #materialsscience @NFDI @nfdi4culture @NFDI4Memory @NFDI4DS @fiz_karlsruhe @lysander07 @heikef #Siegburg</p>

<p><a href="https://sigmoid.social/@fizise/116215220113760178" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon," /><category term="boost," /><category term="KnowledgeGraphs," /><category term="ontologies," /><category term="ai," /><category term="materialsscience," /><category term="siegburg" /><summary type="html"><![CDATA[*Boosted from [@fizise](https://sigmoid.social/@fizise/116215220113760178)* Yesterday, our colleague @enorouzi won the "Best Demo" award at the NFDI-MatWerk All-hands-on-Deck meeting in Siegburg with…]]></summary></entry><entry><title type="html">Boost: Today, at the NFDI-MatWerk AHoD Meeting in Siegburg: @enorouzi is…</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-b3da974308/" rel="alternate" type="text/html" title="Boost: Today, at the NFDI-MatWerk AHoD Meeting in Siegburg: @enorouzi is…" /><published>2026-03-11T09:22:28-05:00</published><updated>2026-03-11T09:22:28-05:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-b3da974308</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-b3da974308/"><![CDATA[<p><em>Boosted from <a href="https://sigmoid.social/@fizise/116210987737924188">@fizise</a></em></p>

<p>Today, at the NFDI-MatWerk AHoD Meeting in Siegburg: @enorouzi is giving a demo on out MSE-KG, the knowledge graph-based infrastructure for research data of the consortium.</p>

<p>The MatWerk KG: https://nfdi.fiz-karlsruhe.de/matwerk/</p>

<p>#ontologies #knowledgegraph @NFDI #NFDIMatWerk #researchdata #NFDIrocks #Siegburg #materialsscience @fiz_karlsruhe @nfdi4culture @NFDI4DS</p>

<p><a href="https://sigmoid.social/@fizise/116210987737924188" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon," /><category term="boost," /><category term="ontologies," /><category term="knowledgegraph," /><category term="nfdimatwerk," /><category term="researchdata," /><category term="NFDIrocks" /><summary type="html"><![CDATA[*Boosted from [@fizise](https://sigmoid.social/@fizise/116210987737924188)* Today, at the NFDI-MatWerk AHoD Meeting in Siegburg: @enorouzi is giving a demo on out MSE-KG, the knowledge graph-based…]]></summary></entry><entry><title type="html">Boost: 🚀 PMD core ontology (PMDco) v3.0.0 Release</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-073be91dc5/" rel="alternate" type="text/html" title="Boost: 🚀 PMD core ontology (PMDco) v3.0.0 Release" /><published>2026-03-07T02:37:10-06:00</published><updated>2026-03-07T02:37:10-06:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-073be91dc5</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-073be91dc5/"><![CDATA[<p><em>Boosted from <a href="https://sigmoid.social/@fizise/116186980690444918">@fizise</a></em></p>

<p>🚀 PMD core ontology (PMDco) v3.0.0 Release</p>

<p>This release marks a major milestone for the #PMD working area Semantic Interoperability and reflects several years of joint conceptual work, implementation, discussion, and validation across projects and disciplines.</p>

<p>GitHub: https://github.com/materialdigital/core-ontology
PMDco 3.0.0: https://materialdigital.github.io/core-ontology/index-en.html#
Docs: https://materialdigital.github.io/core-ontology/docs/</p>

<p>#ontologies #materialsscience #materialdigital #AI #symbolicAI #knowledgerepresentation @fiz_karlsruhe @joerg @enorouzi @lysander07</p>

<p><a href="https://sigmoid.social/@fizise/116186980690444918" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon," /><category term="boost," /><category term="pmd," /><category term="ontologies," /><category term="materialsscience," /><category term="materialdigital," /><category term="ai" /><summary type="html"><![CDATA[*Boosted from [@fizise](https://sigmoid.social/@fizise/116186980690444918)* 🚀 PMD core ontology (PMDco) v3.0.0 Release This release marks a major milestone for the #PMD working area Semantic…]]></summary></entry><entry><title type="html">Boost: We are happy that our new paper “NFDI MatWerk Ontology (MWO): A BFO-…</title><link href="https://ebrahimnorouzi.github.io/mastodon/mastodon-76ff8daf4e/" rel="alternate" type="text/html" title="Boost: We are happy that our new paper “NFDI MatWerk Ontology (MWO): A BFO-…" /><published>2025-12-01T05:27:06-06:00</published><updated>2025-12-01T05:27:06-06:00</updated><id>https://ebrahimnorouzi.github.io/mastodon/mastodon-76ff8daf4e</id><content type="html" xml:base="https://ebrahimnorouzi.github.io/mastodon/mastodon-76ff8daf4e/"><![CDATA[<p><em>Boosted from <a href="https://sigmoid.social/@fizise/115644067129092907">@fizise</a></em></p>

<p>We are happy that our new paper “NFDI MatWerk Ontology (MWO): A BFO-Compliant Ontology for Research Data Management in Materials Science and Engineering” is being published by Advanced Engineering Materials as #openaccess 
This is joint work with Hossein Nasrabadi, @enorouzi Kostiantyn Hubaiev, @joerg and @lysander07 
https://advanced.onlinelibrary.wiley.com/doi/10.1002/adem.202502331</p>

<p>#ontologies #semanticweb #nfdimatwerk #BFO #knowledgegraphs @fiz_karlsruhe #nfdirocks @nfdi4culture @NFDI4DS @NFDI4Memory</p>

<p><a href="https://sigmoid.social/@fizise/115644067129092907" target="_blank">View original post</a></p>]]></content><author><name>Ebrahim Norouzi</name><email>norouzi.iut@gmail.com</email></author><category term="mastodon" /><category term="mastodon," /><category term="boost," /><category term="openaccess," /><category term="ontologies," /><category term="semanticweb," /><category term="nfdimatwerk," /><category term="bfo" /><summary type="html"><![CDATA[*Boosted from [@fizise](https://sigmoid.social/@fizise/115644067129092907)* We are happy that our new paper "NFDI MatWerk Ontology (MWO): A BFO-Compliant Ontology for Research Data Management in…]]></summary></entry></feed>