>OK, I think I see what you mean now.  How about this: instead of
>having a single set of QueryChildCard attributes on the moz-abdirectory://
>URL, I think the right thing to do is to define a way to represent
>each query as a URI, and then assert the QueryChildCard properties on
>the relevant URI.  This way you can have an arbitrary number of
>separate, concurrent searches under the moz-abdirectory:// namespace.
>This is exactly the way the LDAP datasource works.  You could
>probably even borrow most of your URL syntax from the syntax of LDAP
>search URLs (RFC 2255).
>
>Given that writing the code to generate and parse such URIs is
>probably a bunch of work, for the time being you could probably just
>use opaque URI handles such as:
>
>moz-abdirectory://searches/search-1
>moz-abdirectory://searches/search-2
>...
>
>Thoughts?
>


        Thanks! I see the light.
        I was stuck in some precipitous local minima
        of thought.

        Copying somthing similar to ldap filter is
        a good idea:
        
        uri             = scheme ":" path [ "?" query ]
        query           = "(" queryexpression ")"
        querycomp       = and | or | not | querycondition
        and             = "&" queryexpression
        or              = "|" queryexpression
        not             = "!" query
        queryexpression = 1*query
        querycondition  = attr "," condition "," value
        condition       = equal | notequal |
                          lessthan | greaterthan |
                          beginswith | endswith |
                          contains | doesnotcontain |
                          soundslike | regex |
        equal           = "="
        notequal        = "!="
        lessthan        = "lt"
        greaterthan     = "gt"
        beginswith      = "bw"
        endswith        = "ew"
        contains        = "c"
        doesnotcontain  = "!c"
        soundslike      = "~="
        regex           = "regex"                                         
        attr            = *(alphanum | escaped)
        value           = *(alphanum | escaped)
        escaped         = from RFC 2396
        alphanum        = from RFC 2396
        
        This conforms to RFC 2396.
        
        Should be 'reasonably' easy to parse so 
        i think i can do it fairly quickly.
                
        
>>      I also like the concept of the Aurora project.
>>      This is where generic querying/searching could be
>>      very useful. Imagine having a 'virtual folder' which
>>      is associated with a query which dynamically updates
>>      when new content maching the query is asserted.
>>      (e.g. virtual mail folders, or for news casts etc..)
>
>Agreed; this is very cool.  As far as generic use of RDF, some very
>interesting stuff to look at is the Dublin Core metadata work.
><http://dublincore.org/resources/faq/> Once upon a time, there was a
>theory that we should replace the ad-hoc NC-rdf vocabulary used by
>much of the browser with something Dublin Core-based, to allow for
>better interoperability.  Last time I looked at this, that seemed like 
>it might be not terribly practical, because to express a bunch of the
>semantics in the NC-rdf vocabulary well would require using the
>Qualified Dublin Core, and this adds a non-trivial amount of
>complexity.  
>

        Yep, this is interesting.
        I presume its because schemas start playing a
        larger role that makes things more difficult,
        rather than just using strings for many property
        values.
                
        There may be value in having a Dublin Core data
        source which could read DC meta data values from
        HTML data.

Thanks,
Paul.
        
| ? + ? = To question
----------------\
   Paul Sandoz
        x19219
+353-1-8199219
 

Reply via email to