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

# ══════════════════════════════════════════════════════════════════
# LIGHTWEIGHT ONTOLOGY
# ══════════════════════════════════════════════════════════════════

: a owl:Ontology ;
    schema:name "Virtual Graph Comparison Ontology"@en ;
    schema:description "A lightweight ontology for modeling virtual graph capabilities, zero-copy federation architectures, and comparative analysis dimensions across graph database and knowledge graph platforms."@en ;
    schema:identifier "https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/" ;
    rdfs:label "Virtual Graph Comparison Ontology"@en ;
    rdfs:comment "Ontology supporting comparative analysis of virtual graph and knowledge graph platform capabilities."@en .

:VirtualGraphPlatform a rdfs:Class ;
    rdfs:label "Virtual Graph Platform"@en ;
    rdfs:comment "A software platform providing virtual graph query capabilities over external data sources without data movement."@en ;
    rdfs:isDefinedBy : .

:NativeGraphPlatform a rdfs:Class ;
    rdfs:subClassOf :VirtualGraphPlatform ;
    rdfs:label "Native Graph Platform"@en ;
    rdfs:comment "A platform supporting both virtual and native graph storage with an optimized graph query engine."@en ;
    rdfs:isDefinedBy : .

:MultiModelPlatform a rdfs:Class ;
    rdfs:subClassOf :VirtualGraphPlatform ;
    rdfs:label "Multi-Model Platform"@en ;
    rdfs:comment "A platform supporting multiple query languages and data models simultaneously on the same underlying data."@en ;
    rdfs:isDefinedBy : .

:VirtualGraphCapability a rdfs:Class ;
    rdfs:label "Virtual Graph Capability"@en ;
    rdfs:comment "A specific technical capability enabling virtual or federated graph query over external data sources."@en ;
    rdfs:isDefinedBy : .

:ComparisonDimension a rdfs:Class ;
    rdfs:label "Comparison Dimension"@en ;
    rdfs:comment "A specific axis of comparison between two or more platform capabilities."@en ;
    rdfs:isDefinedBy : .

:hasVirtualGraphCapability a rdf:Property ;
    rdfs:label "has virtual graph capability"@en ;
    rdfs:comment "Links a platform to a specific virtual graph capability it supports."@en ;
    rdfs:domain :VirtualGraphPlatform ;
    rdfs:range :VirtualGraphCapability ;
    rdfs:isDefinedBy : .

:hasTemporalPriority a rdf:Property ;
    rdfs:label "has temporal priority"@en ;
    rdfs:comment "The approximate year a capability was first introduced, providing historical priority context."@en ;
    rdfs:domain :VirtualGraphCapability ;
    rdfs:range xsd:gYear ;
    rdfs:isDefinedBy : .

:hasStandardsBasis a rdf:Property ;
    rdfs:label "has standards basis"@en ;
    rdfs:comment "Links a capability or platform to the formal standards it implements."@en ;
    rdfs:isDefinedBy : .

# ══════════════════════════════════════════════════════════════════
# MAIN ANALYSIS
# ══════════════════════════════════════════════════════════════════

:analysis a schema:AnalysisNewsArticle, schema:CreativeWork ;
    schema:name "Neo4j Virtual Graph vs. Virtuoso: Virtual Graphs, Federation, and Knowledge Graph Reasoning — A Historical Perspective"@en ;
    schema:description "A comparative analysis placing Neo4j's 2026 Virtual Graph announcement in the context of Virtuoso's 20+ years of virtual DBMS, federated SPARQL, RDF Views, and multi-model knowledge graph capabilities — examining zero-copy federation, standards alignment, query language breadth, and temporal priority."@en ;
    schema:datePublished "2026-06-03"^^xsd:date ;
    schema:url <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/> ;
    schema:author <https://www.linkedin.com/in/kidehen/#this> ;
    schema:about :neo4jVirtualGraph, <http://dbpedia.org/resource/Virtuoso_Universal_Server>, :zeroCopyFederation, :rdfViews, :multiModelQuery ;
    schema:keywords "Neo4j, Virtuoso, Virtual Graph, Knowledge Graph, SPARQL, Federation, RDF Views, Multi-Model, GQL, openCypher, Linked Data, Zero-Copy"@en ;
    schema:inLanguage "en" ;
    schema:relatedLink
        <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/>,
        <https://www.linkedin.com/feed/update/urn:li:ugcPost:7459616012645240832/>,
        <https://virtuoso.openlinksw.com/>,
        <https://www.openlinksw.com/>,
        <https://www.w3.org/TR/sparql11-overview/>,
        <https://www.w3.org/TR/r2rml/>,
        <https://www.w3.org/TR/rdf11-primer/>,
        <https://neo4j.com/>,
        <https://dbpedia.org/>,
        <https://www.wikidata.org/>,
        <https://opencypher.org/>,
        <https://neo4j.com/product/auradb/>,
        <https://www.snowflake.com/>,
        <https://www.databricks.com/>,
        <https://sparqlworks.openlinksw.com/>,
        <https://linkeddata.uriburner.com/>,
        <https://www.w3.org/TR/owl2-overview/>,
        <https://www.w3.org/TR/skos-reference/>,
        <https://jena.apache.org/>,
        <https://graphdb.ontotext.com/> ;
    schema:hasPart
        :faqSection,
        :glossarySection,
        :howtoSection,
        :neo4jSection,
        :virtuosoSection,
        :comparisonSection,
        :historicalContextSection,
        :standardsSection ;
    prov:wasGeneratedBy <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator#this> .

# ══════════════════════════════════════════════════════════════════
# ORGANIZATIONS
# ══════════════════════════════════════════════════════════════════

<http://dbpedia.org/resource/Neo4j> a schema:Organization ;
    schema:name "Neo4j"@en ;
    schema:description "Graph database management system developer and creator of the Cypher query language. Products include the Neo4j graph database, AuraDB cloud service, and the newly announced Virtual Graph feature."@en ;
    schema:url <https://neo4j.com/> ;
    schema:identifier "https://neo4j.com/" ;
    schema:hasPart :neo4jSection ;
    owl:sameAs <https://neo4j.com/#this>,
               <https://www.linkedin.com/company/neo4j/#this> .

<http://dbpedia.org/resource/OpenLink_Software> a schema:Organization ;
    schema:name "OpenLink Software"@en ;
    schema:description "Multi-model data management and middleware company founded in 1993. Developers of Virtuoso Universal Server, iODBC, and key Linked Data infrastructure including the URIBurner service and DBpedia SPARQL endpoint hosting."@en ;
    schema:url <https://www.openlinksw.com/> ;
    schema:identifier "https://www.openlinksw.com/" ;
    schema:foundingDate "1993"^^xsd:gYear ;
    schema:hasPart :virtuosoSection ;
    owl:sameAs <https://www.openlinksw.com/#this>,
               <https://www.linkedin.com/company/openlink-software/#this> .

# ══════════════════════════════════════════════════════════════════
# PLATFORMS
# ══════════════════════════════════════════════════════════════════

<http://dbpedia.org/resource/Virtuoso_Universal_Server> a schema:SoftwareApplication, :MultiModelPlatform ;
    schema:name "Virtuoso Universal Server"@en ;
    schema:description "OpenLink Software's multi-model, multi-purpose RDBMS and knowledge graph platform supporting SQL, SPARQL, openCypher, GQL, and GraphQL simultaneously on the same underlying data. Features include native RDF storage, virtual RDF Views over relational data (2007), federated SPARQL 1.1 (2013), W3C R2RML Linked Data Views, ISO GQL support, and Linked Data content negotiation. Powers the canonical DBpedia SPARQL endpoint."@en ;
    schema:applicationCategory "Multi-Model Database / Knowledge Graph Platform"@en ;
    schema:creator <http://dbpedia.org/resource/OpenLink_Software> ;
    schema:url <https://virtuoso.openlinksw.com/> ;
    schema:identifier "https://virtuoso.openlinksw.com/" ;
    schema:dateCreated "1998"^^xsd:gYear ;
    :hasVirtualGraphCapability :rdfViews, :linkedDataViews, :sparqlFederation, :gqlSupport, :openCypherSupport, :multiModelQuery, :virtuosoSponger ;
    schema:isPartOf :virtuosoSection .

:neo4jVirtualGraph a schema:SoftwareApplication, schema:Product, :VirtualGraphPlatform ;
    schema:name "Neo4j Virtual Graph"@en ;
    schema:description "Neo4j's zero-copy virtual graph feature announced in private preview (May 2026). Enables Cypher queries over data in Snowflake and Databricks without ETL or data movement. Architecture: (1) AI-powered schema inference from relational tables, (2) deterministic Cypher-to-SQL compilation, (3) graph compute layer for multi-hop operations SQL cannot express. Designed for warehouse-grade latency (seconds to minutes) and GraphRAG testing workloads."@en ;
    schema:applicationCategory "Virtual Graph Federation"@en ;
    schema:creator <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/> ;
    schema:identifier "https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/" ;
    schema:datePublished "2026-05-01"^^xsd:date ;
    schema:releaseNotes "Private preview May 2026. Roadmap: JDBC/SQL interfaces, adaptive hot-subgraph caching, composite queries spanning AuraDB + Virtual Graph."@en ;
    :hasVirtualGraphCapability :neo4jZeroCopyFederation, :cypherToSqlTranslation, :aiSchemaInference, :graphComputeLayer ;
    schema:isPartOf :neo4jSection .

# ══════════════════════════════════════════════════════════════════
# NEO4J SECTION
# ══════════════════════════════════════════════════════════════════

:neo4jSection a schema:ArticleSection ;
    schema:name "Neo4j Virtual Graph (2026)"@en ;
    schema:description "Analysis of Neo4j's Virtual Graph announcement: architecture, use cases, roadmap, and positioning."@en ;
    schema:isPartOf :analysis ;
    schema:hasPart :neo4jVirtualGraph, :neo4jZeroCopyFederation, :cypherToSqlTranslation, :aiSchemaInference, :graphComputeLayer, :neo4jBlogPost .

:neo4jZeroCopyFederation a :VirtualGraphCapability ;
    schema:name "Neo4j Zero-Copy Federation"@en ;
    schema:description "Data remains governed in Snowflake or Databricks; Cypher queries execute in-place via SQL translation. No ETL pipelines, no new system of record."@en ;
    :hasTemporalPriority "2026"^^xsd:gYear ;
    :hasStandardsBasis "openCypher / ISO GQL (roadmap)"@en ;
    schema:isPartOf :neo4jSection .

:cypherToSqlTranslation a :VirtualGraphCapability ;
    schema:name "Deterministic Cypher-to-SQL Compilation"@en ;
    schema:description "Cypher graph patterns are compiled deterministically (not by LLM) into optimized SQL executed at the source data warehouse. Ensures predictable performance and consistent results."@en ;
    :hasTemporalPriority "2026"^^xsd:gYear ;
    schema:isPartOf :neo4jSection .

:aiSchemaInference a :VirtualGraphCapability ;
    schema:name "AI-Powered Graph Schema Inference"@en ;
    schema:description "AI automatically generates a graph schema from source relational tables, inferring relationships from foreign keys and detecting implied relationships even without formal FK declarations. Users can review and edit the inferred schema."@en ;
    :hasTemporalPriority "2026"^^xsd:gYear ;
    schema:isPartOf :neo4jSection .

:graphComputeLayer a :VirtualGraphCapability ;
    schema:name "Graph Compute Layer"@en ;
    schema:description "Handles graph-specific operations — multi-hop pattern matching, traversal, path queries — that SQL cannot efficiently express. Bridges the semantic gap between relational and graph computation."@en ;
    :hasTemporalPriority "2026"^^xsd:gYear ;
    schema:isPartOf :neo4jSection .

:neo4jBlogPost a schema:BlogPosting ;
    schema:name "Introducing Neo4j Virtual Graph: Graph Reasoning on the Data You Already Have"@en ;
    schema:description "Official Neo4j blog post (May 2026) announcing Virtual Graph in private preview: architecture overview, five enterprise problems addressed, use case guidance, and roadmap."@en ;
    schema:url <https://neo4j.com/blog/graph-database/introducing-neo4j-virtual-graph-graph-reasoning-on-the-data-you-already-have/> ;
    schema:datePublished "2026-05-01"^^xsd:date ;
    schema:publisher <http://dbpedia.org/resource/Neo4j> ;
    schema:isPartOf :neo4jSection .

# ══════════════════════════════════════════════════════════════════
# VIRTUOSO SECTION
# ══════════════════════════════════════════════════════════════════

:virtuosoSection a schema:ArticleSection ;
    schema:name "Virtuoso Virtual DBMS & Knowledge Graph (1998–present)"@en ;
    schema:description "Historical overview of Virtuoso's virtual DBMS, RDF Views, federated SPARQL, multi-model query, GQL support, and Linked Data capabilities — spanning 20+ years of production deployments."@en ;
    schema:isPartOf :analysis ;
    schema:hasPart <http://dbpedia.org/resource/Virtuoso_Universal_Server>, :rdfViews, :linkedDataViews, :sparqlFederation, :gqlSupport, :openCypherSupport, :multiModelQuery, :virtuosoSponger, :linkedInPost .

:rdfViews a :VirtualGraphCapability ;
    schema:name "Virtuoso RDF Views (Virtual RDF Graphs)"@en ;
    schema:description "Virtuoso's capability to map relational SQL tables to RDF triples without copying data — introduced circa 2007. SPARQL queries execute over virtual RDF graphs backed by live relational data. The original zero-copy virtual knowledge graph approach, predating Neo4j Virtual Graph by ~18-20 years."@en ;
    :hasTemporalPriority "2007"^^xsd:gYear ;
    :hasStandardsBasis "W3C RDF, W3C SPARQL"@en ;
    schema:isPartOf :virtuosoSection .

:linkedDataViews a :VirtualGraphCapability ;
    schema:name "Linked Data Views (W3C R2RML Mappings)"@en ;
    schema:description "W3C-standard R2RML (RDB to RDF Mapping Language) declarative mappings enabling zero-copy virtual knowledge graph construction from SQL data. Formally interoperable, machine-auditable, and standards-compliant — distinct from AI-generated schema inference."@en ;
    :hasTemporalPriority "2012"^^xsd:gYear ;
    :hasStandardsBasis "W3C R2RML (https://www.w3.org/TR/r2rml/)"@en ;
    schema:isPartOf :virtuosoSection .

:sparqlFederation a :VirtualGraphCapability ;
    schema:name "SPARQL 1.1 Federated Queries"@en ;
    schema:description "Federated SPARQL queries via the W3C SERVICE clause enabling a single query to span multiple remote SPARQL endpoints (Wikidata, DBpedia, any W3C-compliant endpoint). Virtuoso hosts the canonical DBpedia SPARQL endpoint. Demonstrated by Daniel Heward-Mills with live federated queries against wikidata.org and dbpedia.org."@en ;
    :hasTemporalPriority "2013"^^xsd:gYear ;
    :hasStandardsBasis "W3C SPARQL 1.1 (https://www.w3.org/TR/sparql11-overview/)"@en ;
    schema:isPartOf :virtuosoSection .

:gqlSupport a :VirtualGraphCapability ;
    schema:name "ISO GQL (Graph Query Language) Support"@en ;
    schema:description "Virtuoso's native support for ISO/IEC 39075 GQL — the international standard for graph query. Demonstrated via: (1) RDF virtualized queries over Northwind SQL tables, (2) federated queries against Virtuoso-hosted Wikidata, (3) federated queries against wikidata.org SPARQL endpoint, (4) weighted degree centrality, (5) federated DBpedia queries, (6) graph visualization via SPARQLWorks."@en ;
    :hasTemporalPriority "2025"^^xsd:gYear ;
    :hasStandardsBasis "ISO/IEC 39075 GQL"@en ;
    schema:isPartOf :virtuosoSection .

:openCypherSupport a :VirtualGraphCapability ;
    schema:name "openCypher Support"@en ;
    schema:description "Virtuoso's support for openCypher queries — the same graph pattern language as Neo4j — but executed over Virtuoso's multi-model data store including virtual RDF graphs and federated sources."@en ;
    :hasTemporalPriority "2022"^^xsd:gYear ;
    :hasStandardsBasis "openCypher specification (opencypher.org)"@en ;
    schema:isPartOf :virtuosoSection .

:multiModelQuery a :VirtualGraphCapability ;
    schema:name "Multi-Model Simultaneous Query"@en ;
    schema:description "Virtuoso's 'loosely coupled architecture' enables SQL, SPARQL, openCypher, GQL, and GraphQL to query the same underlying data simultaneously — without data copying, translation pipelines, or model conversion. HTTP-based IRIs provide universal entity identity across all query languages."@en ;
    :hasTemporalPriority "2015"^^xsd:gYear ;
    schema:isPartOf :virtuosoSection .

:virtuosoSponger a :VirtualGraphCapability ;
    schema:name "Virtuoso Sponger (Content Transformation Middleware)"@en ;
    schema:description "Virtuoso's Sponger middleware transforms diverse web content (HTML, JSON, CSV, and structured formats) into RDF in real time via extraction cartridges — enabling virtual knowledge graph construction from arbitrary web sources without ETL pipelines."@en ;
    :hasTemporalPriority "2007"^^xsd:gYear ;
    schema:isPartOf :virtuosoSection .

:linkedInPost a schema:SocialMediaPosting ;
    schema:name "Virtuoso GQL Support Demonstrations (LinkedIn)"@en ;
    schema:description "LinkedIn post by Daniel Heward-Mills demonstrating Virtuoso's GQL support with six live federated query demos. Reshared by Kingsley Uyi Idehen who described Virtuoso as a 'multi-model, multi-purpose platform' supporting SQL, SPARQL, openCypher, GQL, and GraphQL simultaneously."@en ;
    schema:url <https://www.linkedin.com/feed/update/urn:li:ugcPost:7459616012645240832/> ;
    schema:author :danielHewardMills ;
    schema:isPartOf :virtuosoSection .

# ══════════════════════════════════════════════════════════════════
# COMPARISON DIMENSIONS
# ══════════════════════════════════════════════════════════════════

:comparisonSection a schema:ArticleSection ;
    schema:name "Head-to-Head Comparison"@en ;
    schema:description "Structured comparison across key architectural, standards, temporal, and capability dimensions between Neo4j Virtual Graph and Virtuoso."@en ;
    schema:isPartOf :analysis ;
    schema:hasPart :dimZeroCopy, :dimQueryLanguage, :dimFederationTargets, :dimSchemaApproach, :dimTemporalPriority, :dimStandards, :dimMultiModel, :dimLinkedData .

:dimZeroCopy a :ComparisonDimension ;
    schema:name "Zero-Copy / Virtual Data Access"@en ;
    schema:description "Both platforms provide zero-copy access to external data. Virtuoso introduced this circa 2007 via RDF Views; Neo4j announced it in May 2026. Virtuoso's scope is broader — relational JDBC, SPARQL endpoints, and web content — while Neo4j's initial focus is Snowflake and Databricks warehouses."@en ;
    schema:isPartOf :comparisonSection .

:dimQueryLanguage a :ComparisonDimension ;
    schema:name "Query Language Support"@en ;
    schema:description "Neo4j Virtual Graph supports Cypher (ISO GQL on roadmap). Virtuoso supports SQL, SPARQL 1.0/1.1, openCypher, ISO GQL, and GraphQL simultaneously. Virtuoso's multi-language architecture reflects W3C and ISO alignment; Neo4j's has been historically Cypher-centric with open-standard convergence underway."@en ;
    schema:isPartOf :comparisonSection .

:dimFederationTargets a :ComparisonDimension ;
    schema:name "Federation Target Systems"@en ;
    schema:description "Neo4j Virtual Graph targets Snowflake and Databricks, with JDBC/SQL interfaces on roadmap. Virtuoso federates across any W3C SPARQL 1.1-compliant endpoint (Wikidata, DBpedia, etc.), JDBC relational databases, and arbitrary web content via the Sponger — without requiring roadmap work."@en ;
    schema:isPartOf :comparisonSection .

:dimSchemaApproach a :ComparisonDimension ;
    schema:name "Schema / Ontology Approach"@en ;
    schema:description "Neo4j uses AI-generated schema inference from relational tables (automated, editable). Virtuoso uses W3C R2RML declarative mappings and SPARQL-based ontology definitions (formal, standards-interoperable). AI inference is faster to bootstrap; R2RML is more auditable and semantically precise."@en ;
    schema:isPartOf :comparisonSection .

:dimTemporalPriority a :ComparisonDimension ;
    schema:name "Historical Temporal Priority"@en ;
    schema:description "Virtuoso's RDF Views (virtual RDF over relational) date to ~2007, predating Neo4j Virtual Graph by approximately 18-20 years. Virtuoso's federated SPARQL has been production-ready since 2013. Neo4j's Virtual Graph is in private preview as of 2026 — a validation of the market rather than a pioneering entry."@en ;
    schema:isPartOf :comparisonSection .

:dimStandards a :ComparisonDimension ;
    schema:name "Standards Alignment"@en ;
    schema:description "Virtuoso implements W3C standards (RDF, SPARQL 1.1, R2RML, Linked Data, OWL) and ISO GQL, enabling interoperability with the semantic web ecosystem. Neo4j's Cypher is an open specification (openCypher) but vendor-originated. Both are converging on ISO GQL. Virtuoso's standards-first design enables broader cross-ecosystem federation."@en ;
    schema:isPartOf :comparisonSection .

:dimMultiModel a :ComparisonDimension ;
    schema:name "Multi-Model Query Capability"@en ;
    schema:description "Virtuoso uniquely serves SQL, SPARQL, openCypher, ISO GQL, and GraphQL on the same data simultaneously with no copying between models. Neo4j Virtual Graph is Cypher-centric (GQL planned). Virtuoso's multi-model advantage is structural for organizations with heterogeneous query language or tooling requirements."@en ;
    schema:isPartOf :comparisonSection .

:dimLinkedData a :ComparisonDimension ;
    schema:name "Linked Data and HTTP-Based Entity Resolution"@en ;
    schema:description "Virtuoso implements W3C Linked Data: HTTP IRIs as entity identifiers with content negotiation (HTML/JSON/RDF) and cross-system entity resolution. Neo4j's property graph model uses internal node IDs without HTTP-based resolution. Linked Data enables machine-to-machine semantic interoperability without custom API contracts."@en ;
    schema:isPartOf :comparisonSection .

# ══════════════════════════════════════════════════════════════════
# HISTORICAL CONTEXT
# ══════════════════════════════════════════════════════════════════

:historicalContextSection a schema:ArticleSection ;
    schema:name "Historical Timeline"@en ;
    schema:description "Key milestones in virtual graph, federated SPARQL, and knowledge graph technology relevant to the Neo4j vs. Virtuoso comparison."@en ;
    schema:isPartOf :analysis ;
    schema:hasPart :milestoneRdfViews, :milestoneDBpedia, :milestoneSparqlFed, :milestoneR2RML, :milestoneMultiModel, :milestoneGQL, :milestoneNeo4jVG .

:milestoneRdfViews a schema:Event ;
    schema:name "Virtuoso RDF Views Introduced (~2007)"@en ;
    schema:description "OpenLink Software introduces RDF Views in Virtuoso, enabling zero-copy virtual RDF graphs from relational SQL data queried via SPARQL — the original virtual knowledge graph federation approach."@en ;
    schema:startDate "2007"^^xsd:gYear ;
    schema:isPartOf :historicalContextSection .

:milestoneDBpedia a schema:Event ;
    schema:name "DBpedia Canonical SPARQL Endpoint on Virtuoso (2007)"@en ;
    schema:description "Virtuoso becomes the database powering DBpedia's canonical SPARQL endpoint, demonstrating large-scale production knowledge graph hosting and federated SPARQL at global scale."@en ;
    schema:startDate "2007"^^xsd:gYear ;
    schema:isPartOf :historicalContextSection .

:milestoneSparqlFed a schema:Event ;
    schema:name "W3C SPARQL 1.1 Federation Published (2013)"@en ;
    schema:description "W3C publishes SPARQL 1.1, including the SERVICE clause for federated queries across remote endpoints. Virtuoso implements full SPARQL 1.1 federation, enabling cross-endpoint queries against Wikidata, DBpedia, and other public endpoints."@en ;
    schema:startDate "2013"^^xsd:gYear ;
    schema:isPartOf :historicalContextSection .

:milestoneR2RML a schema:Event ;
    schema:name "W3C R2RML Becomes a Recommendation (2012)"@en ;
    schema:description "W3C publishes R2RML (RDB to RDF Mapping Language) as a formal Recommendation, standardizing the declarative virtual KG construction approach Virtuoso had pioneered with its Linked Data Views."@en ;
    schema:startDate "2012"^^xsd:gYear ;
    schema:isPartOf :historicalContextSection .

:milestoneMultiModel a schema:Event ;
    schema:name "Virtuoso Multi-Model Query (SQL+SPARQL+Cypher) (~2015)"@en ;
    schema:description "Virtuoso achieves simultaneous multi-model query support — SQL, SPARQL, and openCypher — on the same underlying data, eliminating the need to choose a single query paradigm."@en ;
    schema:startDate "2015"^^xsd:gYear ;
    schema:isPartOf :historicalContextSection .

:milestoneGQL a schema:Event ;
    schema:name "ISO GQL Standard Published + Virtuoso GQL Demo (2024-2025)"@en ;
    schema:description "ISO publishes ISO/IEC 39075 GQL. Virtuoso demonstrates native GQL support including virtualized queries over SQL tables and federated queries against Wikidata and DBpedia SPARQL endpoints, with graph visualization via SPARQLWorks."@en ;
    schema:startDate "2024"^^xsd:gYear ;
    schema:isPartOf :historicalContextSection .

:milestoneNeo4jVG a schema:Event ;
    schema:name "Neo4j Virtual Graph Announced (May 2026)"@en ;
    schema:description "Neo4j announces Virtual Graph in private preview — enabling Cypher queries over Snowflake and Databricks without ETL, using AI schema inference, deterministic Cypher-to-SQL compilation, and a graph compute layer. Validates the virtual graph market that Virtuoso has served for nearly two decades."@en ;
    schema:startDate "2026-05-01"^^xsd:date ;
    schema:isPartOf :historicalContextSection .

# ══════════════════════════════════════════════════════════════════
# STANDARDS SECTION
# ══════════════════════════════════════════════════════════════════

:standardsSection a schema:ArticleSection ;
    schema:name "Relevant Open Standards"@en ;
    schema:description "W3C and ISO standards relevant to the virtual graph and knowledge graph landscape."@en ;
    schema:isPartOf :analysis ;
    schema:hasPart :stdSparql, :stdRdf, :stdR2RML, :stdGql, :stdOpenCypher, :stdLinkedData .

:stdSparql a schema:CreativeWork ;
    schema:name "W3C SPARQL 1.1"@en ;
    schema:description "W3C standard query and update language for RDF data. Includes federation (SERVICE clause), SPARQL Update, SPARQL Graph Store HTTP Protocol, and Federated Query. Supported natively by Virtuoso; not yet a target for Neo4j Virtual Graph."@en ;
    schema:url <https://www.w3.org/TR/sparql11-overview/> ;
    schema:identifier "https://www.w3.org/TR/sparql11-overview/" ;
    schema:isPartOf :standardsSection .

:stdRdf a schema:CreativeWork ;
    schema:name "W3C RDF 1.1"@en ;
    schema:description "W3C's data model for the semantic web using subject-predicate-object triples with HTTP IRIs for entity identity. Foundation of Virtuoso's knowledge graph capabilities."@en ;
    schema:url <https://www.w3.org/TR/rdf11-primer/> ;
    schema:identifier "https://www.w3.org/TR/rdf11-primer/" ;
    schema:isPartOf :standardsSection .

:stdR2RML a schema:CreativeWork ;
    schema:name "W3C R2RML"@en ;
    schema:description "W3C Recommendation for declarative mapping from relational databases to RDF (2012). Enables zero-copy virtual knowledge graph construction. Implemented by Virtuoso's Linked Data Views; no equivalent in Neo4j Virtual Graph."@en ;
    schema:url <https://www.w3.org/TR/r2rml/> ;
    schema:identifier "https://www.w3.org/TR/r2rml/" ;
    schema:isPartOf :standardsSection .

:stdGql a schema:CreativeWork ;
    schema:name "ISO/IEC 39075 GQL"@en ;
    schema:description "International standard for graph query language (2024). Both Virtuoso (implemented) and Neo4j (roadmap) are converging toward GQL as the common graph query standard."@en ;
    schema:identifier "ISO/IEC 39075" ;
    schema:isPartOf :standardsSection .

:stdOpenCypher a schema:CreativeWork ;
    schema:name "openCypher"@en ;
    schema:description "Open specification for the Cypher property graph query language, originated by Neo4j. Supported by both Neo4j Virtual Graph and Virtuoso, enabling cross-platform graph queries with the same syntax."@en ;
    schema:url <https://opencypher.org/> ;
    schema:identifier "https://opencypher.org/" ;
    schema:isPartOf :standardsSection .

:stdLinkedData a schema:CreativeWork ;
    schema:name "W3C Linked Data Principles"@en ;
    schema:description "Four principles for publishing structured data on the web: use HTTP URIs as names, make them dereferenceable, return useful information on lookup, include links to other URIs. Virtuoso implements these natively; Neo4j does not include HTTP-based entity resolution."@en ;
    schema:url <https://www.w3.org/DesignIssues/LinkedData.html> ;
    schema:isPartOf :standardsSection .

# ══════════════════════════════════════════════════════════════════
# PERSONS
# ══════════════════════════════════════════════════════════════════

<https://www.linkedin.com/in/kidehen/#this> a schema:Person, foaf:Person ;
    schema:name "Kingsley Uyi Idehen"@en ;
    schema:description "Founder and CEO of OpenLink Software. Pioneer of multi-model data management, Linked Data, and knowledge graph technologies. Reshared Daniel Heward-Mills' Virtuoso GQL demonstrations and described Virtuoso as a 'multi-model, multi-purpose platform'."@en ;
    schema:jobTitle "Founder and CEO"@en ;
    schema:worksFor <http://dbpedia.org/resource/OpenLink_Software> ;
    schema:url <https://www.linkedin.com/in/kidehen/> ;
    schema:identifier "https://www.linkedin.com/in/kidehen/" ;
    owl:sameAs <https://linkedin.com/in/kidehen/#this> .

:danielHewardMills a schema:Person, foaf:Person ;
    schema:name "Daniel Heward-Mills"@en ;
    schema:description "Technical advocate at OpenLink Software. Author of the LinkedIn post demonstrating Virtuoso's GQL support with six live federated query demonstrations including virtualized SQL, federated Wikidata and DBpedia queries, and weighted degree centrality."@en ;
    schema:worksFor <http://dbpedia.org/resource/OpenLink_Software> ;
    schema:url <https://www.linkedin.com/feed/update/urn:li:ugcPost:7459616012645240832/> .

# ══════════════════════════════════════════════════════════════════
# FAQ SECTION
# ══════════════════════════════════════════════════════════════════

:faqSection a schema:FAQPage ;
    schema:name "FAQ: Neo4j Virtual Graph vs. Virtuoso"@en ;
    schema:description "Twelve key questions and answers comparing Neo4j Virtual Graph and Virtuoso's virtual knowledge graph capabilities."@en ;
    schema:mainEntity :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12 ;
    schema:isPartOf :analysis ;
    schema:hasPart :q1, :q2, :q3, :q4, :q5, :q6, :q7, :q8, :q9, :q10, :q11, :q12 .

:q1 a schema:Question ;
    schema:name "What is Neo4j Virtual Graph and when was it announced?"@en ;
    schema:acceptedAnswer :a1 ;
    schema:isPartOf :faqSection .
:a1 a schema:Answer ;
    schema:text "Neo4j Virtual Graph is a zero-copy federation feature announced in private preview in May 2026. It enables Cypher queries over data in Snowflake and Databricks without ETL or data movement, using three components: AI-powered graph schema inference from relational tables, deterministic Cypher-to-SQL compilation, and a graph compute layer for multi-hop operations."@en .

:q2 a schema:Question ;
    schema:name "How long has Virtuoso supported virtual RDF graphs over relational data?"@en ;
    schema:acceptedAnswer :a2 ;
    schema:isPartOf :faqSection .
:a2 a schema:Answer ;
    schema:text "Virtuoso's RDF Views capability — zero-copy virtual RDF graphs from relational SQL tables queryable via SPARQL — was introduced circa 2007, predating Neo4j's Virtual Graph announcement by approximately 18-20 years. This capability has been in continuous production use, including powering the DBpedia SPARQL endpoint."@en .

:q3 a schema:Question ;
    schema:name "What query languages does each platform support for virtual graph access?"@en ;
    schema:acceptedAnswer :a3 ;
    schema:isPartOf :faqSection .
:a3 a schema:Answer ;
    schema:text "Neo4j Virtual Graph supports Cypher, with ISO GQL convergence on its roadmap. Virtuoso supports SQL, SPARQL 1.0/1.1, openCypher, ISO GQL, and GraphQL simultaneously on the same underlying data — all without separate query translation pipelines or data copies per language. This multi-model breadth is a structural differentiator."@en .

:q4 a schema:Question ;
    schema:name "Which data sources can each platform federate over?"@en ;
    schema:acceptedAnswer :a4 ;
    schema:isPartOf :faqSection .
:a4 a schema:Answer ;
    schema:text "Neo4j Virtual Graph currently targets Snowflake and Databricks, with JDBC/SQL on roadmap. Virtuoso federates across any W3C SPARQL 1.1-compliant endpoint (Wikidata, DBpedia, thousands of public endpoints), JDBC-connected relational databases, and arbitrary web content via its Sponger middleware — all in production and without roadmap dependency."@en .

:q5 a schema:Question ;
    schema:name "What is W3C R2RML and how does Virtuoso use it?"@en ;
    schema:acceptedAnswer :a5 ;
    schema:isPartOf :faqSection .
:a5 a schema:Answer ;
    schema:text "R2RML is the W3C Recommendation (2012) defining a standard language for mapping relational databases to RDF. Virtuoso's Linked Data Views implement R2RML, enabling declarative zero-copy virtual knowledge graph construction from SQL data that is formally interoperable with any R2RML-compliant tooling — a standards-based alternative to AI-generated schema inference."@en .

:q6 a schema:Question ;
    schema:name "How does Neo4j's AI schema inference differ from Virtuoso's R2RML approach?"@en ;
    schema:acceptedAnswer :a6 ;
    schema:isPartOf :faqSection .
:a6 a schema:Answer ;
    schema:text "Neo4j Virtual Graph uses AI to infer a graph schema from relational tables (automated, editable, fast to bootstrap). Virtuoso uses W3C R2RML declarative mappings and SPARQL-based ontology definitions (formal, machine-auditable, formally interoperable). The AI approach accelerates prototyping; R2RML provides stricter governance guarantees suitable for regulated environments."@en .

:q7 a schema:Question ;
    schema:name "What role does Virtuoso play in the DBpedia and Wikidata ecosystem?"@en ;
    schema:acceptedAnswer :a7 ;
    schema:isPartOf :faqSection .
:a7 a schema:Answer ;
    schema:text "Virtuoso powers DBpedia's canonical SPARQL endpoint — the primary public interface to the DBpedia knowledge graph extracted from Wikipedia — since approximately 2007. Virtuoso also hosts Wikidata-federated query demonstrations. These large-scale, long-running deployments validate Virtuoso's knowledge graph and federated SPARQL capabilities at global production scale."@en .

:q8 a schema:Question ;
    schema:name "What is ISO GQL and which platform supports it today?"@en ;
    schema:acceptedAnswer :a8 ;
    schema:isPartOf :faqSection .
:a8 a schema:Answer ;
    schema:text "ISO/IEC 39075 GQL (Graph Query Language) is the international standard for graph query, published in 2024. Virtuoso has demonstrated native GQL support including virtualized queries over Northwind SQL tables and federated queries against Wikidata and DBpedia. Neo4j has GQL on its roadmap but the 2026 Virtual Graph announcement remains Cypher-centric."@en .

:q9 a schema:Question ;
    schema:name "What is Linked Data and why does it matter for knowledge graph interoperability?"@en ;
    schema:acceptedAnswer :a9 ;
    schema:isPartOf :faqSection .
:a9 a schema:Answer ;
    schema:text "Linked Data uses HTTP IRIs as globally unique entity identifiers, enabling content negotiation (HTML for humans, RDF/JSON for machines) and cross-system entity resolution without custom API contracts. Virtuoso implements Linked Data natively, giving every entity a dereferenceable HTTP IRI. Neo4j's property graph model uses internal node IDs without HTTP-based resolution — limiting cross-system semantic interoperability."@en .

:q10 a schema:Question ;
    schema:name "What latency profiles suit each platform for AI agent workloads?"@en ;
    schema:acceptedAnswer :a10 ;
    schema:isPartOf :faqSection .
:a10 a schema:Answer ;
    schema:text "Neo4j Virtual Graph targets warehouse-grade latency (seconds to minutes) — suitable for 'agents that think in seconds' such as GraphRAG analysis. Native Neo4j storage targets millisecond latency for real-time applications. Virtuoso's virtual KG operates at source-dependent latency but supports named graph caching for hot subgraphs. Both platforms can serve agentic GraphRAG workloads; the latency requirement and data governance model determine the fit."@en .

:q11 a schema:Question ;
    schema:name "What does 'separation of query language from data' mean in Virtuoso's architecture?"@en ;
    schema:acceptedAnswer :a11 ;
    schema:isPartOf :faqSection .
:a11 a schema:Answer ;
    schema:text "Virtuoso's 'loosely coupled architecture' — described by Daniel Heward-Mills — means SQL, SPARQL, openCypher, GQL, and GraphQL each address the same underlying data independently. The data model is not bound to any single query language. HTTP-based IRIs provide universal entity identity resolvable from any query language or client, enabling semantic interoperability across the entire query-language ecosystem."@en .

:q12 a schema:Question ;
    schema:name "What are the strategic implications of Virtuoso's 20-year temporal advantage in virtual graph technology?"@en ;
    schema:acceptedAnswer :a12 ;
    schema:isPartOf :faqSection .
:a12 a schema:Answer ;
    schema:text "Virtuoso's two decades of production virtual KG experience yield: battle-tested federated SPARQL at global scale (DBpedia, Wikidata), full W3C standards compliance (RDF, SPARQL 1.1, R2RML, Linked Data, OWL), multi-model simultaneity (SQL+SPARQL+GQL+Cypher+GraphQL), and ISO GQL support delivered. Neo4j's Virtual Graph entry validates the virtual graph market — confirming the vision Virtuoso has executed for 20 years — but enters against a mature, standards-based, multi-model incumbent."@en .

# ══════════════════════════════════════════════════════════════════
# GLOSSARY SECTION
# ══════════════════════════════════════════════════════════════════

:glossarySection a schema:DefinedTermSet, skos:ConceptScheme ;
    schema:name "Glossary: Virtual Graph and Knowledge Graph Terms"@en ;
    schema:description "Key terms for understanding virtual graph federation, knowledge graphs, and the Neo4j vs. Virtuoso comparative analysis."@en ;
    schema:hasDefinedTerm :termVirtualGraph, :termRdfViews, :termSparqlFed, :termR2RML, :termLinkedData, :termGql, :termOpenCypher, :termZeroCopy, :termMultiModel, :termKnowledgeGraph ;
    schema:isPartOf :analysis ;
    schema:hasPart :termVirtualGraph, :termRdfViews, :termSparqlFed, :termR2RML, :termLinkedData, :termGql, :termOpenCypher, :termZeroCopy, :termMultiModel, :termKnowledgeGraph .

:termVirtualGraph a schema:DefinedTerm, skos:Concept ;
    schema:name "Virtual Graph"@en ;
    schema:description "A graph view over external data sources constructed without physically copying or moving data. Queries execute against the source system in real time; graph semantics are applied at query time. Both Neo4j Virtual Graph (2026) and Virtuoso RDF Views (2007) implement this pattern."@en ;
    skos:inScheme :glossarySection ;
    owl:sameAs <http://dbpedia.org/resource/Graph_database> .

:termRdfViews a schema:DefinedTerm, skos:Concept ;
    schema:name "RDF Views (Virtual RDF Graphs)"@en ;
    schema:description "Virtuoso's mechanism for mapping relational SQL tables to RDF triples without data movement. SPARQL queries over virtual RDF views execute as optimized SQL against the source data, returning RDF results. Introduced circa 2007."@en ;
    skos:inScheme :glossarySection ;
    schema:isPartOf :glossarySection .

:termSparqlFed a schema:DefinedTerm, skos:Concept ;
    schema:name "SPARQL Federation"@en ;
    schema:description "W3C SPARQL 1.1 feature enabling a single query to span multiple remote SPARQL endpoints via the SERVICE clause. Used by Virtuoso to query Wikidata, DBpedia, and other public endpoints in unified federated queries."@en ;
    skos:inScheme :glossarySection ;
    owl:sameAs <http://dbpedia.org/resource/SPARQL> .

:termR2RML a schema:DefinedTerm, skos:Concept ;
    schema:name "R2RML (RDB to RDF Mapping Language)"@en ;
    schema:description "W3C Recommendation (2012) defining a standard language for mapping relational databases to RDF. Enables declarative, interoperable zero-copy virtual knowledge graph construction from SQL data. Implemented by Virtuoso's Linked Data Views."@en ;
    skos:inScheme :glossarySection ;
    owl:sameAs <http://dbpedia.org/resource/R2RML> .

:termLinkedData a schema:DefinedTerm, skos:Concept ;
    schema:name "Linked Data"@en ;
    schema:description "W3C principles using HTTP IRIs as global entity identifiers, content negotiation for multi-format responses, and cross-system entity resolution. Virtuoso implements Linked Data natively; Neo4j's property graph model does not include HTTP-based entity identity."@en ;
    skos:inScheme :glossarySection ;
    owl:sameAs <http://dbpedia.org/resource/Linked_data> .

:termGql a schema:DefinedTerm, skos:Concept ;
    schema:name "GQL (Graph Query Language)"@en ;
    schema:description "ISO/IEC 39075 — the international standard for graph query languages, published 2024. Virtuoso has demonstrated native GQL support; Neo4j has GQL on its roadmap. GQL will serve as the shared standard foundation for both property graph and RDF graph querying."@en ;
    skos:inScheme :glossarySection ;
    schema:isPartOf :glossarySection .

:termOpenCypher a schema:DefinedTerm, skos:Concept ;
    schema:name "openCypher"@en ;
    schema:description "Open specification for the Cypher property graph query language, originated by Neo4j. Supported by both Neo4j Virtual Graph and Virtuoso, enabling cross-platform graph queries with a common syntax."@en ;
    skos:inScheme :glossarySection ;
    schema:isPartOf :glossarySection .

:termZeroCopy a schema:DefinedTerm, skos:Concept ;
    schema:name "Zero-Copy Architecture"@en ;
    schema:description "A data access pattern where queries execute against source systems without materializing data into the query engine's storage. Reduces ETL complexity, preserves single source of truth, and respects data governance boundaries. Both platforms implement zero-copy federation."@en ;
    skos:inScheme :glossarySection ;
    schema:isPartOf :glossarySection .

:termMultiModel a schema:DefinedTerm, skos:Concept ;
    schema:name "Multi-Model Database"@en ;
    schema:description "A database platform supporting multiple data models (relational, graph, RDF, document) and query languages (SQL, SPARQL, Cypher, GQL, GraphQL) simultaneously on the same underlying data store. Virtuoso is a leading multi-model platform; Neo4j is graph-native with SQL/SPARQL bridges on roadmap."@en ;
    skos:inScheme :glossarySection ;
    owl:sameAs <http://dbpedia.org/resource/Multi-model_database> .

:termKnowledgeGraph a schema:DefinedTerm, skos:Concept ;
    schema:name "Knowledge Graph"@en ;
    schema:description "A structured representation of real-world entities and their relationships using a graph data model — typically RDF with OWL for semantic interoperability. Enables machine reasoning, entity resolution across data sources, and grounding for AI agents and LLMs."@en ;
    skos:inScheme :glossarySection ;
    owl:sameAs <http://dbpedia.org/resource/Knowledge_graph> .

# ══════════════════════════════════════════════════════════════════
# HOWTO SECTION
# ══════════════════════════════════════════════════════════════════

:howtoSection a schema:HowTo ;
    schema:name "How to Evaluate Virtual Graph Platforms: Neo4j vs. Virtuoso"@en ;
    schema:description "A step-by-step evaluation guide for architects and engineers choosing a virtual graph federation platform for enterprise knowledge graph deployments."@en ;
    schema:step :step1, :step2, :step3, :step4, :step5, :step6, :step7 ;
    schema:isPartOf :analysis ;
    schema:hasPart :step1, :step2, :step3, :step4, :step5, :step6, :step7 .

:step1 a schema:HowToStep ;
    schema:name "Inventory Your Federation Sources"@en ;
    schema:text "Identify all data sources requiring virtual graph access: cloud warehouses (Snowflake, Databricks), relational JDBC databases, existing SPARQL endpoints (Wikidata, DBpedia), or web content. This inventory determines which platform's federation scope matches your requirements without roadmap dependency."@en ;
    schema:position 1 ;
    schema:isPartOf :howtoSection .

:step2 a schema:HowToStep ;
    schema:name "Define Latency and Query Language Requirements"@en ;
    schema:text "Determine acceptable query latency (seconds vs. milliseconds) and required query languages (Cypher-only, or SQL+SPARQL+GQL). Millisecond requirements favor native graph storage; seconds-to-minutes tolerate virtual graph approaches. Multi-language requirements favor Virtuoso's multi-model architecture over Neo4j's Cypher-centric approach."@en ;
    schema:position 2 ;
    schema:isPartOf :howtoSection .

:step3 a schema:HowToStep ;
    schema:name "Assess Open Standards Requirements"@en ;
    schema:text "Determine whether W3C standards (RDF, SPARQL, R2RML, Linked Data, OWL) are required for semantic web interoperability, AI-agent entity grounding, or regulatory compliance. Standards-first requirements favor Virtuoso; warehouse-centric deployments with a Cypher query team favor Neo4j Virtual Graph."@en ;
    schema:position 3 ;
    schema:isPartOf :howtoSection .

:step4 a schema:HowToStep ;
    schema:name "Evaluate Schema Mapping Governance"@en ;
    schema:text "Choose between AI-generated schema inference (Neo4j Virtual Graph: fast bootstrap, editable) and declarative W3C R2RML mappings (Virtuoso: formally interoperable, auditable). For regulated environments or ontology-driven knowledge graphs where mapping auditability matters, R2RML provides stronger governance guarantees."@en ;
    schema:position 4 ;
    schema:isPartOf :howtoSection .

:step5 a schema:HowToStep ;
    schema:name "Run Live Federated Query Proof-of-Concept"@en ;
    schema:text "Execute proof-of-concept federated queries on each platform. For Virtuoso: test the six demo patterns from Daniel Heward-Mills (Northwind SQL via RDF virtualization, federated Wikidata SPARQL, DBpedia SPARQL, weighted degree centrality, graph viz via SPARQLWorks). For Neo4j Virtual Graph: test Cypher over a Snowflake or Databricks dataset. Compare query expressiveness, latency, and schema flexibility."@en ;
    schema:position 5 ;
    schema:isPartOf :howtoSection .

:step6 a schema:HowToStep ;
    schema:name "Assess Production Maturity and Track Record"@en ;
    schema:text "Evaluate production readiness honestly: Virtuoso's RDF Views and federated SPARQL have been in production for 15-20 years at global scale (DBpedia, Wikidata). Neo4j Virtual Graph entered private preview in May 2026. Match enterprise risk tolerance and deployment timeline to actual — not roadmap — capabilities."@en ;
    schema:position 6 ;
    schema:isPartOf :howtoSection .

:step7 a schema:HowToStep ;
    schema:name "Plan AI and Agent Integration Strategy"@en ;
    schema:text "Evaluate each platform's current (not roadmap) AI and agent integration: Neo4j Virtual Graph enables GraphRAG prototyping on warehouse data without ETL. Virtuoso supports SPARQL-based knowledge graph grounding with Linked Data entity resolution, multi-model agent queries, and ISO GQL. Consider whether your agent architecture requires W3C RDF entity identity for cross-system reasoning or Cypher-native graph traversal."@en ;
    schema:position 7 ;
    schema:isPartOf :howtoSection .

# ══════════════════════════════════════════════════════════════════
# SKILL PROVENANCE
# ══════════════════════════════════════════════════════════════════

<https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator#this> a schema:SoftwareApplication ;
    schema:name "kg-generator skill"@en ;
    schema:description "Knowledge Graph generator skill for Claude Code — generates comprehensive RDF-Turtle and JSON-LD knowledge graphs from web content and multi-source analyses using the Business & Market Analysis template."@en ;
    schema:url <https://github.com/OpenLinkSoftware/ai-agent-skills/tree/main/kg-generator> .
