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&apos;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

Reply via email to