Hi Tom, The Virtuoso built-in inferencing available in the open source product does not support owl:unionOf, and owl:intersectionOf.
In the Virtuoso 8+ commercial edition support for the creation of custom inference rules of any type is support new custom inferencing engine available in this release as detailed at: https://medium.com/virtuoso-blog/magic-sets-and-custom-inference-rules-in-virtuoso-8-x-db783f8d98d2 https://medium.com/virtuoso-blog/virtuoso-8-0-creating-a-custom-inference-rules-using-spin-vocabulary-d7a060f859ef Best Regards Hugh Williams Professional Services OpenLink Software Home Page: http://www.openlinksw.com <http://www.openlinksw.com/> Community Support: https://community.openlinksw.com <https://community.openlinksw.com/> Company Blog: https://medium.com/openlink-software-blog <https://medium.com/openlink-software-blog> Virtuoso Blog: https://medium.com/virtuoso-blog <https://medium.com/virtuoso-blog> Data Access Drivers Blog: https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers <https://medium.com/openlink-odbc-jdbc-ado-net-data-access-drivers> LinkedIn -- http://www.linkedin.com/company/openlink-software/ Twitter -- http://twitter.com/OpenLink Google+ -- http://plus.google.com/100570109519069333827/ Facebook -- http://www.facebook.com/OpenLinkSoftware Universal Data Access, Integration, and Management Technology Providers > On 18 Jul 2021, at 22:35, tom huyghe <tomhuygh...@gmail.com> wrote: > > Hi everyone, > > I'm using Virtuoso open-source v7.2.6.1 on a Linux fedora34 system and I want > to know if it's possible to create inference rules with owl:unionOf, > owl:intersectionOf. Or even use an external reasoner with Virtuoso > open-source (like Fact++) that supports OWL DL reasoning. > > I saw on the documentation that it was possible to create custom inference > rules (http://docs.openlinksw.com/virtuoso/rdfsparqlruleintro/ > <http://docs.openlinksw.com/virtuoso/rdfsparqlruleintro/>) but if I'm not > mistaken those are limited to " rdfs:subClassOf, rdfs:subPropertyOf, > owl:sameAs, owl:equivalentClass and owl:equivalentProperty " . I tried to use > rdfs_rule_set() to create inference rules for owl:unionOf, and then use it in > a sparql request (for instance) : > > > define input:inference "myRuleSet" > > prefix : <https://stackoverflow.com/q/21092246/1281433/data.owl# > <https://stackoverflow.com/q/21092246/1281433/data.owl#>> > prefix rdfs: <http://www.w3.org/2000/01/rdf-schema# > <http://www.w3.org/2000/01/rdf-schema#>> > prefix owl: <http://www.w3.org/2002/07/owl# > <http://www.w3.org/2002/07/owl#>> > prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns# > <http://www.w3.org/1999/02/22-rdf-syntax-ns#>> > > SELECT ?x > WHERE { > ?x rdf:type <http://www.co-ode.org/ontologies/ont.owl#Demand_poi > <http://www.co-ode.org/ontologies/ont.owl#DP_315000448311>nt> > } > > > But it's not working, it didn't found any triple. I didn't find any tutorial > or documentation that explain how to do it, so i guess it's not possible. And > i don't know if it's possible to use an external reasoner with Virtuoso > Open-source. > > here is an example of a class that I'm using ( There are more complex class > in my Ontologie using owl:intersectionOf and even owl:someValuesFrom) > > Class rdf:about="http://www.co-ode.org/ontologies/ont.owl#Demand_point > <http://www.co-ode.org/ontologies/ont.owl#Demand_point>"> > <equivalentClass> > <Class> > <unionOf rdf:parseType="Collection"> > <rdf:Description > rdf:about="http://www.co-ode.org/ontologies/ont.owl#Infrastructure_aggregation > <http://www.co-ode.org/ontologies/ont.owl#Infrastructure_aggregation>"/> > <rdf:Description > rdf:about="http://www.semanticweb.org/tomhu/ontologies/2021/1/untitled-ontology-7#Infrastructure > > <http://www.semanticweb.org/tomhu/ontologies/2021/1/untitled-ontology-7#Infrastructure>"/> > </unionOf> > </Class> > </equivalentClass> > <rdfs:comment xml:lang="en">A demand point is an infrastructure that > must be evacuated.</rdfs:comment> > <rdfs:comment xml:lang="fr">Un point de demande est une > infrastructure qu'il faut évacuer.</rdfs:comment> > <rdfs:label xml:lang="en">Demand point</rdfs:label> > <rdfs:label xml:lang="fr">Point de demande</rdfs:label> > </Class> > _______________________________________________ > Virtuoso-users mailing list > Virtuoso-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/virtuoso-users
_______________________________________________ Virtuoso-users mailing list Virtuoso-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtuoso-users