- From: Michael Kifer <kifer@cs.sunysb.edu>
- Date: Mon, 28 Apr 2008 14:30:23 -0400
- To: Dave Reynolds <der@hplb.hpl.hp.com>
- Cc: Chris Welty <cawelty@gmail.com>, Sandro Hawke <sandro@w3.org>, Jos de Bruijn <debruijn@inf.unibz.it>, public-rif-wg@w3.org
> Michael Kifer wrote: > > Dave, there are several possibilities. > > First, values in the frames can be terms with named arguments, which solves > > your problem, I believe. > > How? There is no RDF mapping to such terms and the semantics of those > make such a mapping ... unlikely. We did not restrict the form, but it could be foo(object->o,subject->v), where foo is the name of the property name. > > Second, we actually talked in a previous telecon that more complex formulas > > could also be allowed as metadata. > > I missed that in the minutes (I know I've missed a few telecons of > late). Is there a proposal for the details of that? We though that conjunctions might be useful. Do not know if more general formulas could be useful as metadata. --michael > Dave > > > > > > > --michael > > > >> As mentioned in last week's call ... orthogonal to the issue of where > >> the metadata can go is the question of what metadata can be expressed. > >> > >> My starting point is that the metadata should be mappable to RDF since > >> that is the metadata standard for the semantic web. > >> > >> In Jos' original proposal metadata values were expressed in an > >> RDF-compatible way using an N3/Turtle like notation. This had the > >> disadvantage that a separate RDF mapping needed to be specified but the > >> advantage that structured metadata values are possible, indeed easy to > >> express. > >> > >> In particular, I would like to be able do things like use the FOAF > >> vocabulary to describe a rule author. This requires the ability to have > >> structured values ideally including blank nodes. Jos' proposal handled > >> this fine. > >> > >> In the current BLD proposal metadata is restricted to Frames, one per > >> Rule/Group. This has the converse advantages/disadvantages - the RDF > >> mapping is already defined but there is no ability to express structured > >> values other than via Uniterms. > >> > >> To address this issue would it be appropriate to either (a) define a > >> notion of nested Frames or (b) allow multiple Frames within the metadata > >> block which can then use explicit Consts to link from one frame to a > >> related frame? > >> > >> Dave > >> -- > >> Hewlett-Packard Limited > >> Registered Office: Cain Road, Bracknell, Berks RG12 1HN > >> Registered No: 690597 England > >> > >> Chris Welty wrote: > >>> > >>> Here's another hopefully intermediate/compromise proposal for the meta > >>> data. > >>> > >>> The current BLD draft shows: > >>> > >>> Document ::= 'Document' '(' IRIMETA? DIRECTIVE* Group? ')' > >>> Group ::= 'Group' IRIMETA? '(' (RULE | Group)* ')' > >>> > >>> I suggest something like: > >>> > >>> Document ::= 'Document' '(' IRIMETA? DIRECTIVE* (Group | Rule)* ')' > >>> Group ::= 'Group' IRIMETA? '(' (RULE | Group)* ')' > >>> Rule ::= 'Rule' IRIMETA? '(' RULE ')' > >>> > >>> This basically tries to address both Jos (et al) and Michael (et al) > >>> conflicting concerns. If you don't want to use Group, you don't have > >>> to, if you don't want to use Rule, you don't have to. I think this > >>> proposed syntax allows us to keep these names, avoids having to nest the > >>> Rule inside the group, and also for future extensibility to e.g. FOL you > >>> can just drop the Rule part and extend through Group. > >>> > >>> It makes the grammar a little more verbose, but the actual syntax of > >>> rules and rulesets is no more verbose that either current proposal. > >>> > >>> Also, *as a different point*, if we keep this I would suggest modifiying > >>> the Group production so that you don't have to type 'Group' for every > >>> repeated rule within a group, something like: > >>> > >>> Group ::= 'Group' IRIMETA? '(' (RULE* | Group)* ')' > >>> > >>> > >>> -Chris > >>> > >>> > >>> Sandro Hawke wrote: > >>>>> > Thinking over today's difficult discussion about metadata, it > >>>>> seems to > >>>>>> me that the right solution is this: > >>>>>> > >>>>>> 1. Allow metadata, syntactically, on every object, by way of a > >>>>>> <meta> child element which is legal on every capitalized (class) > >>>>>> element. No need for wrapper elements. In a normal rule, the > >>>>>> "Forall" is where you'd hang the metadata. I have some ideas > >>>>>> for > >>>>>> the PS, but no favorites. > >>>>>> > >>>>>> 2. Add a "group" element, for making these conceptual groupings > >>>>>> that > >>>>>> Michael speaks of (and I'm familiar with from my own rule > >>>>>> programming), where the metadata applies to a set of a few > >>>>>> rules). > >>>>>> > >>>>>> What about this approach would be so bad? > >>>>> For me the question was not how to attach metadata, but rather > >>>>> whether and how to identify rules. > >>>> It sounds like the question is about how people conceptualize the > >>>> structure and elements of their rulesets. When programming, if you put > >>>> a comment block above some code, which code does it apply to? It's > >>>> mostly the blank lines and comment characters (eg big horizontal lines) > >>>> that answer this, in my code (although it depends on the language, a > >>>> bit). > >>>> > >>>> So, it seems like we should allow: > >>>> > >>>> <Document> > >>>> <Group> > >>>> <Group> > >>>> ... > >>>> <Rule> > >>>> <Forall, etc> > >>>> > >>>> where Group and Rule are optional. Metadata, including URIs, go on the > >>>> Document, Group, and Rule elements. (I'm skipping the rule stripes, > >>>> for brevity here.) > >>>> > >>>> This has no formal semantics in BLD, of course. It's for humans and > >>>> rule management, like other non-semantic metadata. Writing translators, > >>>> you can ignore these tags, unless your rule language has some > >>>> similar/equivalent structure. Maybe you even translate them to/from > >>>> blank lines. [ half joking - the point is that it wouldn't be wrong. ] > >>>> > >>>> If people start to want semantic metadata (rule priorities?), this > >>>> probably adapts to that just fine, too -- it's obviously general -- but > >>>> we can't worry about that too much, with only a month to go on BLD. > >>>> > >>>> Similarly, some seem to see the asymmetry between Group and Rule as > >>>> reflecting real concepts, while some see Rules as silly, some see Groups > >>>> as silly, ... etc. I don't think it's a huge burden to have both. Some > >>>> people want one, some want the other, some want both -- let's just have > >>>> both. Can we live with that? > >>>> > >>>> -- Sandro > >>>> > >>>>> For a long time our top-level element in RIF was the ruleset and the > >>>>> second-level element was the rule. > >>>>> > >>>>> Recently the notion of "group" was introduced, which lies between the > >>>>> ruleset and the rule: a ruleset contains groups and groups contain > >>>>> rules. > >>>>> So, we have: > >>>>> > >>>>> Ruleset > >>>>> | > >>>>> Group > >>>>> | > >>>>> Rule > >>>>> > >>>>> I myself do not really see the need for this group element in BLD, > >>>>> but I do not strongly object to it. > >>>>> > >>>>> The current draft of BLD allows identifying rule sets and groups, but > >>>>> not rules. I was arguing that it should be possible to identify rules. > >>>> > >> > >> > > > > > >
Received on Monday, 28 April 2008 18:35:22 UTC