thanks, ivan,

i realized that well, thats why i tried
<http://www.turnguard.com/ElectroPop> skos:related ?o OPTION (T_DISTINCT).
in my second test, but that leads to 
37000 Error SP031 ...

which is analog to kingsley's query to my point of view,
but there's something i'm missing.

@kingsley :

- my test instances are @ http://turnguard.com/virtuoso/test10.rdf
- i'm loading data like this :

DB.DBA.RDF_LOAD_RDFXML (http_get 
('http://www.w3.org/2009/08/skos-reference/skos-owl1-dl.rdf'), 'no', 
'urn:reasonertest');
DB.DBA.RDF_LOAD_RDFXML (http_get ('http://www.w3.org/2002/07/owl.rdf'), 'no', 
'urn:reasonertest');
DB.DBA.RDF_LOAD_RDFXML (http_get ('http://turnguard.com/virtuoso/test10.rdf'), 
'no', 'urn:reasonertest');
rdfs_rule_set ('reasoner', 'urn:reasonertest');


i'll have a test with the relationship data on my server and report back this 
evening.

thank you very much for your help!

wkr turnguard

----- Original Message -----
From: "Ivan Mikhailov" <imikhai...@openlinksw.com>
To: "Jürgen Jakobitsch" <jakobits...@punkt.at>
Cc: "Kingsley Idehen" <kide...@openlinksw.com>, 
virtuoso-users@lists.sourceforge.net
Sent: Saturday, February 6, 2010 3:32:14 AM
Subject: Re: [Virtuoso-users] CORRECTION  6.1 owl support

Hello Jürgen,

owl:TransitiveProperty inference is enabled only if triple pattern
contains fixed transitive P. It does not work With variable ?p so the
option T_DISTINCT becomes misleading.

Best Regards,

Ivan Mikhailov
OpenLink Software
http://virtuoso.openlinksw.com

On Fri, 2010-02-05 at 23:42 +0100, Jürgen Jakobitsch wrote:
> hi kingsley, arigato gozaimasu, so far,
> 
> now these queries look really promising on http://lod.openlinksw.com/sparql.
> 
> but with 
> 
> ./virtuoso-t -?
> Virtuoso Open Source Edition (multi threaded)
> Version 6.1.0.3126-pthreads as of Feb  4 2010
> Compiled for Linux (i686-pc-linux-gnu)
> Copyright (C) 1998-2010 OpenLink Software
> 
> 
> and the following query (analog to your sample)
> 
>     define input:inference "reasoner"
>     SELECT *
>     FROM <urn:reasonertest>
>     WHERE
>     {
>      <http://www.turnguard.com/ElectroPop> ?p ?o OPTION (T_DISTINCT).
>     }
> 
> 
> i get 
> 
>     37000 Error SP031: SPARQL compiler: Transitive-specific options can be 
> specified only for group patterns, not for triple patterns
> 
> 
> 
> and with
> 
>     define input:inference "reasoner"
>     PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
>     SELECT *
>     FROM <urn:reasonertest>
>     WHERE
>     {
>      <http://www.turnguard.com/ElectroPop> skos:related ?o OPTION 
> (T_DISTINCT).
>     }
> 
> i get
> 
>     37000 Error SP031: SPARQL compiler: Options are not supported for a 
> triple pattern with property name 
> "http://www.w3.org/2004/02/skos/core#related"; that is   
>     declared in inference rules "reasoner" as a property with inverse
> 
> 
> so i can't test with own data.
> 
> 
> do i have the latest changes with a sourceforge download and install from the 
> 4th of feb?
> i might have taken a bad built or some, i also noted that in 
> conductor->rdf->graphs i only have
> one : http://www.openlinksw.com/schemas/virtrdf#
> 
> i also realized that you put A- and T-box in one graph - is this optional or 
> a must?
> 
> your efforts really appreciated
> 
> wkr turnguard
> 
> 
> ----- Original Message -----
> From: "Kingsley Idehen" <kide...@openlinksw.com>
> To: "Kingsley Idehen" <kide...@openlinksw.com>
> Cc: "Jürgen Jakobitsch" <jakobits...@punkt.at>, 
> virtuoso-users@lists.sourceforge.net
> Sent: Friday, February 5, 2010 8:46:48 PM
> Subject: CORRECTION [Virtuoso-users] 6.1 owl support
> 
> Kingsley Idehen wrote:
> > Jürgen Jakobitsch wrote:
> >   
> 
> Just realized the last owl:inverseOf query is incorrect. It should be:
> 
> ## Test owl:inverseOf Reasoning
> ## Should show triples exposing the inverseOf relation.
> ## In this case rel:employedBy instance data triples exist, the system 
> must infer rel:employerOf triples
> 
> DEFINE input:inference 'urn:owl.tests'
> PREFIX rel: <http://purl.org/vocab/relationship/>
> 
> SELECT *
> FROM <urn:owl.tests>
> WHERE {?s rel:employerOf ?o}
> 
> Kingsley
> >> hi, again.
> >>
> >> there might be a fundamental difference about the view
> >> what inference is or i'm fundamentaly misusing virtuoso
> >> - i have to confess that i'm spoiled by owlim.
> >>
> >> here's exactly what i do :
> >>
> >> 1. DB.DBA.RDF_LOAD_RDFXML (http_get 
> >> ('http://www.w3.org/2009/08/skos-reference/skos-owl1-dl.rdf'), 'no', 
> >> 'urn:rules.skos');
> >> 2. DB.DBA.RDF_LOAD_RDFXML (http_get ('http://www.w3.org/2002/07/owl.rdf'), 
> >> 'no', 'urn:rules.skos');
> >> 3. DB.DBA.RDF_LOAD_RDFXML (http_get 
> >> ('http://turnguard.com/virtuoso/test10.rdf'), 'no', 
> >> 'http://www.turnguard.com/virtuoso');
> >> 4. rdfs_rule_set ('skos-inference', 'urn:rules.skos');
> >>
> >> (note: test10.rdf is more or less the same data i sent two mails ago, i 
> >> added one concept with a skos:related property,
> >> please open in a browser and take a look, the following queries are about 
> >> these five concepts)
> >>
> >> now if i do :
> >>
> >>
> >>
> >> Query :
> >>
> >> define input:inference "skos-inference"
> >> SELECT * 
> >> FROM <http://www.turnguard.com/virtuoso>
> >> WHERE 
> >> {
> >>  <http://www.turnguard.com/ElectroPop> ?p ?o
> >> }
> >>
> >> Expected : 
> >>
> >> Expected result with support for symmetricProperty would include 
> >> http://www.turnguard.com/KrautRock 
> >>          (Solution : <http://www.turnguard.com/ElectroPop> skos:related 
> >> <http://www.turnguard.com/KrautRock>)
> >> Expected result with support for inverseOf would include 
> >>          (Solution : <http://www.turnguard.com/ElectroPop> skos:broader 
> >> <http://www.turnguard.com/TechnoPop>)
> >>
> >> at least these two solutions are missing.
> >>
> >> essentially i get the exact same results as with the previous release 
> >> (6.0.) the only thing that
> >> for sure works as expected is rdfs:subPropertyOF 
> >>
> >> all these tests were made on 
> >>
> >> ./virtuoso-t -?
> >>
> >> Virtuoso Open Source Edition (multi threaded)
> >> Version 6.1.0.3126-pthreads as of Feb  4 2010
> >> Compiled for Linux (i686-pc-linux-gnu)
> >> Copyright (C) 1998-2010 OpenLink Software
> >>
> >> with a complete fresh installation and newly imported data.
> >>
> >> any idea really appreciated
> >>
> >> wkr turnguard
> >>   
> >>     
> >
> > Okay, think we found out what amiss here, basically missing docs re. the 
> > use of the Transitive Option when using this inference feature.
> >
> > You can test the no SPARUL and Rule Creation bits via the following 
> > endpoints:
> >
> > 1. http://lod.openlinksw.com/sparql
> > 2. http://uriburner.com/sparql
> >
> >
> > Example based on Relationship Vocab:
> > ## Verify Ontology Data is in Quad Store by using Sponger pragmas to 
> > re-load cache if missing
> > ## Ontology: <http://vocab.org/relationship/> (Relationship Ontology)
> >
> > DEFINE get:soft "replace"
> > SELECT *
> > FROM <http://vocab.org/relationship/>
> > WHERE {?s ?p ?o}
> >
> >
> > ## Clean up instance data graph
> >
> > CLEAR GRAPH <urn:owl.tests.data>
> >
> > ## Create Instance Data for Relationship Ontology
> >
> > PREFIX rel: <http://purl.org/vocab/relationship/>
> >
> > INSERT into GRAPH <urn:owl.tests>
> > {<http://kingsley.idehen.name/dataspace/person/kidehen#this> 
> > rel:employedBy <http://www.openlinksw.com/dataspace/organization#this>.
> > <http://myopenlink.net/dataspace/person/tthibodeau#this> rel:worksWith 
> > <http://kingsley.idehen.name/dataspace/person/kidehen#this>.
> > <http://kingsley.idehen.name/dataspace/person/kidehen#this> 
> > rel:worksWith <http://demo.openlinksw.com/dataspace/person/demo#this>.}
> >
> > ## Verify instance data graph has expected data
> >
> > SELECT *
> > FROM  <urn:owl.tests> where {?s ?p ?o}
> >
> > -- SQL mode
> > -- Create Inference Rule that references the Relationship Ontology Named 
> > Graph
> >
> > rdfs_rule_set ('urn:owl.tests', 'http://vocab.org/relationship') ;
> >
> > -- Verify rule creation (just a double check)
> >
> > SELECT * FROM sys_rdf_schema ;
> >
> > ## Back to RDF realm
> >
> > ## Test owl:TransitiveProperty Reasoning
> > ## Start with a specific URI
> > ## Goal: See inferred Triples
> > ## In this case, relationship between: 
> > <http://myopenlink.net/dataspace/person/tthibodeau#this>
> > ## and <http://demo.openlinksw.com/dataspace/person/demo#this>)
> > ## NOTE: use of the Transitivity Option re. (T_DISTINCT)
> >
> > DEFINE input:inference 'urn:owl.tests'
> > PREFIX rel: <http://purl.org/vocab/relationship/>
> > SELECT *
> > FROM <urn:owl.tests>
> > WHERE {   
> >         <http://myopenlink.net/dataspace/person/tthibodeau#this> 
> > rel:worksWith ?o OPTION (T_DISTINCT)
> >       }
> >    
> > ## OR
> > ## Should get all combinations of workWith relationships in solution
> > ## Including the inferred triple
> >
> > DEFINE input:inference 'urn:owl.tests'
> > PREFIX rel: <http://purl.org/vocab/relationship/>
> > SELECT ?o ?o2
> > FROM <urn:owl.tests>
> > WHERE {   
> >         <http://myopenlink.net/dataspace/person/tthibodeau#this> 
> > rel:worksWith ?o OPTION (T_DISTINCT).
> >                ?o rel:worksWith ?o2 OPTION (T_DISTINCT).
> >       }
> >
> > ## Test owl:SymmetricalProperty Reasoning
> > ## Should show same data irrespective of worksWith data in Subject or 
> > Object slots of Triple
> >
> > DEFINE input:inference 'urn:owl.tests'
> > PREFIX rel: <http://purl.org/vocab/relationship/>
> > PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> > SELECT *
> > FROM <urn:owl.tests>
> > WHERE {<http://kingsley.idehen.name/dataspace/person/kidehen#this> 
> > rel:worksWith ?o OPTION (T_DISTINCT)}
> >
> > ## OR
> >
> > DEFINE input:inference 'urn:owl.tests'
> > PREFIX rel: <http://purl.org/vocab/relationship/>
> > PREFIX foaf: <http://xmlns.com/foaf/0.1/>
> >
> > SELECT *
> > FROM <urn:owl.tests>
> > WHERE {?s rel:worksWith 
> > <http://kingsley.idehen.name/dataspace/person/kidehen#this> OPTION 
> > (T_DISTINCT)}
> >
> >
> > ## Test owl:inverseOf Reasoning
> > ## Should show triples exposing the inverseOf relation.
> > ## In this case rel:employerOf instance data triple exist, so the system 
> > should add the inverse triples for rel:employedBy
> >
> > DEFINE input:inference 'urn:owl.tests'
> > PREFIX rel: <http://purl.org/vocab/relationship/>
> > SELECT *
> > FROM <urn:owl.tests>
> > WHERE {?s rel:employedBy ?o}
> >
> >
> > Conclusion:
> >
> > Due to docs trailing the release the need for Transitivity option wasn't 
> > clear :-)
> >
> >
> >
> > Kingsley
> >
> >   
> >> ----- Original Message -----
> >> From: "Kingsley Idehen" <kide...@openlinksw.com>
> >> To: "Jürgen Jakobitsch" <jakobits...@punkt.at>
> >> Cc: virtuoso-users@lists.sourceforge.net
> >> Sent: Thursday, February 4, 2010 3:34:03 PM
> >> Subject: Re: [Virtuoso-users] 6.1 owl support
> >>
> >> Jürgen Jakobitsch wrote:
> >>   
> >>     
> >>> hi,
> >>>
> >>> first, congrats to the new release and the many improvements.
> >>>
> >>>
> >>> is there a doc or could you shed some light on how i would 
> >>> have to understand support for owl:SymmetricProperty, owl:inverseOf 
> >>> and owl:TransitiveProperty?
> >>>
> >>>
> >>> any pointer really appreciated
> >>>
> >>> wkr turnguard
> >>>
> >>>   
> >>>     
> >>>       
> >> Sure, we're still rolling things out, but stay tuned for examples.
> >>
> >> BTW - this simply means that you can have the assertions in an OWL graph 
> >> that is used for an Inference Rules context (as per usual), then when 
> >> you SPARQL (with inference rules pragma) see the effects on the solution 
> >> based on the inference context.
> >>
> >>
> >>   
> >>     
> >
> >
> >   
> 
> 
> -- 
> 
> Regards,
> 
> Kingsley Idehen             
> President & CEO 
> OpenLink Software     
> Web: http://www.openlinksw.com
> Weblog: http://www.openlinksw.com/blog/~kidehen
> Twitter: kidehen 
> 
> 
> 
> 
> 
> 


-- 
punkt. netServices
______________________________
Jürgen Jakobitsch
Codeography

Lerchenfelder Gürtel 43 Top 5/2
A - 1160 Wien
Tel.: 01 / 897 41 22 - 29
Fax: 01 / 897 41 22 - 22

netServices http://www.punkt.at


Reply via email to