Hi Ivan, Just to make sure that I understood you correctly, currently in Virtuoso there is no way to define an inference rule that can be used for doing say transitive closure.
Also what does Virtuoso do with the OWL/RDFS constructs that it doesn't support. For e.g. if I load an OWL file containing a property P that is transitive, will Virtuoso simply ignore that fact when it computes the query results on property P. Thanks, Kunal Ivan Mikhailov <imikhai...@openlinksw.com> wrote: Kunal, We do not have "universal" inference rules, we have only partial support for same-as and sub-properties. We're focusing on scalability and using relational data with all native indexes; this implies that inference is possible only in DATALOG style. Obviously, optimizing DATALOG compiler is a big thing that should be made after everything else. So we will complete SPARQL BI extensions first, updateable RDF Views after that; only after these major extensions we may think about future DATALOG implementation. I'd say that the main purpose of the seealso and subtype inference for us was to pass LUBM benchmark. Seriously speaking, this is the biggest subset of real inference functionality that is cheap to implement, and even very weak subset is better than nothing. When we decided what to implement we had no idea of what's commonly used and what's not, but we looked at the LUBM and assumed that if a feature is placed in benchmark by more experienced users then it worth enough. In common case, custom inference rules are to materialized RDF views as SQL procedure views are to auxiliary tables filled in by triggers. We do not have SPARQL procedure views (no SPARQL views at all) so the only thing we can suggest if our inference is not sufficient is to write application logic to fill in auxiliary graphs. Best Regards, Ivan Mikhailov, OpenLink Software P.S. Sorry for late reply, initially this was sent to a wrong list of recipients. --------------------------------- Never miss a thing. Make Yahoo your homepage.