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

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep-query message

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


Subject: Re: New ebRS Section 8.2.9, Registry Filters



Len,

Thanks for putting together proposal for updating Filter query section.
I think that the document so far is very easy to understand.

Note that I am replying to the sub-team and not teh TC list where yoru
original message was posted.

I assume this is just proposed replacement for  Section 8.2.9 of RS 1.0
What happens to xxxBranch, withXXX etc?

Here are some comment in advance of tomorrows meeting.

Some high level feedback follows:

1. Please include line numbers with your documents so we can refer to them.

2. Move Schema to Appendix
-------------------------------
I feel that understandability is improved with schema being in the appendix
and simple examples being in the
main part. Consider moving the schema to appendix.

3. Consider further simplification of semantic rules
--------------------------------------------------
I observe pleasantly that there is a consistent patter to the semantic rules
which can be used
to compress the semantic rule description without any loss of clarity.

Here is a suggested text:

"For every xxxFilter XML element (e.g. OrganizationFilter), the leftArgument
attribute of any containing
SimpleClause shall identify a public attribute of the corresponding UML class
(e.g. Organization)
defined in [ebRIM]. The public attribute may be either direct or inherited
from a base class.
If not, raise exception: InavlidAttributeException. The xxxFilter (e.g.
OrganizationFilter)
returns a set of identifiers for instances of the corresponding class (e.g.
Organization) whose attribute values
evaluate to True for the Clause predicate.

For example, for every OrganizationFilter XML element, the leftArgument
attribute of any containing
SimpleClause shall identify a public attribute of the Organization class
defined in [ebRIM]. The public attribute may be either direct or inherited
from a base class.
If not, raise exception: InavlidAttributeException. The OrganizationFilter
returns a set of identifiers for instances of the Organization class whose
attribute values
evaluate to True for the Clause predicate.
"

4. Remove artifacts that are not defined by RIM
------------------------------------------------
There are a few places where there are artifacts that have no basis in RIM
1.1.
RIM should drive FilterQuery design (not the other way around).

The proposal assumes that RIM needs to define Path, PathElement, and
SlotElement.
I believe that Path and PathElement should not be in the RIM because RIM
should
model the things that are in the registry not things that are attributes of
things that are in the registry

We should remove ContactFilter, SlotElementFilter, PathFilter and
PathElementFilter. We should support path (as XPATH) specification in
the ClassificationNodeFilter. We should also remove references to a Contact
class for same reason.

5. Query schema should be using RIM names
----------------------------------------------
A few places have some inconsistencies in use of names with RIM. For example:

The proposal uses  RegistryPackage when RIM uses Package. This should be
renamed to Package
The proposal uses ObjectFilter when RIM uses RegistryObject. This should be
renamed to RegistryObjectFilter

We should use the RIM names.

6. We do not need IntrinsicObjectFilter
----------------------------------------
"For every IntrinsicObjectFilter ..."
We no longer have IntrinsicObject as a class in RIM 1.1.
I feel that there are no use cases that I can see for supporting
IntrinsicObjectFilter.

7. Need to clarify that inherited attributes are legal in filters
-----------------------------------------------------------
"For every RegistryEntryFilter XML element, the leftArgument attribute of any
containing SimpleClause shall identify a public attribute of the RegistryEntry
UML
class defined in [ebRIM]."

It should be made clear at least once that inherited attributes may also be
used.
For exaple it should be legal to use "name" attribute in a
RegistryEntryFilter.

8. Reduce the number of error to a few generic (reusanle ones)
---------------------------------------------------------------
"If not, raise exception: object attribute error."
"If not, raise exception: registry entry attribute error."
....

The above should all be the same error:

Suggest replacing all such cases with:

"If not, raise exception: InvalidAttributeError."

9. Rename connectivePredicate in CompundClause
----------------------------------------------------
I believe the more accurate term is logicalOperator. "AND" is not a predicate.
It is a logical operator that
logically combines two separate predicates.

10. Allow CompoundClase to have any number of predicates (Clause) separated by
logical operators
-----------------------------------------------------------------------------------------------------

This is a significant usability improvement based on my experience with filter
queries in 1.0.
It would also require defining default precedence rules as well as Parenthesis
or Group element
to override default predence rules.

I will provide an example later today of what I am thinking of.

See additional comments inline

Len Gallagher wrote:

> Regrep,
>
> Earlier today I distributed proposals for revisions and enhancements to
> RegistryEntryQuery and ClassificationNodeQuery.  Both of those proposals
> assumed the existence of new methods in ebRIM and assumed the existence of
> dynamic, non-persistent classes based on those methods, i.e. Path,
> PathElement, and SlotElement.

I feel strongly that the query work will be iterative and will have to change
as RIM changes based on
new features for 2.0. We should not  make thoise changes in Query yet.

>

>
>
> I see no reason why ebRS cannot assume the existence of those classes,
> provided that their derivation from methods in ebRIM is specified in ebRS.

We need to describe how methods map to filter queries in detail. This is not
yet specified based
on what I see.

>
>
> Attached is a proposed extension of ebRS Section 8.2.9, Registry Filters,
> that defines PathFilter, PathElementFilter, and SlotElementFilter based on
> dynamic, non-persistent classes derived from getPath(), getPathDepth(),
> getPathElements(), and getSlotValues() methods that may be included in
> ebRIM. If those new methods are not approved for RIM, then the
> corresponding query elements can be deleted from the query proposals I
> distributed this morning.
>
> -- Len
>
> **************************************************************
> Len Gallagher                             LGallagher@nist.gov
> NIST                                      Work: 301-975-3251
> Bldg 820  Room 562                        Home: 301-424-1928
> Gaithersburg, MD 20899-8970 USA           Fax: 301-948-6213
> **************************************************************
>
>   ------------------------------------------------------------------------
>                              Name: RS_RegistryFilters.pdf
>    RS_RegistryFilters.pdf    Type: Acrobat (application/pdf)
>                          Encoding: BASE64

--
Regards,
Farrukh

begin:vcard 
n:Najmi;Farrukh
tel;work:781-442-0703
x-mozilla-html:FALSE
url:www.sun.com
org:Sun Microsystems;Java Software
adr:;;1 Network Dr. MS BUR02-302;Burlington;MA;01803-0902;USA
version:2.1
email;internet:najmi@east.sun.com
fn:Farrukh Najmi
end:vcard


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


Powered by eList eXpress LLC