Layered Real-Estate Knowledge Graphs: Neo4j vs Virtuoso

One real-estate case. Two graph models. A proof-bearing RDF alternative.

1,301 RDF triples6 ASK proofs0 blank nodes5-layer POC
Based on Irina Adamchic, PhD’s article
KG curated by kg-generator, data-twingler, and rdf-infographic-skill with GPT-5 Chat, on behalf of Kingsley Idehen.
Controlled architectural comparison

The question is not whether graphs help. It is what the graph model makes native.

Irina Adamchic’s article demonstrates a layered Neo4j knowledge graph for real-estate management. This edition holds that business case constant and rebuilds it as RDF, so the distinction is inspectable in data rather than asserted in prose.

Central findingNeo4j’s implementation projects selected ontology concepts into a Linked Property Graph and retrieves them through Cypher and a vector index. This Virtuoso/RDF edition keeps those concepts as native RDF resources and demonstrates the proof of concept with portable SPARQL 1.1 graph patterns over ontology instances, rules, evidence, and validation findings.

Source implementation · Neo4j

  • Fixed Entity Architecture
  • Linked Property Graph layers
  • Cypher and vector-index prefilter
  • APOC, MCP, Graph Builder, local and hosted models

Proof-of-concept edition · Virtuoso/RDF

  • IRI-identified entities and ontology terms
  • RDF/OWL semantics and SHACL-style constraints
  • Pure SPARQL over layers, evidence, rules, and findings
  • Portable Turtle companion graph
Source-faithful structure

The same five layers, expressed as linked RDF resources

The POC preserves the article’s OntologyLayer, LegalLayer, ContractsLayer, InvoiceLayer, and RulesLayer. Stable IRIs connect a heat pump, installation record, warranty, service contract, invoice, legal requirement, rules, and findings across those layers.

OntologyLayerRealEstateCore, FIBO, P2P-O, Brick, LKIF-Core, Akoma Ntoso, and custom terms.
LegalLayerIllustrative tax and regulatory evidence with an explicit non-legal-advice boundary.
ContractsLayerInstallation contract, warranty, service agreement, coverage, and ceiling.
InvoiceLayerInvoice RE-2026-0017, three line items, tax, supplier, asset, and prior record.
RulesLayerEight named findings backed by rules, focus nodes, evidence paths, and status.
Head-on competitor view

Neo4j and Virtuoso solve the graph problem at different abstraction levels

This is not a generic “semantic layer” bolted onto Neo4j. It is a concrete comparison between the source’s Neo4j property-graph design and a Virtuoso RDF implementation of the same evidence and decisions.

DimensionNeo4j in the sourceVirtuoso RDF POC
Graph modelLabeled property graph with projected ontology entitiesRDF quad store with native IRIs, triples, named graphs, and ontology terms
IdentityApplication-controlled node identityWeb-scale HTTP IRIs shared across graphs and systems
SchemaFixed Entity Architecture, labels, and propertiesRDF/OWL classes and properties with domains, ranges, hierarchy, and alignment
LayersLabels and relationships partition the LPGNamed resources and graph membership preserve layers without duplicating identity
QueryCypherSPARQL 1.1 plus Virtuoso extensions where explicitly used
GraphRAGVector index returns top-k OntologyLayer nodesPure SPARQL graph patterns retrieve ontology instances, evidence paths, and validation findings
ValidationApplication queries and procedural checksASK queries, SHACL-style constraints, inference, and named validation findings
ProvenanceModeled as graph properties when designed inPROV-O and named graph identifiers are first-class RDF
InterchangeMapping/export step required for RDF ecosystemsNative RDF serializations and Linked Data access
This POCSource architecture and Cypher preserved for fair comparison1,215 triples; six ASK proofs; eight named findings; pure SPARQL workbench
Executable business proof

An invoice verdict with a traversable evidence path

The illustrative invoice is arithmetically correct and matches the property, asset, supplier, and tax evidence. It nevertheless fails the covered-service rule: a €120 diagnostic visit was billed despite the service contract covering one diagnostic visit.

Invoice RE-2026-0017

Diagnostic visit€120.00
Filter replacement€180.00
Technician travel€100.00
Tax€76.00
Total€476.00

Asset: HP-DE-2048 · Supplier: ThermoHaus Service · Call-out ceiling: €450.00

Validation outcome

PASSArithmetic, asset, supplier, installation, and tax evidence.
WARNTotal exceeds the illustrative €450 call-out ceiling; duplicate identifier needs review.
FAILCovered diagnostic service was billed separately.

Result set: 5 pass · 2 warning · 1 fail. Each finding is a named RDF resource linked to its rule and evidence.

Pure SPARQL proof

Invoice validation as portable RDF/SPARQL

The proof follows the generated ontology instances directly: layer membership, invoice details, validation findings, and the covered-service failure path. The queries avoid text-search and vector-function extensions, so the distinction from the source Neo4j vector prefilter is visible in the data and query patterns.

Ontology slice pure SPARQL

Retrieves the ontology concepts required for the heat-pump invoice scenario from the RDF graph.

Show ontology-slice SPARQL
PREFIX schema: <http://schema.org/>
PREFIX : <https://www.linkedin.com/pulse/power-layered-knowledge-graphs-applied-real-estate-adamchic-phd-vv4df/#>
SELECT ?term ?name ?sourceOntology
FROM <https://linkeddata.uriburner.com/DAV/demos/daas/power-layered-knowledge-graphs-real-estate-neo4j-virtuoso-gpt5-chat-1.ttl>
WHERE {
  ?term :inLayer :ontologyLayer ;
        schema:name ?name .
  OPTIONAL { ?sourceOntology schema:hasPart ?term }
  VALUES ?term { :heatPumpConcept :invoiceConcept :serviceContractConcept :warrantyConcept :legalRequirementConcept }
}
ORDER BY ?name

Evidence path pure SPARQL

Follows the failed covered-service path from validation finding to invoice, diagnostic line, service contract, and rule.

Show covered-service path SPARQL
PREFIX schema: <http://schema.org/>
PREFIX : <https://www.linkedin.com/pulse/power-layered-knowledge-graphs-applied-real-estate-adamchic-phd-vv4df/#>
SELECT ?finding ?invoice ?lineItem ?lineName ?lineAmount ?serviceContract ?contractText ?rule
FROM <https://linkeddata.uriburner.com/DAV/demos/daas/power-layered-knowledge-graphs-real-estate-neo4j-virtuoso-gpt5-chat-1.ttl>
WHERE {
  ?finding :evaluatesRule :ruleCoveredDiagnostic ;
           :focusNode ?invoice ;
           :hasEvidence ?lineItem, ?serviceContract ;
           :evaluatesRule ?rule .
  ?invoice a schema:Invoice ;
           schema:hasPart ?lineItem .
  ?lineItem a :InvoiceLineItem ;
            schema:name ?lineName ;
            :observedAmount ?lineAmount .
  ?serviceContract schema:about :heatPumpHPDE2048 ;
                   schema:description ?contractText .
  FILTER(?lineAmount > 0)
}
ORDER BY ?finding ?lineItem

Workbench query set

The SPARQL Workbench exposes recipes for layer inventory, invoice instance details, validation findings, covered-service evidence, ontology-slice retrieval, and graph sampling.

Show the source Cypher vector prefilter
CALL db.index.vector.queryNodes($index_name, $k, $embedding)
YIELD node AS vectorNode, score AS vectorScore
WITH vectorNode, vectorScore
WHERE vectorNode:OntologyLayer AND vectorNode.name IS NOT NULL
RETURN vectorNode.name AS name,
       coalesce(vectorNode.uri, '') AS uri,
       coalesce(vectorNode.kind, 'class') AS kind,
       coalesce(vectorNode.ontologies, []) AS ontologies,
       vectorScore AS score
ORDER BY vectorScore DESC
Evidence boundary

What this edition proves—and what it does not

ExecutedTurtle parsing, six SPARQL ASK proofs, inference-premise checks, graph extraction, orphan checks, and UI validation.
Workbench scopeAll SPARQL recipes are pure graph-pattern queries over generated ontology instances, invoice evidence, rules, and findings.
Not claimedNo live Virtuoso vector call, production-scale benchmark, legal conclusion, or claim that every Neo4j deployment lacks semantic capabilities.

People

Irina Adamchic, PhD

Article author and knowledge-graph architect who presents the Neo4j-based layered real-estate proof of concept.

Organizations

ThermoHaus Service

Illustrative contractor named consistently across installation, contract, service, and invoice evidence.

Frequently Asked Questions

A smart layered graph can serve as a reusable knowledgebase foundation for multiple real-estate and agentic use cases rather than solving only one retrieval problem.

The matching identifier is suspicious evidence requiring review, but the small illustrative graph does not establish whether the earlier record was canceled, corrected, or legitimately reissued.

No. Legal nodes are illustrative evidence used to demonstrate graph linkage and validation mechanics, not a complete or authoritative statement of German law.

No. It compares the article's concrete LPG projection with the RDF-native Virtuoso proof of concept and acknowledges that Neo4j can be extended or integrated with semantic tooling.

Each named finding records its rule, focus node, status, explanation, and direct links to the invoice, contract, asset, or legal evidence supporting it.

Entities retain one stable IRI while explicit inLayer relations and cross-layer evidence links make their logical placement and reuse queryable.

It projects selected ontology concepts into a stable Neo4j entity layer so later document extraction can attach to a controlled domain schema.

Virtuoso is an RDF quad-store and multi-model database that can provide graph storage, query, inference-oriented semantics, provenance, and federation through SPARQL.

KG-only resolves answers from RDF graph structure, semantics, rules, and local evidence without depending on a live endpoint or vector retrieval.

This edition isolates the RDF proof of concept: every workbench query is pure SPARQL over generated ontology instances, rules, findings, and evidence paths.

No. The proof-of-concept queries use standards-based SPARQL 1.1 graph patterns. Virtuoso remains the RDF-native target, but this workbench avoids vector-specific functions.

Yes. The Turtle parse, standards-based SPARQL ASK validations, inference checks, graph-data extraction, HTML validation, and browser interaction checks are executed locally.

The Turtle parse, six SPARQL ASK validations, inference checks, graph-data extraction, HTML validation, and browser interaction checks are executed locally.

It finds that a diagnostic line was billed even though the illustrative annual service contract identifies that diagnostic visit as covered.

Glossary of Terms

Evidence path

Connected subgraph that explains how a finding follows from business documents, assets, rules, and provenance.

Fixed Entity Architecture

The source author's pattern for a stable entity layer that projects selected ontology concepts into a property graph.

GraphRAG

Retrieval-augmented generation that uses graph structure or graph retrieval as part of context selection.

KG-only retrieval

Resolution from local RDF graph evidence and semantics without endpoint corroboration.

Linked Property Graph

Property-graph model using labeled nodes, relationships, and properties, with explicit links between entities.

Named graph

RDF graph identified by an IRI so statements can be grouped, queried, and attributed.

OntologyLayer

Layer containing stable domain terms used to guide extraction and connect other layers.

Provenance

Information identifying the origin, transformation, evidence, and responsible activity behind a graph assertion or result.

Pure SPARQL proof

A proof path that uses standards-based SPARQL graph patterns over RDF instances without full-text or vector-function extensions.

RDF inference

Derivation of additional RDF statements from explicit axioms and entailment rules.

Resource Description Framework

W3C graph data model using IRI-identified subjects, predicates, and objects.

Shapes Constraint Language

RDF vocabulary for expressing and reporting graph-shape constraints.

How-To Guide

1

Load the companion Turtle graph

Parse the Turtle document or load it into Virtuoso under the documented graph IRI.

2

Inspect the five source layers

Query the named GraphLayer resources and their members before evaluating the business scenario.

3

Run KG-only semantic selection

Execute the deterministic SPARQL graph-pattern query to retrieve the ontology slice required by the invoice scenario.

4

Run the validation ASK queries

Execute the arithmetic, supplier, asset, covered-service, duplicate-identifier, and evidence-path ASK queries.

5

Run the pure SPARQL workbench queries

Execute the layer inventory, invoice instance, validation findings, covered-service path, and ASK proof queries.

6

Compare evidence rather than slogans

Compare returned entities, inferred facts, rule results, provenance paths, and portability while labeling measured and unmeasured claims separately.

Knowledge Graph Explorer

Interactive graph visualization derived from the companion RDF. Click nodes to resolve, drag to explore. Graph data embedded from companion RDF at generation time.

Layered Real-Estate Knowledge Graphs: Neo4j vs Virtuoso

Nodes: 0 Links: 0
Click SVG to activate zoom, click outside to release | Drag nodes to pin, double-click to unpin
Classes Properties Instances

SPARQL Workbench

Run or copy pure SPARQL recipes over the generated real-estate proof graph. The default recipe opens on the ontology slice used by the invoice-validation scenario.

Open live link

Ready: pure SPARQL over generated ontology instances.