We have the need to be able to perform robust searches
within a context. For example, Return all Digital Subjects which have brown
eyes, size 10 shoes, but not a dog named fido (unless they also have a cat
named felix).
Given our rough consensus on a data model (well two
actually), does anyone have a preferred search filter language?
For the high-level API, I can suggest something akin to
what LDAP uses because I already know it. The example above would look like
this:
(&(urn:higgins.property.person.eyeColor=brown)(urn:higgins.property.person.shoeSize=10)(|(!(urn:higgins.property.person.dogName=fido))(urn:higgins.property.person.catName=felix)))
I want understand
your “urn:higgins.property.person.eyeColor”-like constructs. Is
this one long unique identifier of a property type? Or is this a combination of
a Digital Subject reference (e.g. higgins.property.person”) and the name
of one of that Digital Subject’s properties (e.g. “eyeColor”).
Assuming it is the former, it seems that the Digital Subject that we’re querying
is specified somewhere else.
I'm open to anything though, as long as we can filter on property(attribute)
values and have sufficient operators (and, or, not, present, equal, ordering,
substring, <provider-defined>).
Me too.