I am evaluating Virtuoso as part of data fabric project in my organization. I found out in the documentation 16.14.1. Introduction (openlinksw.com) that reasoning will work only for materialized graphs. But reading thought an article Harmonizing Disparate RDBMS Data using Virtuoso’s built-in Reasoning and Inference functionality - Virtuoso Universal Server / Tips, Tricks, and HowTos - OpenLink Software Community (openlinksw.com) it seems that reasoning can be done for VDB as well. I tried a reasoning over VDB as per the documentation, but with no luck. Can you please provide some details about how reasoning can be done for VDB if possible.
Please find the snippets of my test.
Created virtual graph using Virtuoso.
Basic SPARQL query to retrieve movies works.
SELECT * FROM http://localhost:8890/movies_mysql#
?s a :movies;
:title ?title .
What I wanted to test is create an RDFS class called “Films” which is equivalent as :movies using owl:equivalentClass.
For that I tried to add “Films” class in to the graph and used owl:equivalentClass
http://localhost:8890/schemas/movies_mysql/Films a rdfs:Class .
http://localhost:8890/schemas/movies_mysql/Films owl:equivalentClass http://localhost:8890/schemas/movies_mysql/movies .
Then created RDFS rule
I was expecting below query would return all “movies”
DEFINE input:inference ‘mysql-vdb-test’
?s a :Films;
But I get empty result.