Hi Hugh,

Thanks for getting back to me.  I'm testing the most recent release version
of the open source edition on the website (Version 6.1.6.3127).

I looked at the examples on that page.  Similar to my examples in the
previous email, both of the owl:inverseOf reasoning examples on the page
explicitly state the predicate that is being inferred in the SPARQL query.
 In my case I would like to have the relationship that is inferred to be
returned by a query.

Keeping with the father/son example if I've added the triple:
<http://father> :hasSon <http://son>

I've also defined :hasSon is an inverse of :hasFather.  Querying "<
http://son> :hasFather" ?f works as expected (returns ?f = <http://father>).
 But querying "<http://son> ?p <http://father>" returns nothing (where I
would expect ?p = :hasFather).

Thanks again,

Tom


On Fri, Jun 14, 2013 at 8:49 PM, Hugh Williams <[email protected]>wrote:

> Hi Tom,
>
> What Virtuoso releases are you using, run  "virtuoso-t -?" to obtain the
> exact version ?
>
> Have you looked ar the relationship ontology examples we have, which
> include examples using owl:inverseOf, at:
>
>
> http://docs.openlinksw.com/virtuoso/rdfsparqlrule.html#rdfsparqlruleowlrelation
>
>   Best Regards
> Hugh Williams
> Professional Services
> OpenLink Software, Inc.      //              http://www.openlinksw.com/
> Weblog   -- http://www.openlinksw.com/blogs/
> 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 14 Jun 2013, at 21:38, Tom Matthews <[email protected]> wrote:
>
> 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
>
>
>
------------------------------------------------------------------------------
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