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?
optional, but my preferred style since ABox will grow much faster than the TBox.
your efforts really appreciated

wkr turnguard

Why don't we load the data into one of our systems, then at least we have a common test bed.

Just confirm the TBox and ABox data with URLs if I need to download anything.

Kingsley



----- 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/Identi.ca: kidehen





Reply via email to