Hi,

So, I am using TBC Free to play around with implementing additional DL 
rules on top of the provided OWL RL implementation.  I've had a lot of 
success, but in many cases the performance is slow (I know this is a major 
reason for the RL restrictions to begin with).

Specifically much of the performance hit seems to come from calls to the 
ARQ "magic" property list:member.

I tried to alleviate this by replacing those calls with the property path 
expression (rdf:rest)*/rdf:first -- this speeds things up significantly, 
but I get very different (incorrect) inferencing results.  What's 
interesting is that if I run the query in SPARQL view with either 
list:member or (rdf:rest)*/rdf:first *before any inferencing is done*, the 
results are correct.  There are many examples, but here is one of the 
simpler ones:

CONSTRUCT {
    ?y1 owl:differentFrom ?y2 .
}
WHERE {
    ?x a owl:AllDifferent .
    ?x owl:distinctMembers ?list .
    ?list (rdf:rest)*/rdf:first ?y1 .
    ?list (rdf:rest)*/rdf:first ?y2 .
    FILTER (?y1 != ?y2) .
}

Again, this works "as is" or with list:member during the first iteration of 
rules.  Later iterations begin to produce unexpected (by me) results.  What 
seems to be happening is that the engine is reading many of my constructed 
?x owl:differentFrom ?y statements (elsewhere) and somehow adding them to 
the ?x a owl:AllDifferent patterns in memory.  I do not have any rules that 
create or alter any AllDifferent constructs, but later queries using the 
property path clearly contain members of AllDifferent that are not 
explicitly defined, while list:member continues to return the original 
(expected) bindings for that set.

Any thoughts on why the 2 scenarios are behaving differently?


Thanks!

Aaron

-- 
-- You received this message because you are subscribed to the Google
Group "TopBraid Suite Users", the topics of which include Enterprise Vocabulary 
Network (EVN), TopBraid Composer, TopBraid Live, TopBraid Insight, 
SPARQLMotion, SPARQL Web Pages and SPIN.
To post to this group, send email to
[email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/topbraid-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"TopBraid Suite Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to