Re: [ISSUE-37] New proposal on RIF interoperation with XML data and XML Schemas

On Mon, 16 Mar 2009 21:12:50 +0100
Christian de Sainte Marie <> wrote:

> Michael Kifer wrote:
> > 
> > You are proposing to treat element names as classes and element instances as
> > member objects. But in XML (Schema, not DTD), the same element name can be
> > used
> > to represent different things at different levels. For instance, Name can
> > be an
> > element that describes people's names, company names, pet names. They all
> > have
> > different structure, and they can appear at different levels of nesting.
> > So it does not make a good sense to just write ?x#ex:Name.
> </chair>
> Yes. I have thought of that, too.
> I concluded that, if your schema is done like that, then those
> elements/element names are unlikely to represent classes; and your rules are
> unlikely to test objects for membership in such non-classes;

I am not sure this is a good assumption. It feels wrong to me. The different
instances of Name in my example are just different classes. I may chose
to use the same name "because I can" (pardon my plagiarizing of Bill
Clinton :-).

> so, the rules
> will rather navigate the structure using the "child" relationships between
> elements, and thus the frames, starting from a higher level element as class,
> or even no class characterisation at all, like:
> forall ?x ?y ?z, ?x[ex:name->?y] AND ?x[CEO->?z]AND ?z[ex:name->johnDoe]...

Well, then maybe a better way would be to just provide a builtin method, which
would take an XPath expression and return? (We do allow function symbols in
Core, if they are used as built-ins.)

> But, again, this is just a draft proposal: it can certainly be improved a
> thousand way, if it looks like it is worth it...

It might be, if it can be worked out elegantly. Gary's proposal, on the other
hand, is a sure thing, but it is a brute-force approach. We have something very
similar to that in FLORA-2. I find it a bit too low-level, but it is usable.


Received on Monday, 16 March 2009 21:02:47 UTC