#75 Bug with rdfs_rule_set and isIRI/isBlank

Ken Wenzel

The functions isIRI/isBLANK always return true/false for inferred
bindings whether the bound value is a BNode or not.

This behaviour was observed with the Windows (Windows XP) and
the Linux version (Ubuntu 10.04) of Virtuoso 6.1.4.

Steps to reproduce the problem:

1. Insert some test data:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX test: <http://example/inferencetest#>

insert into <http://example/inferencetest#> {
test:Tree a owl:Class ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty test:hasChildren ;
owl:allValuesFrom test:Node
] .
test:Node a owl:Class .
test:TheTree a test:Tree

2. Create rule set:

rdfs_rule_set('http://example/inferencetest#', 'http://example/inferencetest#')

3. Execute SPARQL query with inference rules:

define input:inference 'http://example/inferencetest#'

select *
from <http://example/inferencetest#>
where {
?s a ?o filter (isIRI(?s) && isIRI(?o))

4. Observations:

The restriction BNode is filtered in the case when it occurs
as asserted ?s but not in the case when it is an inferred ?o.


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks