Hi,
I've been testing some of the OWL reasoner functionality in Virtuoso and
I've run into a problem with owl:inverseOf in SPARQL queries. It seems
that it cannot infer what the inverse triple of a relationship is unless
it's directly specified in the query. For example:
Say I've set up a basic ontology specifying:
:hasSon owl:inverseOf :hasFather
I've added this as a rule set with rdfs_rule_set(...)
I have added the triple:
<http://father> :hasSon <http://son>
If I run the query (with the appropriate DEFINE input:inference...):
SELECT ?father
WHERE
{
<http://son> :hasFather ?father
}
I see <http://father> returned, so I know the inferencing is working (to a
point).
If I query (again with the appropriate DEFINE input:inference...):
SELECT ?pred
WHERE
{
<http://son> ?pred <http://father>
}
I am returned nothing. It appears that unless the inverse predicate is
directly specified the reasoner doesn't infer the relationship. Is this an
issue with Virtuoso or am I possibly doing something wrong?
Thanks,
Tom
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Virtuoso-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtuoso-users