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

Reply via email to