2

What kind of OWL profiles are supported in VOS DL, EL, QL ,RL? Is is possible to use or integrate standard reasoners? (Hermit, Pellets, etc.)

David Buck
  • 3,752
  • 35
  • 31
  • 35
Ric
  • 65
  • 9
  • Virtuoso does have it's own rule engine. Neither Pellet nor HermiT can be used. Rule engine means you most likely can use OWL RL and to some extent OWL EL with providing the corresponding rules. OWL QL would need query rewriting and OWL DL a proper OWL DL reasoner. Note, this basically holds for Virtuoso 8.x - the open source version is still 7.x and this one has a very limited rule support afaik. The only other thing you could do is to compute the inferred schema in advance via Pellet and OWL API, then load the inferred schema and use any rule profile like RDF, OWL RL, etc. – UninformedUser May 01 '21 at 06:46
  • This indeed doesn't solve full OWL DL reasoning which needs a e.g. tableau based algorithm on demand. Disclaimer: I'm not a Virtuoso dev, but that's what I experienced. It's a really really fast triple store for sure. – UninformedUser May 01 '21 at 06:49
  • Thank you very much for your comment !! As always really complete and useful. I'm striving to learn Virtuoso, for in theory it looks like a terrific platform. But, as an observation, not a criticism, I've found a quite closed community ... no courses for newbies to easy the learning curve, and their own forums are quite inactive. – Ric May 02 '21 at 16:07
  • All the learning tools seem to be constrained to the official documentation, which is abundant, but not friendly for beginners, a bunch of articles and tutorials, and the help of people like you that are seasoned in the subject, and willing to help others. In summary at any time the feeling is that of being putting together a puzzle. Anyway, sorry for the chit chat, thank you again ... and for now I won't give up on this :-) – Ric May 02 '21 at 16:07

2 Answers2

0

Reasoning support in Virtuoso Open Source (VOS) is detailed in the inferencing and reasoning documentation. Integration with other standard reasoners is not supported, although it probably could be implemented if there were sufficient demand for it.

Virtuoso 8+ commercial edition supports Magic Sets and Custom Inference Rules allowing custom inference rules to be created for most use case.

(Also asked and answered on the OpenLink Community Forum)

TallTed
  • 9,069
  • 2
  • 22
  • 37
  • Thank you TallTed, for your answer. For Virtuoso questions I rather prefer to post in the OL Forum, but, After 2 or 3 unanswered posts I thought no one was looking. After I posted here, answers started appearing. Please help me understand the answering criteria? How long should I wait for an answer until I move forward to somewhere else? I'm new to these forums and I'd like to understand what to expect, given that, as I said before, this seem to be the only way to get clarification for things that one does not understand or find in the the documentation. – Ric May 05 '21 at 12:33
  • And I'm not saying the information is not there, but the docs are not friendly at all, at least for a beginner like me, and it certainly makes it difficult to progress. Thank you! Kind regards. – Ric May 05 '21 at 12:34
  • We (I work for OpenLink) try to answer all questions about our products, wherever they're asked, as quickly as possible. Sometimes, that takes longer than we'd like, for a variety of reasons. If you have a urgent need for an answer, a Support Case is somewhat likely to be addressed more quickly than a post to the Forum (where you *can* post a followup, which can help speed an answer), and both are faster than posts on third-party sites — even on our own github projects and the like. We're always trying to improve the docs, and you can help at https://github.com/OpenLinkSoftware/Documentation. – TallTed May 05 '21 at 15:38
  • Thanks a lot for the clarifications. I'll take them into consideration for future interactions. – Ric May 06 '21 at 17:22
0

Virtuoso has its own built-in Inference & Reasoning capabilities. That said, if absolutely necessary, you can integrate 3rd party reasoners via a custom development efforts using the Server Extension API which allows integrated using a variety of runtime environments supported by Virtuoso (e.g., Java, Python, PHP, .NET, Ruby, Mono, etc.) or directly using 'C'.

Virtuoso Functionality

Virtuoso Open Source Edition supports built-in Reasoning and Inference. By that I mean it automatically applies said functionality for the following relationship types:

  • owl:sameAs
  • owl:equivalentProperty
  • owl:equivalentClass
  • owl:inverseOf
  • owl:InverseFunctionalProperty
  • rdfs:subPropertyOf
  • rdfs:subClassOf

All of the above are enabled via pragma and rules mapped to a named graph.

The commercial editions of Virtuoso go further by supporting Custom Inference Rules, courtesy of SPARQL as the Rules Language -- facilitated by terms from the SPIN Ontology.

You would use Custom Inference rules to implement rules based on other reasoning profiles described by terms from OWL. Basically, you are only limited by imagination since SPARQL offers functionality delivered by Rules Languages of yore, e.g., Datalog, etc.

All of this functionality is native to Virtuoso and scales massively.

Related

TallTed
  • 9,069
  • 2
  • 22
  • 37