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