# FuXi: Reborn Semantic Web Reasoner & Interlocutor

> A knowledge graph meshup connecting the [FuXi origin story](https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7#this) on Medium with the [semantic-web-reasoner-skill](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23swrSkill) MCP tool collection — bridging theoretical reasoning concepts with a practical LLM-assisted ontology toolkit.

**View infographic:** [fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.html](fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.html)  
**RDF source:** [fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl](../rdf/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl)  
**JSON-LD:** [fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.jsonld](../rdf/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.jsonld)

---

## Key Theoretical Concepts

### [Forward Chaining](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23forwardChaining)

A data-driven inference method that starts with available data and uses inference rules to derive new facts (extract more data) until a goal is reached. Used in FuXi's RETE-UL evaluation engine.

### [Backward Chaining](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23backwardChaining)

A goal-driven inference method that works backward from a goal, identifying rules whose conclusion matches and recursively satisfying their premises. Implemented in FuXi via the Backward Fixpoint Procedure.

### [Meta-Interpretation](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23metaInterpretation)

A logic programming technique where an interpreter for a language is written in that same language. In FuXi, the meta-interpreter compiles a ruleset and goal into RETE-UL meta-interpretation rules that drive query evaluation.

### [RETE-UL](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23reteUL)

A modification of the original RETE production rule algorithm (Doorenbos 1995) that limits fact syntax to 3-item tuples, naturally mapping to RDF trip

### [Backward Fixpoint Procedure (BFP)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23bfp)

A meta-interpreter defined by Francois Bry (1990) for reconciling bottom-up and top-down query evaluation in recursive databases. Asserts query and ev

### [SPARQL Interlocution](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlInterlocution)

An extension of Bry's BFP meta-interpreter that incorporates SPARQL service evaluation into the reasoning loop. Generates open queries and intermediat

### [Description Logic Programs (DLP)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23dlp)

A technique from Grosof et al. (2003) providing a direct mapping from a subset of OWL Description Logic into equivalent Horn rules (logic programs). U

### [Open World Assumption (OWA)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23openWorldAssumption)

The semantic principle of OWL and RDF stating that the absence of a stated fact does not imply its falsehood. A reasoning-aware application can assume

### [Sideways Information Passing (SIP)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sip)

Query evaluation strategies that pass variable binding information (bound/free adornments) sideways between rule body terms. Originating from relation

### [TBox (Terminological Box)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23tbox)

In Description Logic, the TBox contains terminological statements: class names, property descriptions, restrictions, and their hierarchies. Defines th

### [ABox (Assertional Box)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23abox)

In Description Logic, the ABox contains grounded individual statements: class memberships, object relationships, and data property values for specific

---

## Core Tool Ecosystem

Software stack surrounding FuXi — from RDF I/O to OWL verbalization.

### [FuXi](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23fuxi)

A Python bi-directional reasoning engine (forward/bottom-up + backward/top-down) companion to RDFLib. Handles OWL 1.1/2.0, RDF, RDFS, RIF, N3. Impleme

### [owl_dsl](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23owlDsl)

A Python tool for verbalizing OWL ontologies into Controlled Natural Language. Renders OWL classes and properties as Manchester Syntax phrases. Used b

### [ROBOT](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23robot)

A command-line tool for OBO Foundry ontology development. Validates OWL 2 profiles (RL, DL). Used by the skill's check-ontology tool for running struc

### [riot (Apache Jena)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23riot)

Apache Jena's RDF I/O Technology CLI. Parses, converts, and validates RDF in multiple serialization formats. Used by the semantic-web-reasoner-skill f

### [owlready2](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23owlready2)

A Python module for manipulating OWL 2.0 ontologies using SQLite persistence. Used by the skill's ontology management tools (create-ontology, list-ont

### [Pychinko](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23pychinko)

An early Python N3 reasoner using the original RETE algorithm. FuXi (circa 2006) initially continued in Pychinko's footsteps before evolving to the RE

### [CWM (Closed World Machine)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23cwm)

W3C's Notation 3 reasoner. One of the first N3 reasoners used in the CVIR project before FuXi was created.

### [Euler](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23euler)

An N3 reasoner supporting backward reasoning. One of the early reasoners (alongside CWM and Pychinko) used before FuXi was created to handle larger sc

---

## FuXi CLI Subcommands

`schema:SoftwareSourceCode` instances — command-line examples from the knowledge graph.

### [fuxi.core](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23fuxiCoreTool)

*Python / CLI*

FuXi CLI subcommand for forward chaining evaluation and RETE network diagnostics.

```bash
fuxi.core facts.n3
```

### [fuxi.owl](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23fuxiOWLTool)

*Python / CLI*

FuXi CLI subcommand for OWL reasoning, DLP compilation, and BFP query answering. Supports --dlp, --hybrid, --method=bfp, --why (SPARQL goal), --output.

```bash
fuxi.owl --method=bfp --dlp --hybrid --ns eg=http://example.net/vocab# --why "ASK { eg:bob your:isBrotherOf eg:joe }" --output proof-graph-svg test/OWL/inverseOf/premises001.rdf > proof.svg
```

### [fuxi.proof](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23fuxiProofTool)

*Python / CLI*

FuXi CLI subcommand for proof and SIP graph generation. Output formats: rete-network-svg, sip-collection-svg, adornment, pml, proof-graph-svg, proof-graph-png.

```bash
fuxi.proof --method=bfp --dlp --hybrid --ns eg=http://example.net/vocab# --why "ASK { eg:bob your:isBrotherOf eg:joe }" --output rete-network-svg test/OWL/inverseOf/premises001.rdf > rete_network.svg
```

---

## Skill Tool Inventory

[semantic-web-reasoner-skill](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23swrSkill) — 10 tool definitions for LLM-assisted OWL reasoning.

- **[list-ontologies](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23listOntologiesTool)** — Lists OWL ontologies saved as owlready2 SQLite files in a working directory.
- **[verbalize-ontology-class](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23verbalizeOntologyClassTool)** — Verbalizes an OWL class into Controlled Natural Language using owlready2 and owl_dsl. Input: ontologyUri, sqliteFile, ba
- **[find-ontology-property](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23findOntologyPropertyTool)** — Finds OWL properties by label and URL pattern in an ontology SQLite file.
- **[create-ontology](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23createOntologyTool)** — Creates an owlready2 SQLite ontology and archives provenance for later use. Input: ontologyUri, baseUri, owlFile, workin
- **[find-ontology-class](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23findOntologyClassTool)** — Finds OWL classes by label pattern (string or regex) in an ontology SQLite file.
- **[dir-ontology](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23dirOntologyTool)** — Lists ontology terms in Manchester OWL Syntax from an owlready2 SQLite file.
- **[check-ontology](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23checkOntologyTool)** — Runs a ROBOT-powered structural and quality report on all issues with an OWL ontology file.
- **[extract-class](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23extractClassTool)** — Extracts a class and its dependencies from an OWL ontology. Input: owlFile, term, outputOwl.
- **[ontology-report](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23ontologyReportTool)** — Exports details about ontology entities as a tabular report file.
- **[ontology-measure-essentials](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23ontologyMeasureTool)** — Computes quantitative and structural metrics about an OWL ontology: class count, property count, complexity, coverage, a

---

## HowTo: Run FuXi BFP Reasoning

### 1. [Step 1](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step1)

Use uv to install FuXi and owl_dsl into your Python environment: 'uv pip install fuxi owl_dsl'. Alternatively use 'uv pip install -e ".[dev]"' for development mode. uv is preferred for environment isolation and reproducibility.

### 2. [Step 2](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step2)

Use the create-ontology tool with ontologyUri, baseUri, and owlFile parameters to create an owlready2 SQLite ontology. Use list-ontologies to enumerate existing ontologies. Use dir-ontology to list terms in Manchester OWL Syntax.

### 3. [Step 3](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step3)

Use verbalize-ontology-class providing the ontology URI, SQLite file, base URI, and class reference. The tool renders OWL classes in Controlled Natural Language using owl_dsl, enabling LLM-assisted ontology Q&A and annotation suggestion workflows.

### 4. [Step 4](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step4)

Use check-ontology or invoke ROBOT directly: 'robot validate-profile --profile DL --input ontology.owl'. Use '--profile RL' for the OWL 2 RL profile. Structural errors and profile violations are reported in the output.

### 5. [Step 5](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step5)

Invoke fuxi.owl with --method=bfp --dlp --hybrid flags to compile OWL axioms into Horn rules and run Backward Fixpoint Procedure reasoning. Use --why 'SPARQL GOAL' to specify the entailment query, --ns for namespace prefixes, and --output proof-graph-svg to visualize the proof trace.

### 6. [Step 6](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step6)

Use fuxi.proof with --output rete-network-svg to render the meta-interpreter RETE-UL network as SVG. Use --output sip-collection-svg to show Sideways Information Passing binding adornments (b=bound, f=free) flowing through rule evaluation. Both outputs can be refined in Inkscape.

### 7. [Step 7](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23step7)

Use fuxi.proof with --output pml to serialize the reasoning proof in Provenance Markup Language. The generated RDF proof can be uploaded to a Virtuoso SPARQL endpoint (e.g., via the Virtuoso example at linkeddata.uriburner.com) for exploration using SPARQL queries.

---

## Frequently Asked Questions

### [What is FuXi and why is it called a 'reborn' reasoner?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

FuXi is a Python bi-directional reasoning engine companion to RDFLib, supporting forward-chaining (RETE-UL) and backward-chaining (Backward Fixpoint Procedure). It is called 'reborn' because version 2.0.1 (2026) is a major modernisation restoring its OWL 1.1/2.0, RDF/RDFS, RIF, and SPARQL Entailment capabilities after years of dormancy, adapting to Python and rdflib changes in the interim.

### [How does FuXi's proof visualisation work?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

FuXi's fuxi.proof command generates: proof-graph-svg/png (the full SPARQL interlocution proof trace); rete-network-svg/png (the RETE-UL meta-interpreter network used for evaluation); sip-collection-svg/png (SIP binding adornments showing b=bound / f=free variables); adornment (adorned rule text); and pml (Provenance Markup Language RDF serialisation of the full proof). SVG outputs can be refined in Inkscape for publication.

### [What is the 'meshup' relationship between the article and the skill?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

A meshup creates a semantic mesh where entities from both sources share IRIs and are interconnected rather than merely mixed. The Medium article provides the theoretical and historical layer: RETE-UL, BFP, SPARQL interlocution, DLP, and OWA. The GitHub skill provides the tool layer: fuxi.owl, fuxi.proof, verbalize-ontology-class, robot, owl_dsl, riot. FuXi is the central connecting entity. Together they form an integrated knowledge graph where every theoretical concept links to its implementation and every tool links to its reasoning foundations.

### [What is the vision for generative expert systems?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

Chimezie Ogbuji envisions FuXi as part of a suite for building generative expert systems — systems combining traditional expert system techniques (OWL ontologies, logic rules, backward-chaining proof, PML provenance) with modern transformer-based LLMs. The FuXi series has three parts: (1) origin story and SPARQL interlocution theory (this article); (2) FuXi as SPARQL service endpoint for high-performance ontology reasoning; (3) verbalizing OWL ontologies, rules, and proofs with owl_dsl for LLM-guided expert reasoning workflows.

### [What is RETE-UL and how does it relate to RDF?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

RETE-UL (from Doorenbos 1995) modifies the original RETE algorithm by limiting fact syntax to 3-item tuples, which correspond naturally to RDF triples (subject, predicate, object). It uses hash tables to improve the efficiency of alpha and beta network nodes. FuXi implements RETE-UL as its production rule evaluation engine for both forward-chaining fact derivation and meta-interpretation rule evaluation.

### [What is the Backward Fixpoint Procedure and how does FuXi use it?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

The BFP (Bry 1990) is a meta-interpreter that compiles a ruleset and a goal into meta-interpretation rules: evaluate-k terms trigger rule body evaluation; query-p terms assert new sub-goals; fact assertions trigger new queries. A forward-chaining RETE-UL network evaluates these rules, simulating backward-chaining SLD resolution. Chimezie Ogbuji adapted BFP for RDF, RDFS, OWL, and N3 in 2011.

### [What is SPARQL interlocution?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

SPARQL interlocution extends Bry's BFP meta-interpreter by incorporating SPARQL service evaluation into the reasoning loop. It generates only relevant facts and sub-queries in response to intermediate bindings, enabling complete, sound, safely memoized bottom-up simulation of SLD resolution. It solves the problem of dynamically inferring logically entailed RDF triples under SPARQL Entailment Regimes without pre-materialising the full inference closure — analogous to how SQL views are computed on demand rather than stored.

### [What tools does the semantic-web-reasoner-skill provide?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

The skill provides 10 tool definitions: list-ontologies, verbalize-ontology-class, find-ontology-property, create-ontology, find-ontology-class, dir-ontology, check-ontology, extract-class, ontology-report, and ontology-measure-essentials. It also exposes three FuXi CLI subcommands (fuxi.core for RETE diagnostics; fuxi.owl for OWL/DLP/BFP reasoning; fuxi.proof for proof and SIP graph generation) and ROBOT validation commands.

### [How does the skill use LLMs for ontology verbalization?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

The skill uses owl_dsl via owlready2 to render OWL classes and properties as Controlled Natural Language phrases in Manchester Syntax. These are injected into the LLM context, enabling the agent to suggest annotation property values (e.g., IAO definition annotations), check Q&A accuracy, and generate human-readable descriptions. The verbalize-ontology-class workflow was demonstrated using the open-weight Qwen3.6-35B model on commodity hardware.

### [What is the Open World Assumption and why does it matter for SPARQL?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

The OWA states that absence of a stated fact does not imply its falsehood. For SPARQL, this means a reasoning-aware implementation should return results for patterns that are logically entailed — not only those explicitly stored. Section 1.3 of the SPARQL 1.1 Entailment Regimes recommendation defines this declaratively: it specifies required answers without mandating any specific reasoning strategy (forward or backward chaining).

### [What is DLP and how does FuXi compile OWL axioms?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

DLP (Grosof et al. 2003) provides a direct mapping from OWL Description Logic subsets to equivalent Horn rules. FuXi uses DLP to compile OWL axioms such as owl:inverseOf and owl:TransitiveProperty into N3 Horn rules — for example, owl:inverseOf(hasBrother, isBrotherOf) compiles to two bidirectional Horn rules. These rules are then evaluated by the RETE-UL engine, operationally analogous to how meta-interpreters compile rules into equivalent Horn clauses for SPARQL interlocution.

### [What are Sideways Information Passing strategies?](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23faq)

SIP strategies pass variable binding information (bound/free adornments) between rule body terms, directing search toward known access patterns. They originate from relational database research: Magic Sets (Bancilhon et al. 1985) and the power of magic (Beeri & Ramakrishnan 1987). FuXi uses SIP through its BFP meta-interpreter to efficiently evaluate recursive SPARQL queries, and fuxi.proof can render SIP collection graphs and adorned rules showing b/f adornments.

---

## Glossary

### [ABox (Assertional Box)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23abox)

In Description Logic, the ABox contains grounded individual statements: class memberships, object relationships, and data property values for specific named individuals. Uses the vocabulary defined in the TBox.

### [Backward Fixpoint Procedure (BFP)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23bfp)

A meta-interpreter defined by Francois Bry (1990) for reconciling bottom-up and top-down query evaluation in recursive databases. Asserts query and evaluate terms that trigger goal-directed fact generation, enabling a forward-chaining network to simulate SLD resolution.

### [Description Logic Programs (DLP)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23dlp)

A technique from Grosof et al. (2003) providing a direct mapping from a subset of OWL Description Logic into equivalent Horn rules (logic programs). Used in FuXi to compile OWL axioms (inverseOf, TransitiveProperty) into N3 Horn rules for RETE-UL evaluation.

### [Meta-Interpreter](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23termMetaInterpreter)

An interpreter for a language written in the language itself. In FuXi, the meta-interpreter compiles N3/RIF rules and a SPARQL goal into RETE-UL meta-interpretation rules (evaluate-k and query-p terms) that drive backward-reasoning simulation via a forward-chaining network.

### [Notation 3 (N3)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23termN3)

A W3C Semantic Web rule language extending RDF with quantified variables, formula contexts, and rule notation. Supported by early reasoners CWM, Euler, Pychinko, and FuXi. N3 rules use left-to-right infix notation with { premise } => { conclusion } syntax.

### [Open World Assumption (OWA)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23openWorldAssumption)

The semantic principle of OWL and RDF stating that the absence of a stated fact does not imply its falsehood. A reasoning-aware application can assume a logically entailed statement is present even if not explicitly in the knowledge base. SPARQL 1.1 Entailment Regimes formalise this declaratively.

### [Production Rule Matching](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23productionRuleMatching)

The process of matching facts in working memory against conditions (left-hand sides) of production rules to determine which rules can fire. RETE and RETE-UL networks implement this efficiently using discriminating network nodes.

### [RETE-UL](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23reteUL)

A modification of the original RETE production rule algorithm (Doorenbos 1995) that limits fact syntax to 3-item tuples, naturally mapping to RDF triples (subject, predicate, object). Uses hash tables for efficient alpha and beta network node evaluation.

### [Rule Interchange Format (RIF)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23termRIF)

A W3C standard for exchanging rules among rule systems. FuXi adopts the RIF Basic Logic Dialect (BLD) as its abstract syntax and API for representing and serializing Horn rules. FuXi can output rules in both BLD and N3 format.

### [SLD Resolution](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sldResolution)

Selective Linear Definite clause resolution — the inference mechanism underlying logic programming. Implemented in FuXi via backward-chaining simulation using the Backward Fixpoint Procedure over a forward-chaining RETE-UL network.

### [SPARQL Interlocution](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlInterlocution)

An extension of Bry's BFP meta-interpreter that incorporates SPARQL service evaluation into the reasoning loop. Generates open queries and intermediate bindings, enabling complete, sound, memoized bottom-up simulation of SLD resolution even over recursive rules. Enables declarative SPARQL Entailment Regime evaluation without pre-materializing the full inference closure.

### [Sideways Information Passing (SIP)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sip)

Query evaluation strategies that pass variable binding information (bound/free adornments) sideways between rule body terms. Originating from relational database Magic Sets research (Beeri & Ramakrishnan 1987; Bancilhon et al. 1985), SIP enables efficient evaluation of recursive queries by directing search toward relevant facts.

### [TBox (Terminological Box)](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23tbox)

In Description Logic, the TBox contains terminological statements: class names, property descriptions, restrictions, and their hierarchies. Defines the vocabulary (schema) used to describe a domain.

### [TBox / ABox](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23termTBoxABox)

In Description Logic: TBox (Terminological Box) defines the vocabulary — class names, property descriptions, restrictions, and hierarchies. ABox (Assertional Box) contains grounded individual statements using that vocabulary. Together they constitute an OWL knowledge base.

---

## Explore the Knowledge Graph via SPARQL

Named graph (Turtle): `https://linkeddata.uriburner.com/DAV/demos/daas/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl`  
Named graph (JSON-LD): `https://linkeddata.uriburner.com/DAV/demos/daas/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.jsonld`

### Entity Types Overview

```sparql
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT
    ?type
    (SAMPLE(?s) AS ?sampleEntity)
    (SAMPLE(?label) AS ?sampleLabel)
    (COUNT(?s) AS ?entityCount)
WHERE {
    GRAPH <https://linkeddata.uriburner.com/DAV/demos/daas/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl> {
        ?s rdf:type ?type .
        OPTIONAL { ?s rdfs:label ?label }
    }
}
GROUP BY ?type
ORDER BY DESC(?entityCount)
```

[Run live entity-types query on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20rdf%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%0ASELECT%0A%20%20%20%20%3Ftype%0A%20%20%20%20%28SAMPLE%28%3Fs%29%20AS%20%3FsampleEntity%29%0A%20%20%20%20%28SAMPLE%28%3Flabel%29%20AS%20%3FsampleLabel%29%0A%20%20%20%20%28COUNT%28%3Fs%29%20AS%20%3FentityCount%29%0AWHERE%20%7B%0A%20%20%20%20GRAPH%20%3Chttps%3A%2F%2Flinkeddata.uriburner.com%2FDAV%2Fdemos%2Fdaas%2Ffuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl%3E%20%7B%0A%20%20%20%20%20%20%20%20%3Fs%20rdf%3Atype%20%3Ftype%20.%0A%20%20%20%20%20%20%20%20OPTIONAL%20%7B%20%3Fs%20rdfs%3Alabel%20%3Flabel%20%7D%0A%20%20%20%20%7D%0A%7D%0AGROUP%20BY%20%3Ftype%0AORDER%20BY%20DESC%28%3FentityCount%29&format=text%2Fx-html%2Btr&timeout=0&debug=on&run=+Run+Query+)

---

## FuXi → SPARQL Translation Examples

`schema:SoftwareSourceCode` SPARQL queries from the [FuXi test suite](https://github.com/RDFLib/FuXi) — with the ABox/TBox sample datasets used in each reasoning example.

---

### 1. [FuXi BFP Goal: inverseOf Entailment](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlGoalInverseOf)

*SPARQL ASK — goal query* · [Source](https://github.com/RDFLib/FuXi/tree/master/test/OWL/inverseOf/)

The SPARQL ASK goal FuXi evaluates via Backward Fixpoint Procedure using `owl:inverseOf`. FuXi proves `eg:bob isBrotherOf eg:joe` by backward chaining from the asserted inverse.

**[Sample Dataset: inverseOf](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetInverseOf)**

[ABox — asserted facts](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetInverseOfABox):

```turtle
@prefix your: <http://example.net/vocab#> .
@prefix eg: <http://example.net/> .

eg:joe your:isBrotherOf eg:bob .
```

[TBox — ontology axioms](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetInverseOfTBox):

```turtle
@prefix your: <http://example.net/vocab#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

your:isBrotherOf owl:inverseOf your:isBrotherOf .
```

> Entailed: `eg:bob your:isBrotherOf eg:joe` — proved via owl:inverseOf backward chaining

**SPARQL goal evaluated by FuXi:**

```sparql
PREFIX your: <http://example.net/vocab#>
PREFIX eg: <http://example.net/>

ASK {
  eg:bob your:isBrotherOf eg:joe .
}
```

[Run on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20your%3A%20%3Chttp%3A%2F%2Fexample.net%2Fvocab%23%3E%0APREFIX%20eg%3A%20%3Chttp%3A%2F%2Fexample.net%2F%3E%0A%0AASK%20%7B%0A%20%20eg%3Abob%20your%3AisBrotherOf%20eg%3Ajoe%20.%0A%7D&format=text%2Fx-html%2Btr&timeout=0&debug=on&run=+Run+Query+)

---

### 2. [FuXi SPARQL Interlocution: EDB Property Check](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlEDBSubQuery)

*SPARQL ASK — EDB sub-query* · [Source](https://github.com/RDFLib/FuXi/blob/master/test/testBFPQueryMemoization.py)

The SPARQL ASK FuXi generates internally during SPARQL interlocution, dispatched to the EDB to check for OWL functional/inverse-functional property axioms before applying Horn rules.

**[Sample Dataset: intersectionOf](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetIntersectionOf)**

[Ontology (ABox + TBox)](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetIntersectionOfOnt):

```turtle
@prefix first: <http://www.w3.org/2002/03owlt/intersectionOf/premises001#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

first:C owl:intersectionOf ( first:Employee first:Student ) .
first:John a first:B .
first:B owl:intersectionOf ( first:Student first:Employee ) .
```

> Entailed: FuXi dispatches ASK to EDB: false → no functional properties → skips those Horn rules

**SPARQL sub-query generated by FuXi:**

```sparql
PREFIX owl: <http://www.w3.org/2002/07/owl#>

ASK {
  [] a ?KIND
  FILTER(
    ?KIND = owl:InverseFunctionalProperty ||
    ?KIND = owl:FunctionalProperty
  )
}
```

[Run on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20owl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0A%0AASK%20%7B%0A%20%20%5B%5D%20a%20%3FKIND%0A%20%20FILTER%28%0A%20%20%20%20%3FKIND%20%3D%20owl%3AInverseFunctionalProperty%20%7C%7C%0A%20%20%20%20%3FKIND%20%3D%20owl%3AFunctionalProperty%0A%20%20%29%0A%7D&format=text%2Fx-html%2Btr&timeout=0&debug=on&run=+Run+Query+)

---

### 3. [FuXi Forward Chaining: Superproperty Entailment](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlSuperpropertyGoal)

*SPARQL SELECT — entailment check* · [Source](https://github.com/RDFLib/FuXi/blob/master/test/test_superproperty_entailment.py)

Demonstrates FuXi RETE-UL forward-chaining from `rdfs:subPropertyOf` + `owl:equivalentProperty`. ABox: `john has_brother jack`. Entailed: `john has_sibling jack`.

**[Sample Dataset: Superproperty](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetSuperproperty)**

[ABox — asserted facts](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetSuperpropertyABox):

```turtle
@prefix exterms: <http://example.org/terms/> .
@prefix : <http://example.org/> .

:john exterms:has_brother :jack .
:jack exterms:brother     :john .
```

[TBox — ontology axioms](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetSuperpropertyTBox):

```turtle
@prefix exterms: <http://example.org/terms/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

exterms:has_brother rdfs:subPropertyOf exterms:has_sibling .
exterms:brother owl:equivalentProperty exterms:has_brother .
```

> Entailed: `:john exterms:has_sibling :jack` — proved via RETE-UL forward chaining

**SPARQL entailment check:**

```sparql
PREFIX exterms: <http://example.org/terms/>
PREFIX : <http://example.org/>

SELECT ?subject ?entailedPredicate ?object WHERE {
  BIND(:john AS ?subject)
  BIND(exterms:has_sibling AS ?entailedPredicate)
  BIND(:jack AS ?object)
}
```

[Run on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20exterms%3A%20%3Chttp%3A%2F%2Fexample.org%2Fterms%2F%3E%0APREFIX%20%3A%20%3Chttp%3A%2F%2Fexample.org%2F%3E%0A%0ASELECT%20%3Fsubject%20%3FentailedPredicate%20%3Fobject%20WHERE%20%7B%0A%20%20BIND%28%3Ajohn%20AS%20%3Fsubject%29%0A%20%20BIND%28exterms%3Ahas_sibling%20AS%20%3FentailedPredicate%29%0A%20%20BIND%28%3Ajack%20AS%20%3Fobject%29%0A%7D&format=text%2Fx-html%2Btr&timeout=0&debug=on&run=+Run+Query+)

---

### 4. [SELECT: Superproperty Entailment from Named Graph](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlSelectSuperproperty)

*SPARQL SELECT — live named-graph query* · [Source](https://github.com/RDFLib/FuXi/blob/master/test/test_superproperty_entailment.py)

Real SELECT against the URIBurner named graph. Retrieves every triple whose subject is in `http://example.org/` and predicate in `http://example.org/terms/` — including the ABox asserted triples **and** the triple FuXi RETE-UL forward-chained via `rdfs:subPropertyOf`.

**[Sample Dataset: Superproperty](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetSuperproperty)**

[ABox — asserted facts](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetSuperpropertyABox):

```turtle
@prefix exterms: <http://example.org/terms/> .
@prefix : <http://example.org/> .

:john exterms:has_brother :jack .
:jack exterms:brother     :john .
```

[TBox — ontology axioms](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetSuperpropertyTBox):

```turtle
@prefix exterms: <http://example.org/terms/> .

exterms:has_brother rdfs:subPropertyOf exterms:has_sibling .
exterms:brother owl:equivalentProperty exterms:has_brother .
```

> Entailed: `:john exterms:has_sibling :jack` — RETE-UL forward-chained and stored in named graph

**SPARQL SELECT — queries named graph:**

```sparql
PREFIX exterms: <http://example.org/terms/>
PREFIX exind: <http://example.org/>

SELECT ?subject ?predicate ?object
WHERE {
  GRAPH <https://linkeddata.uriburner.com/DAV/demos/daas/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl> {
    ?subject ?predicate ?object .
    FILTER(STRSTARTS(STR(?subject), 'http://example.org/')
        && STRSTARTS(STR(?predicate), 'http://example.org/terms/'))
  }
}
ORDER BY ?subject ?predicate
```

[Run on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20exterms%3A%20%3Chttp%3A%2F%2Fexample.org%2Fterms%2F%3E%0APREFIX%20exind%3A%20%3Chttp%3A%2F%2Fexample.org%2F%3E%0A%0A%23%20Real%20SELECT%20against%20the%20named%20graph%3A%20retrieves%20ABox%20%2B%20entailed%20superproperty%20triples%0ASELECT%20%3Fsubject%20%3Fpredicate%20%3Fobject%0AWHERE%20%7B%0A%20%20GRAPH%20%3Chttps%3A%2F%2Flinkeddata.uriburner.com%2FDAV%2Fdemos%2Fdaas%2Ffuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl%3E%20%7B%0A%20%20%20%20%3Fsubject%20%3Fpredicate%20%3Fobject%20.%0A%20%20%20%20FILTER%28STRSTARTS%28STR%28%3Fsubject%29%2C%20%27http%3A%2F%2Fexample.org%2F%27%29%0A%20%20%20%20%20%20%20%20%26%26%20STRSTARTS%28STR%28%3Fpredicate%29%2C%20%27http%3A%2F%2Fexample.org%2Fterms%2F%27%29%29%0A%20%20%7D%0A%7D%0AORDER%20BY%20%3Fsubject%20%3Fpredicate&format=text%2Fx-html%2Btr&timeout=0&debug=on&run=+Run+Query+)

---

### 5. [DESCRIBE: inverseOf Individuals from Named Graph](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlDescribeInverseOf)

*SPARQL DESCRIBE — named-graph description* · [Source](https://github.com/RDFLib/FuXi/tree/master/test/OWL/inverseOf/)

DESCRIBE retrieves all triples about `eg:joe` and `eg:bob` from the named graph, exposing the ABox fact and the `owl:inverseOf` axiom that FuXi's BFP backward-chains to prove *eg:bob your:isBrotherOf eg:joe*.

**[Sample Dataset: inverseOf](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetInverseOf)**

[ABox — asserted facts](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetInverseOfABox):

```turtle
@prefix your: <http://example.net/vocab#> .
@prefix eg: <http://example.net/> .

eg:joe your:isBrotherOf eg:bob .
```

[TBox — ontology axiom](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23datasetInverseOfTBox):

```turtle
@prefix your: <http://example.net/vocab#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

your:isBrotherOf owl:inverseOf your:isBrotherOf .
```

> DESCRIBE returns both individuals + the vocab property + the `owl:inverseOf` axiom

**SPARQL DESCRIBE — queries named graph:**

```sparql
PREFIX eg: <http://example.net/>

DESCRIBE eg:joe eg:bob
WHERE {
  GRAPH <https://linkeddata.uriburner.com/DAV/demos/daas/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl> {
    eg:joe ?p ?o .
  }
}
```

[Run on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20eg%3A%20%3Chttp%3A%2F%2Fexample.net%2F%3E%0A%0A%23%20DESCRIBE%20the%20inverseOf%20individuals%20from%20the%20named%20graph%0ADESCRIBE%20eg%3Ajoe%20eg%3Abob%0AWHERE%20%7B%0A%20%20GRAPH%20%3Chttps%3A%2F%2Flinkeddata.uriburner.com%2FDAV%2Fdemos%2Fdaas%2Ffuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl%3E%20%7B%0A%20%20%20%20eg%3Ajoe%20%3Fp%20%3Fo%20.%0A%20%20%7D%0A%7D&format=text%2Fx-html-nice-turtle&timeout=0&debug=on&run=+Run+Query+)

---

### 6. [CONSTRUCT: owl:inverseOf Entailed Triple](https://linkeddata.uriburner.com/describe/?url=https%3A%2F%2Fchimezie.medium.com%2Fthe-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23sparqlConstructInverseOf)

*SPARQL CONSTRUCT — inference materialisation* · [Source](https://github.com/RDFLib/FuXi/tree/master/test/OWL/inverseOf/)

CONSTRUCT materialises the triple that FuXi's BFP proves via `owl:inverseOf`: because *eg:joe your:isBrotherOf eg:bob* and the `owl:inverseOf` axiom, FuXi derives *eg:bob your:isBrotherOf eg:joe*.

**Combined ABox + TBox from named graph:**

```turtle
@prefix your: <http://example.net/vocab#> .
@prefix eg: <http://example.net/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

# ABox (asserted fact)
eg:joe your:isBrotherOf eg:bob .
# TBox (owl:inverseOf axiom)
your:isBrotherOf owl:inverseOf your:isBrotherOf .
```

> CONSTRUCT emits: `eg:bob your:isBrotherOf eg:joe .` ← BFP-derived triple

**SPARQL CONSTRUCT — materialises entailed triple:**

```sparql
PREFIX your: <http://example.net/vocab#>
PREFIX eg: <http://example.net/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>

CONSTRUCT { eg:bob your:isBrotherOf eg:joe . }
WHERE {
  GRAPH <https://linkeddata.uriburner.com/DAV/demos/daas/fuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl> {
    eg:joe your:isBrotherOf eg:bob .
    your:isBrotherOf owl:inverseOf your:isBrotherOf .
  }
}
```

[Run on URIBurner ↗](https://linkeddata.uriburner.com/sparql?default-graph-uri=&query=PREFIX%20your%3A%20%3Chttp%3A%2F%2Fexample.net%2Fvocab%23%3E%0APREFIX%20eg%3A%20%3Chttp%3A%2F%2Fexample.net%2F%3E%0APREFIX%20owl%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0A%0A%23%20CONSTRUCT%20the%20owl%3AinverseOf%20entailed%20triple%0ACONSTRUCT%20%7B%20eg%3Abob%20your%3AisBrotherOf%20eg%3Ajoe%20.%20%7D%0AWHERE%20%7B%0A%20%20GRAPH%20%3Chttps%3A%2F%2Flinkeddata.uriburner.com%2FDAV%2Fdemos%2Fdaas%2Ffuxi-semantic-web-reasoner-meshup-claude_sonnet4-1.ttl%3E%20%7B%0A%20%20%20%20eg%3Ajoe%20your%3AisBrotherOf%20eg%3Abob%20.%0A%20%20%20%20your%3AisBrotherOf%20owl%3AinverseOf%20your%3AisBrotherOf%20.%0A%20%20%7D%0A%7D&format=text%2Fx-html-nice-turtle&timeout=0&debug=on&run=+Run+Query+)


---

## Attribution & Provenance

- **Source article:** [FuXi Origin Story](https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7#this) — Chimezie Ogbuji, Medium
- **Skill:** [semantic-web-reasoner-skill](https://linkeddata.uriburner.com/describe/?url=https://chimezie.medium.com/the-origin-story-of-a-reborn-semantic-web-reasoner-and-query-mediator-9185bc1e55e7%23swrSkill)
- **Infographic generator:** [rdf-infographic-skill](https://github.com/openlink/rdf-infographic-skill)
- **Knowledge graph resolver:** [URIBurner](https://linkeddata.uriburner.com/)
- **RDF runtime:** [OpenLink Virtuoso](https://virtuoso.openlinksw.com/)
- **Generated:** May 2026 · Model: Claude Sonnet 4
