@prefix : <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

:GraphFederationArchitecture a rdfs:Class ;
    rdfs:label "Graph Federation Architecture"@en ;
    rdfs:comment "A system design pattern that enables graph query execution against data residing in external data sources without physical data relocation."@en ;
    rdfs:isDefinedBy :ontology .

:IdentifierSystem a rdfs:Class ;
    rdfs:label "Identifier System"@en ;
    rdfs:comment "The mechanism by which entities are uniquely identified and linked across data sources — critical for graph federation and entity resolution."@en ;
    rdfs:isDefinedBy :ontology .

:MultiModelDatabase a rdfs:Class ;
    rdfs:label "Multi-Model Database"@en ;
    rdfs:comment "A database system capable of supporting multiple data models (relational, graph, document, key-value) and query languages (SQL, SPARQL, Cypher, GQL, GraphQL) within a single engine."@en ;
    rdfs:isDefinedBy :ontology .

:QueryCompilationStrategy a rdfs:Class ;
    rdfs:label "Query Compilation Strategy"@en ;
    rdfs:comment "The method by which a graph query language (Cypher, SPARQL, GQL) is translated into the native query language of the underlying data store (typically SQL)."@en ;
    rdfs:isDefinedBy :ontology .

:ZeroCopyArchitecture a rdfs:Class ;
    rdfs:label "Zero-Copy Architecture"@en ;
    rdfs:comment "An architecture where data remains in its original storage system under existing governance controls while graph capabilities are applied virtually on top."@en ;
    rdfs:isDefinedBy :ontology .

: a schema:CreativeWork ;
    schema:about :analysis ;
    schema:author <https://linkedin.com/in/kidehen#this> ;
    schema:dateCreated "2026-06-03T20:28:01+00:00"^^xsd:dateTime ;
    schema:dateModified "2026-06-03T20:28:01+00:00"^^xsd:dateTime ;
    schema:description "Comparative analysis of Neo4j's Virtual Graph (2026) and Virtuoso's virtual DBMS and Knowledge Graph capabilities (1990s–present). Examines two architectural philosophies: bolt-on warehouse federation versus native multi-model virtual database engine with identifier-based entity relationship graphs."@en ;
    schema:name "Neo4j Virtual Graph vs Virtuoso Virtual DBMS — Comparative Analysis"@en .

:compilationTarget a rdf:Property ;
    rdfs:label "compilation target"@en ;
    rdfs:comment "The target query language or engine to which graph queries are compiled (e.g., SQL on Snowflake, SQL on Virtuoso)."@en ;
    rdfs:isDefinedBy :ontology .

:dataSourcesSupported a rdf:Property ;
    rdfs:label "data sources supported"@en ;
    rdfs:comment "The types and number of external data sources that can be federated."@en ;
    rdfs:isDefinedBy :ontology .

:federationModel a rdf:Property ;
    rdfs:label "federation model"@en ;
    rdfs:comment "The architectural approach to querying data across distributed sources (e.g., bolt-on warehouse connector vs native virtual DBMS engine)."@en ;
    rdfs:isDefinedBy :ontology .

:identifierStrategy a rdf:Property ;
    rdfs:label "identifier strategy"@en ;
    rdfs:comment "The approach to entity identification and cross-source linking (e.g., HTTP URIs, internal node IDs, foreign keys)."@en ;
    rdfs:isDefinedBy :ontology .

:latencyProfile a rdf:Property ;
    rdfs:label "latency profile"@en ;
    rdfs:comment "The expected query latency characteristics (e.g., milliseconds for native, seconds-to-minutes for virtual)."@en ;
    rdfs:isDefinedBy :ontology .

:maturityTimeline a rdf:Property ;
    rdfs:label "maturity timeline"@en ;
    rdfs:comment "The historical timeline of the technology's development and production deployment."@en ;
    rdfs:isDefinedBy :ontology .

:queryLanguages a rdf:Property ;
    rdfs:label "query languages"@en ;
    rdfs:comment "The set of query languages supported for graph and relational data access."@en ;
    rdfs:isDefinedBy :ontology .

<https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator#this> a schema:SoftwareApplication ;
    schema:description "Knowledge Graph Generator skill that transforms web content into structured RDF using schema.org and complementary ontologies."@en ;
    schema:name "kg-generator skill"@en ;
    schema:url <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator> .

:graphTools a schema:SoftwareApplication ;
    schema:creator <http://dbpedia.org/resource/Neo4j> ;
    schema:description "Neo4j's AI-powered toolkit for graph analytics, GraphRAG, and knowledge graph construction. Includes AI-generated graph data models for Virtual Graph."@en ;
    schema:isPartOf :productsSection ;
    schema:name "Neo4j Graph Tools"@en .

:linkedInPost a schema:SocialMediaPosting ;
    schema:author <https://www.linkedin.com/in/daniel-heward-mills#this> ;
    schema:isPartOf :sourcesSection ;
    schema:name "Virtuoso GQL Support Demonstration"@en ;
    schema:sharedContent "Demonstration of Virtuoso's GQL support with six live examples: virtualized RDF queries against Northwind SQL tables, federated Wikidata/DBpedia SPARQL queries, weighted degree centrality, and SPARQLWorks graph visualization."@en ;
    schema:url <https://www.linkedin.com/feed/update/urn:li:ugcPost:7459616012645240832/> .

:neo4jAura a schema:SoftwareApplication ;
    schema:creator <http://dbpedia.org/resource/Neo4j> ;
    schema:description "Neo4j's fully managed native graph database cloud service. Optimized for millisecond-latency graph traversals, ACID transactions, and real-time agentic workloads. Complements Virtual Graph for operational graph use cases."@en ;
    schema:isPartOf :productsSection ;
    schema:name "Neo4j AuraDB"@en .

:neo4jBlogSource a schema:Article ;
    schema:author :firatTekiner,
        :michaelSimons ;
    schema:datePublished "2026-05-28"^^xsd:date ;
    schema:isPartOf :sourcesSection ;
    schema:name "Introducing Neo4j Virtual Graph: Graph Reasoning on the Data You Already Have"@en ;
    schema:publisher <http://dbpedia.org/resource/Neo4j> ;
    schema:url <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/> .

:neo4jVirtualGraph a schema:SoftwareApplication ;
    schema:creator <http://dbpedia.org/resource/Neo4j> ;
    schema:description "Neo4j's zero-copy graph federation capability (private preview, May 2026). Compiles Cypher into SQL for in-place execution on Snowflake and Databricks. Features AI-generated graph data models from warehouse schemas. Enables graph reasoning without data relocation."@en ;
    schema:isPartOf :productsSection ;
    schema:name "Neo4j Virtual Graph"@en ;
    schema:url <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/> ;
    :compilationTarget "SQL on Snowflake, SQL on Databricks"@en ;
    :dataSourcesSupported "Snowflake, Databricks (JDBC/SQL sources planned)"@en ;
    :federationModel "Bolt-on warehouse federation via Cypher-to-SQL compilation"@en ;
    :identifierStrategy "Foreign keys + AI-inferred relationships from warehouse schemas"@en ;
    :latencyProfile "Seconds to minutes (warehouse-grade)"@en ;
    :maturityTimeline "2026 (private preview)"@en ;
    :queryLanguages "Cypher"@en .

:relatedLink-1 a schema:LinkRole ;
    schema:name "Neo4j Virtual Graph Blog Post"@en ;
    schema:url <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/> .

:relatedLink-10 a schema:LinkRole ;
    schema:name "URIBurner Linked Data Resolver"@en ;
    schema:url <https://linkeddata.uriburner.com/> .

:relatedLink-2 a schema:LinkRole ;
    schema:name "LinkedIn: Virtuoso GQL Demo"@en ;
    schema:url <https://www.linkedin.com/feed/update/urn:li:ugcPost:7459616012645240832/> .

:relatedLink-3 a schema:LinkRole ;
    schema:name "Virtuoso Universal Server"@en ;
    schema:url <https://virtuoso.openlinksw.com/> .

:relatedLink-4 a schema:LinkRole ;
    schema:name "Neo4j Homepage"@en ;
    schema:url <https://neo4j.com/> .

:relatedLink-5 a schema:LinkRole ;
    schema:name "OpenLink Software"@en ;
    schema:url <https://www.openlinksw.com/> .

:relatedLink-6 a schema:LinkRole ;
    schema:name "SPARQL 1.1 Specification"@en ;
    schema:url <https://www.w3.org/TR/sparql11-query/> .

:relatedLink-7 a schema:LinkRole ;
    schema:name "RDF 1.1 Concepts"@en ;
    schema:url <https://www.w3.org/TR/rdf11-concepts/> .

:relatedLink-8 a schema:LinkRole ;
    schema:name "ISO GQL Standard"@en ;
    schema:url <https://www.iso.org/standard/76120.html> .

:relatedLink-9 a schema:LinkRole ;
    schema:name "openCypher Project"@en ;
    schema:url <https://opencypher.org/> .

:termCypher a schema:DefinedTerm ;
    schema:description "Neo4j's declarative graph query language, inspired by ASCII art patterns for representing graph traversals. Open-sourced as openCypher in 2015. Contributed to the ISO GQL standard. Supported by Neo4j Virtual Graph for warehouse queries."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "Cypher"@en .

:termFederation a schema:DefinedTerm ;
    schema:description "The ability to execute a single query across multiple data sources. SPARQL-FED enables a Virtuoso SPARQL query to span local graphs, remote endpoints, and RDF Views simultaneously. Neo4j Virtual Graph is adding federation to warehouses; Virtuoso has federated across SPARQL endpoints for over a decade."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "Query Federation"@en .

:termGQL a schema:DefinedTerm ;
    schema:description "ISO/IEC 39075:2024 — the first international standard graph query language. Both Neo4j (via Cypher heritage) and Virtuoso (direct implementation) support GQL, making it the convergence point for graph query standardization."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "GQL (Graph Query Language)"@en .

:termGraphRAG a schema:DefinedTerm ;
    schema:description "Graph Retrieval-Augmented Generation — using knowledge graphs to provide structured context to LLMs. Both Neo4j (via Graph Tools) and Virtuoso (via SPARQL + URIBurner) support GraphRAG patterns, but with different graph models: labeled property graphs vs RDF knowledge graphs."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "GraphRAG"@en .

:termLinkedData a schema:DefinedTerm ;
    schema:description "A set of best practices for publishing structured data on the web using HTTP URIs as entity identifiers, RDF as the data model, and hyperlinks to connect entities across systems. Virtuoso is built on Linked Data principles; Neo4j uses internal node IDs and foreign keys."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "Linked Data Principles"@en .

:termMultiModel a schema:DefinedTerm ;
    schema:description "A database system supporting multiple data models (relational, RDF graph, property graph, document) and query languages within a single engine. Virtuoso is a multi-model database; Neo4j is primarily a graph database complementing its native engine with virtual warehouse access."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "Multi-Model Database"@en .

:termRDFViews a schema:DefinedTerm ;
    schema:description "Virtuoso feature that declaratively maps relational database schemas to RDF ontologies via Quad Map Patterns. SPARQL queries against these virtual RDF graphs are compiled to SQL. Functionally equivalent to Neo4j Virtual Graph's schema-to-graph mapping, but predating it by ~20 years."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "RDF Views"@en .

:termSPARQL a schema:DefinedTerm ;
    schema:description "W3C standard query language for RDF graphs (2008). Supported natively by Virtuoso for querying Knowledge Graphs, RDF Views over relational data, and federated queries across remote endpoints (SPARQL-FED)."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "SPARQL"@en .

:termVirtualDBMS a schema:DefinedTerm ;
    schema:description "A database management system where the query engine operates as a virtual layer over heterogeneous data sources. Virtuoso pioneered this architecture in the 1990s, long before the modern 'data virtualization' and 'query federation' movements."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "Virtual DBMS"@en .

:termZeroCopy a schema:DefinedTerm ;
    schema:description "An architectural pattern where data remains in its original storage system while external query engines operate on it virtually. Neither Neo4j Virtual Graph nor Virtuoso RDF Views physically relocate data — both compile queries to SQL for in-place execution."@en ;
    schema:inDefinedTermSet :glossarySection ;
    schema:name "Zero-Copy Architecture"@en .

<https://linkedin.com/in/kidehen#this> schema:isPartOf :peopleSection .

:a1 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Neo4j Virtual Graph is a zero-copy graph federation capability announced in May 2026 (private preview). It compiles Cypher queries into SQL for in-place execution on Snowflake and Databricks, enabling graph reasoning without data relocation. It uses AI to generate graph data models from warehouse schemas, automatically detecting entities, relationships, and properties."@en .

:a10 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Neo4j is a graph-native company that built AuraDB first and is now adding federation outward to warehouses. Virtuoso was built as a virtual-first multi-model platform that added graph capabilities (RDF, SPARQL, Cypher, GQL) on top of its relational engine. One is adding virtual to graph; the other added graph to virtual."@en .

:a11 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Yes — Virtuoso RDF Views compiles SPARQL to SQL against any JDBC/ODBC relational source, providing zero-copy graph virtualization that predates Neo4j Virtual Graph by ~20 years. Virtuoso also adds SPARQL-FED federation across external endpoints, something Neo4j Virtual Graph does not currently offer."@en .

:a12 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Virtuoso is built on W3C standards: SPARQL (2008), RDF (1999), Linked Data principles, and ISO GQL (2024). Neo4j's Cypher began as a proprietary language (later open-sourced via openCypher) and contributed to the ISO GQL standard. Both participate in GQL standardization, but Virtuoso's standards alignment is foundational while Neo4j's is evolutionary."@en .

:a2 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Virtuoso's virtual DBMS is a multi-model database engine that has supported data virtualization since the 1990s. It allows SQL, SPARQL, openCypher, GQL, and GraphQL queries to execute against heterogeneous data sources — relational tables, RDF graphs, external SPARQL endpoints, and web services — through a common query processor without data duplication."@en .

:a3 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Both compile graph queries deterministically to SQL — this is not LLM-driven in either case. Neo4j compiles Cypher to Snowflake or Databricks SQL. Virtuoso compiles SPARQL/Cypher/GQL to its native SQL engine, with SPARQL-FED enabling cross-endpoint federation. The key difference: Neo4j targets external warehouse engines; Virtuoso uses its own engine as the compilation target while also federating to external sources."@en .

:a4 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Virtuoso RDF Views (mid-2000s) transforms relational database tables into RDF Knowledge Graphs through declarative Quad Map Patterns — without copying data. SPARQL queries against these virtual RDF graphs are compiled to SQL and executed in-place on the underlying relational engine. This is architecturally identical to Neo4j Virtual Graph's Cypher-to-SQL compilation, but predates it by approximately 20 years."@en .

:a5 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Virtuoso uses HTTP-based hyperlinks (URIs) as standardized entity identifiers following Linked Data principles. These serve as super keys for entity relationship graphs, enabling cross-system entity resolution without AI inference. Neo4j Virtual Graph relies on foreign keys declared in warehouse schemas, supplemented by AI-inferred relationships where foreign keys are absent."@en .

:a6 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Neo4j Virtual Graph supports Cypher only. Virtuoso supports five query languages: SQL, SPARQL, openCypher, GQL (ISO standard), and GraphQL — all against the same underlying data through its multi-model query processor. GQL support in Virtuoso was demonstrated publicly in May 2026."@en .

:a7 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Virtuoso's virtual DBMS has been in production for over 25 years, with RDF Views available since the mid-2000s. Neo4j Virtual Graph entered private preview in May 2026. The architectural concepts are similar — deterministic graph-to-SQL compilation — but the production heritage differs by decades."@en .

:a8 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Use Virtual Graph when data already lives in Snowflake or Databricks and you want graph reasoning without ETL. Use native Neo4j (AuraDB) for millisecond-latency graph traversals, real-time agentic workloads, ACID transactions, and continuously updated operational graphs. The platforms are complementary, not substitutes."@en .

:a9 a schema:Answer ;
    schema:isPartOf :faqSection ;
    schema:text "Neo4j Virtual Graph launches with Snowflake and Databricks, with JDBC/SQL sources planned. Virtuoso's virtual DBMS supports any JDBC/ODBC source, SPARQL endpoints, RDF document stores, WebDAV repositories, and web services — a broader surface area reflecting its longer evolution as a virtual engine."@en .

:dimCompilation a :GraphFederationArchitecture ;
    schema:comment "Deterministic query compilation is a shared architectural principle; the difference is the target engine (warehouse vs virtual DBMS)."@en ;
    schema:description "Both compile graph queries to SQL — deterministic, not LLM-driven. Neo4j targets Snowflake/Databricks SQL. Virtuoso targets its native SQL engine."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Query Compilation"@en .

:dimDataSources a :GraphFederationArchitecture ;
    schema:comment "Virtuoso's data source coverage is broader and includes SPARQL federation; Neo4j is starting with the two largest cloud warehouses."@en ;
    schema:description "Neo4j: Snowflake, Databricks (JDBC planned). Virtuoso: any JDBC/ODBC source, SPARQL endpoints, RDF graphs, WebDAV."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Data Sources"@en .

:dimEcosystem a :GraphFederationArchitecture ;
    schema:comment "Neo4j is adding virtual capabilities to a graph-first platform; Virtuoso was built as a virtual-first platform that added graph capabilities."@en ;
    schema:description "Neo4j: graph-native company adding federation to complement AuraDB. Virtuoso: multi-model platform where federation is the founding architecture."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Ecosystem Positioning"@en .

:dimFederation a :GraphFederationArchitecture ;
    schema:comment "Neo4j virtualizes warehouse access; Virtuoso virtualizes the entire DBMS — relational, graph, and external endpoints unified under one query processor."@en ;
    schema:description "Neo4j: bolt-on warehouse federation (2026). Virtuoso: native virtual DBMS engine (1990s)."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Federation Model"@en .

:dimIdentifiers a :GraphFederationArchitecture ;
    schema:comment "Virtuoso uses web-standard HTTP URIs as super keys, enabling cross-system entity resolution without AI inference; Neo4j relies on schema analysis and AI for relationship discovery."@en ;
    schema:description "Neo4j: internal node IDs + foreign keys + AI-inferred relationships. Virtuoso: HTTP URIs (Linked Data) — hyperlinks as standardized entity identifiers."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Identifier System"@en .

:dimLatency a :GraphFederationArchitecture ;
    schema:comment "Both offer a spectrum: native graph for low latency, virtual/federated for analytical workloads with higher latency tolerance."@en ;
    schema:description "Neo4j: seconds-to-minutes (warehouse-grade) via Virtual Graph; milliseconds via native AuraDB. Virtuoso: milliseconds (native) to seconds (federated)."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Latency Profile"@en .

:dimMaturity a :GraphFederationArchitecture ;
    schema:comment "Neo4j is entering federation; Virtuoso has been doing it since before Neo4j existed."@en ;
    schema:description "Neo4j Virtual Graph: private preview (May 2026). Virtuoso Virtual DBMS: 25+ years in production."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Maturity"@en .

:dimQueryLanguages a :GraphFederationArchitecture ;
    schema:comment "Virtuoso's multi-model architecture supports five query languages against the same data; Neo4j Virtual Graph supports Cypher only."@en ;
    schema:description "Neo4j: Cypher only. Virtuoso: SQL, SPARQL, openCypher, GQL, GraphQL."@en ;
    schema:isPartOf :architectureComparison,
        :comparisonSection ;
    schema:name "Query Languages"@en .

:firatTekiner a schema:Person ;
    schema:description "Co-author of the Neo4j Virtual Graph announcement blog post (May 2026)."@en ;
    schema:isPartOf :peopleSection ;
    schema:name "Firat Tekiner"@en .

:michaelSimons a schema:Person ;
    schema:description "Co-author of the Neo4j Virtual Graph announcement blog post (May 2026)."@en ;
    schema:isPartOf :peopleSection ;
    schema:name "Michael Simons"@en .

:q1 a schema:Question ;
    schema:acceptedAnswer :a1 ;
    schema:isPartOf :faqSection ;
    schema:name "What is Neo4j Virtual Graph?"@en .

:q10 a schema:Question ;
    schema:acceptedAnswer :a10 ;
    schema:isPartOf :faqSection ;
    schema:name "What is the architectural philosophy difference?"@en .

:q11 a schema:Question ;
    schema:acceptedAnswer :a11 ;
    schema:isPartOf :faqSection ;
    schema:name "Can Virtuoso do what Neo4j Virtual Graph does?"@en .

:q12 a schema:Question ;
    schema:acceptedAnswer :a12 ;
    schema:isPartOf :faqSection ;
    schema:name "What role do standards play in each approach?"@en .

:q2 a schema:Question ;
    schema:acceptedAnswer :a2 ;
    schema:isPartOf :faqSection ;
    schema:name "What is Virtuoso's virtual DBMS architecture?"@en .

:q3 a schema:Question ;
    schema:acceptedAnswer :a3 ;
    schema:isPartOf :faqSection ;
    schema:name "How does query compilation compare between the two?"@en .

:q4 a schema:Question ;
    schema:acceptedAnswer :a4 ;
    schema:isPartOf :faqSection ;
    schema:name "What is RDF Views and how does it relate to Virtual Graph?"@en .

:q5 a schema:Question ;
    schema:acceptedAnswer :a5 ;
    schema:isPartOf :faqSection ;
    schema:name "How do the identifier systems differ?"@en .

:q6 a schema:Question ;
    schema:acceptedAnswer :a6 ;
    schema:isPartOf :faqSection ;
    schema:name "Which query languages does each platform support?"@en .

:q7 a schema:Question ;
    schema:acceptedAnswer :a7 ;
    schema:isPartOf :faqSection ;
    schema:name "What is the maturity difference between the two approaches?"@en .

:q8 a schema:Question ;
    schema:acceptedAnswer :a8 ;
    schema:isPartOf :faqSection ;
    schema:name "When should you use Neo4j Virtual Graph vs native Neo4j?"@en .

:q9 a schema:Question ;
    schema:acceptedAnswer :a9 ;
    schema:isPartOf :faqSection ;
    schema:name "How does data source coverage compare?"@en .

:rdfViews a schema:SoftwareApplication ;
    schema:description "Virtuoso capability that virtualizes relational database tables as RDF Knowledge Graphs without data relocation. Compiles SPARQL into SQL for in-place execution against the underlying relational engine. Enables declarative mapping of SQL schemas to RDF ontologies via Quad Map Patterns. Production-deployed since mid-2000s."@en ;
    schema:isPartOf <http://dbpedia.org/resource/Virtuoso_Universal_Server>,
        :productsSection ;
    schema:name "Virtuoso RDF Views"@en .

:sparqlFed a schema:SoftwareApplication ;
    schema:description "Virtuoso's implementation of SPARQL 1.1 Federated Query — enables a single SPARQL query to span local RDF graphs, remote SPARQL endpoints (Wikidata, DBpedia), and RDF Views over relational data, all within one query execution context."@en ;
    schema:isPartOf <http://dbpedia.org/resource/Virtuoso_Universal_Server>,
        :productsSection ;
    schema:name "SPARQL-FED Federation"@en .

:step1 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Identify your data residency requirements"@en ;
    schema:position 1 ;
    schema:text "Determine whether your data can move or must stay in place due to governance, scale, or organizational constraints. If data must stay in a warehouse, both Neo4j Virtual Graph and Virtuoso RDF Views are viable zero-copy options."@en .

:step2 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Map your query language needs"@en ;
    schema:position 2 ;
    schema:text "List the query languages your teams and tools require. If only Cypher is needed and data is in Snowflake/Databricks, Neo4j Virtual Graph is a natural fit. If you need SQL, SPARQL, GQL, or GraphQL alongside graph queries, Virtuoso's multi-model architecture provides unified access."@en .

:step3 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Assess your identifier strategy"@en ;
    schema:position 3 ;
    schema:text "Evaluate how entities are identified across your data landscape. If you use HTTP URIs and Linked Data principles, Virtuoso's native URI-based graph model is aligned. If you rely on warehouse foreign keys, Neo4j's AI-inferred relationship discovery may be more pragmatic."@en .

:step4 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Evaluate federation breadth"@en ;
    schema:position 4 ;
    schema:text "Catalog your data sources beyond warehouses — SPARQL endpoints, existing RDF graphs, linked open data, WebDAV repositories. If your federation needs extend beyond SQL warehouses, Virtuoso's broader data source support (JDBC/ODBC, SPARQL, RDF) may be required."@en .

:step5 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Consider latency and workload profiles"@en ;
    schema:position 5 ;
    schema:text "For millisecond-latency operational graph workloads, both platforms recommend native graph storage (Neo4j AuraDB or Virtuoso's native RDF store). For analytical graph queries with seconds-to-minutes latency tolerance, either virtual approach works."@en .

:step6 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Review standards alignment"@en ;
    schema:position 6 ;
    schema:text "Check whether your architecture requires ISO standards compliance (GQL, SPARQL) or W3C standards (RDF, Linked Data). Virtuoso's multi-decade standards participation provides a standards-first foundation; Neo4j's Cypher-to-GQL evolution is converging on the same standards."@en .

:step7 a schema:HowToStep ;
    schema:isPartOf :howtoSection ;
    schema:name "Run a proof-of-concept on your own data"@en ;
    schema:position 7 ;
    schema:text "Both Neo4j and Virtuoso offer evaluation paths. Test the same analytical graph query against your actual warehouse data using each platform's virtual/federation capability. Measure query performance, model accuracy, and integration effort before committing."@en .

<https://www.linkedin.com/in/daniel-heward-mills#this> a schema:Person ;
    schema:description "Consultant at OpenLink Software. Demonstrated Virtuoso's GQL support with live examples including virtualized RDF queries against Northwind SQL tables, federated Wikidata/DBpedia queries, and graph visualization."@en ;
    schema:isPartOf :peopleSection ;
    schema:jobTitle "Consultant"@en ;
    schema:name "Daniel Heward-Mills"@en ;
    schema:worksFor <http://dbpedia.org/resource/OpenLink_Software> .

<http://dbpedia.org/resource/OpenLink_Software> a schema:Organization ;
    schema:description "Enterprise software company. Developer of Virtuoso Universal Server, a multi-model database and linked data platform. Pioneered virtual DBMS architecture in the 1990s. Founded in 1992."@en ;
    schema:identifier "https://www.census.gov/naics/?input=511210&year=2022&details=511210" ;
    schema:isPartOf :organizationsSection ;
    schema:naics "511210" ;
    schema:name "OpenLink Software"@en ;
    schema:url <https://www.openlinksw.com/> .

<http://dbpedia.org/resource/Virtuoso_Universal_Server> a schema:SoftwareApplication ;
    schema:creator <http://dbpedia.org/resource/OpenLink_Software> ;
    schema:description "Multi-model database and linked data platform. Provides a virtual DBMS engine with native support for SQL, SPARQL, openCypher, GQL, and GraphQL — all compiling through a common query processor. Features RDF Views for virtualizing relational data as Knowledge Graphs, cross-endpoint SPARQL federation (SPARQL-FED), and HTTP-URI-based entity identifiers. Production-deployed since the 1990s."@en ;
    schema:hasPart :rdfViews,
        :sparqlFed ;
    schema:isPartOf :productsSection ;
    schema:name "Virtuoso Universal Server"@en ;
    schema:url <https://virtuoso.openlinksw.com/> ;
    owl:sameAs <http://www.wikidata.org/entity/Q7934523> ;
    :compilationTarget "Native SQL engine, external SPARQL endpoints, remote JDBC/ODBC sources"@en ;
    :dataSourcesSupported "Any JDBC/ODBC source, SPARQL endpoints, RDF graphs, WebDAV, web services — via RDF Views and virtual database engine"@en ;
    :federationModel "Native virtual DBMS engine with multi-model query compilation"@en ;
    :identifierStrategy "HTTP URIs (Linked Data principles) — hyperlinks as super keys for entity relationship graphs"@en ;
    :latencyProfile "Milliseconds (native graph) to seconds (federated)"@en ;
    :maturityTimeline "1990s–present (25+ years in production)"@en ;
    :queryLanguages "SQL, SPARQL, openCypher, GQL, GraphQL"@en .

:organizationsSection a schema:ArticleSection ;
    schema:hasPart <http://dbpedia.org/resource/Neo4j>,
        <http://dbpedia.org/resource/OpenLink_Software> ;
    schema:isPartOf :analysis ;
    schema:name "Organizations"@en .

:sourcesSection a schema:ArticleSection ;
    schema:hasPart :linkedInPost,
        :neo4jBlogSource ;
    schema:isPartOf :analysis ;
    schema:name "Sources"@en .

<http://dbpedia.org/resource/Neo4j> a schema:Organization ;
    schema:description "Graph database and analytics company. Developer of the Neo4j graph database, AuraDB cloud service, and Cypher query language. Founded in 2007."@en ;
    schema:identifier "https://www.census.gov/naics/?input=511210&year=2022&details=511210" ;
    schema:isPartOf :organizationsSection ;
    schema:naics "511210" ;
    schema:name "Neo4j"@en ;
    schema:url <https://neo4j.com/> ;
    owl:sameAs <http://www.wikidata.org/entity/Q1972271> .

:peopleSection a schema:ArticleSection ;
    schema:hasPart <https://linkedin.com/in/kidehen#this>,
        :firatTekiner,
        :michaelSimons,
        <https://www.linkedin.com/in/daniel-heward-mills#this> ;
    schema:isPartOf :analysis ;
    schema:name "People"@en .

:productsSection a schema:ArticleSection ;
    schema:hasPart <http://dbpedia.org/resource/Virtuoso_Universal_Server>,
        :graphTools,
        :neo4jAura,
        :neo4jVirtualGraph,
        :rdfViews,
        :sparqlFed ;
    schema:isPartOf :analysis ;
    schema:name "Software Products & Features"@en .

:howtoSection a schema:HowTo ;
    schema:hasPart :step1,
        :step2,
        :step3,
        :step4,
        :step5,
        :step6,
        :step7 ;
    schema:isPartOf :analysis ;
    schema:name "How to Evaluate Graph Federation Architectures"@en ;
    schema:step :step1,
        :step2,
        :step3,
        :step4,
        :step5,
        :step6,
        :step7 .

:architectureComparison a schema:ArticleSection ;
    schema:description "Side-by-side comparison of Neo4j Virtual Graph and Virtuoso Virtual DBMS across eight architectural dimensions: federation model, query languages, compilation strategy, data sources, identifier system, latency profile, maturity, and ecosystem positioning."@en ;
    schema:hasPart :dimCompilation,
        :dimDataSources,
        :dimEcosystem,
        :dimFederation,
        :dimIdentifiers,
        :dimLatency,
        :dimMaturity,
        :dimQueryLanguages ;
    schema:isPartOf :analysis ;
    schema:name "Architectural Comparison"@en .

:comparisonSection a schema:ArticleSection ;
    schema:hasPart :dimCompilation,
        :dimDataSources,
        :dimEcosystem,
        :dimFederation,
        :dimIdentifiers,
        :dimLatency,
        :dimMaturity,
        :dimQueryLanguages ;
    schema:isPartOf :analysis ;
    schema:name "Comparison Dimensions"@en .

:analysis a schema:CreativeWork ;
    schema:abstract "In May 2026, Neo4j introduced Virtual Graph — a zero-copy capability that compiles Cypher into SQL for in-place execution on Snowflake and Databricks. This represents a significant architectural shift for Neo4j: moving from a native-graph-first philosophy toward warehouse federation. Virtuoso has operated on the inverse principle since the 1990s: a virtual DBMS engine where SQL, SPARQL, openCypher, GQL, and GraphQL all compile through a common query processor against heterogeneous data sources — relational tables, RDF graphs, external SPARQL endpoints, and web services — using HTTP-based hyperlinks as standardized entity identifiers. This analysis compares the two architectures across federation model, query compilation, multi-model support, identifier strategy, maturity, and ecosystem positioning."@en ;
    schema:dateCreated "2026-06-03T20:28:01+00:00"^^xsd:dateTime ;
    schema:dateModified "2026-06-03T20:28:01+00:00"^^xsd:dateTime ;
    schema:hasPart :architectureComparison,
        :comparisonSection,
        :faqSection,
        :glossarySection,
        :howtoSection,
        :ontology,
        :organizationsSection,
        :peopleSection,
        :productsSection,
        :sourcesSection ;
    schema:inLanguage "en"@en ;
    schema:name "Neo4j Virtual Graph vs Virtuoso Virtual DBMS — A Comparative Analysis of Graph Federation Architectures"@en ;
    schema:relatedLink :relatedLink-1,
        :relatedLink-10,
        :relatedLink-2,
        :relatedLink-3,
        :relatedLink-4,
        :relatedLink-5,
        :relatedLink-6,
        :relatedLink-7,
        :relatedLink-8,
        :relatedLink-9 ;
    schema:url <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/> ;
    prov:wasGeneratedBy <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator#this> .

:glossarySection a schema:DefinedTermSet ;
    schema:hasDefinedTerm :termCypher,
        :termFederation,
        :termGQL,
        :termGraphRAG,
        :termLinkedData,
        :termMultiModel,
        :termRDFViews,
        :termSPARQL,
        :termVirtualDBMS,
        :termZeroCopy ;
    schema:isPartOf :analysis ;
    schema:name "Glossary — Graph Federation Architecture"@en .

:ontology a owl:Ontology ;
    rdfs:label "Graph Federation Architecture Ontology"@en ;
    schema:description "Lightweight ontology for comparing graph database federation architectures, including virtual graph capabilities, query compilation strategies, multi-model support, and identifier systems."@en ;
    schema:identifier "https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/" ;
    schema:isPartOf :analysis ;
    schema:name "Graph Federation Architecture Ontology"@en ;
    rdfs:comment "Custom vocabulary for comparative analysis of graph federation approaches."@en .

:faqSection a schema:FAQPage ;
    schema:hasPart :a1,
        :a10,
        :a11,
        :a12,
        :a2,
        :a3,
        :a4,
        :a5,
        :a6,
        :a7,
        :a8,
        :a9,
        :q1,
        :q10,
        :q11,
        :q12,
        :q2,
        :q3,
        :q4,
        :q5,
        :q6,
        :q7,
        :q8,
        :q9 ;
    schema:isPartOf :analysis ;
    schema:mainEntity :q1,
        :q10,
        :q11,
        :q12,
        :q2,
        :q3,
        :q4,
        :q5,
        :q6,
        :q7,
        :q8,
        :q9 ;
    schema:name "FAQ — Neo4j Virtual Graph vs Virtuoso Virtual DBMS"@en .


