OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xdi] $or and $and may not be necessary


Hello Markus,

at a first glance it seems that this solution works fine, however I'm  
not sure whether this could replace $and, $or etc. in any possible use  
case (we need to elaborate some more examples).
But I agree that for now this is a good solution and we can reccomend  
to use it :-)

Giovanni

At 20.46 30/03/2008, you wrote:
Maybe $or and $and are not necessary at all, because I think that
1) There's an implicit AND relation between query statements that  
share variables.
2) There's an implicit OR relation between query statements that do  
not share variables.

For example, take this query:

=giovanni
     +friend
         $any$1
     +brother
         $any$2
$any$1+age
     $lesser
         "40"

It means give me all statements that are matched by the following:
( [=giovanni[+friend[$any$1]]] AND [$any$1+age[$lesser["40"]]] ) OR (  
[=giovanni[+brother[$any$2]]] )

In other words, you can divide the query graph into multiple disjunct  
graphs (let's call them clusters). Every variable you use appears in  
only one cluster. The query above consists of two clusters:

Cluster 1:

=giovanni
     +friend
         $any$1
$any$1+age
     $lesser
         "40"

Cluster 2:

=giovanni
     +brother
         $any$2

Now the rule is that when executing the query you select everything  
from your input graph that matches ALL statements in AT LEAST ONE of  
the clusters. This results in the implicit AND and OR relations.

I'm not 100% sure, but I think that with Giovanni's $any and $all  
words you can automatically model any query you want, without the need  
for $or and $and.

Markus

P.S. I'm sure that in graph theory there's a better word for those  
"clusters", but I don't know the correct expression in either English  
or German. The point is that variables that are not "connected" end up  
in different clusters.




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]