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 <[email protected]> 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users
_______________________________________________
Virtuoso-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtuoso-users