See also: IRC log
<csma> PROPOSED: accept minutes of Aug 26
<csma> RESOLVED: accept the minutes of Aug 26
sandro: asks if anyone going to SWIG at W3 TP
<Harold> At http://www.w3.org/2005/rules/wiki/Publicity I made more precise one aspect from the minutes of Aug 26:
<Harold> Do not use BCC (which can confuse mailing lists), but FWD all your targeted mailouts to email@example.com (as the single, comprehensive, reliable archive), especially if they need to be w3c member confidential instead of public.
csma needs to send publicity emails
chrisw sent his emails
<josb> Also, do not send to too many lists at the same time; some mailing lists will reject such mails
gary will send his emails today
adrian will send his
harold sent 2/3
stuart will remind Jeff to send pub email
sandro will send to open data
harold: how do we monitor discussion on the targeted mailing lists?
csma: whoever posts should monitor the target list
sandro: and forward key points to
... and respond promising fuller explanation pending internal RIF discussion
chrisw: don't need to fwd rants about semweb
harold: one reviewer questions why we don't talk about common logic
csma: asks Harold to draft text about CL and BLD
<sandro> ACTION: Harold to draft text for BLD about relation to Common Logic, KIF, etc, as per O'Keefe comment. [recorded in http://www.w3.org/2008/09/02-rif-minutes.html#action01]
<trackbot> Created ACTION-570 - Draft text for BLD about relation to Common Logic, KIF, etc, as per O'Keefe comment. [on Harold Boley - due 2008-09-09].
<ChrisW> axel - did you look at the PFPS response?
<ChrisW> see http://www.w3.org/2005/rules/wg/track/actions/568
<AdrianP> the action was about test cases for RIF -- will do today
chrisw: need registration questionaire to know who is coming
sandro: what about meals, etc.?
<sandro> ACTION: Sandro open a registration on attendance at F2F11 [recorded in http://www.w3.org/2008/09/02-rif-minutes.html#action02]
<trackbot> Created ACTION-571 - Open a registration on attendance at F2F11 [on Sandro Hawke - due 2008-09-09].
harold: summarizes work on
... some subset (probably not maximal) of PRD and BLD
harold: e.g. no logical
... possibly no named arguments, only frames
... member and subclass is controversial
... least contention about removing named arg uniterms (nobody sorry to see them go)
... equality in conclusion should not be in core
<AxelPolleres> note, there is some more awkwardness about equality for the abridged syntax here: if we allow < > >= etc. as shortcuts for builtins only where the datatypes match... what it '=' then?
<AxelPolleres> adrian? opinions on that?
harold: we agreed about no equality in head for core at prior f2f
chrisw: we need an issue for equality in core
<ChrisW> ACTION: harold to open an issue on equality in core - explaining choices [recorded in http://www.w3.org/2008/09/02-rif-minutes.html#action03]
<trackbot> Created ACTION-572 - Open an issue on equality in core - explaining choices [on Harold Boley - due 2008-09-09].
<ChrisW> Hmmmm, from F2F8: RESOLVED: Core will be what is currently called BLD with Equality removed, function terms removed, and perhaps safeness, and perhaps slotted terms. We will not get rid of BLD. (Ignoring editorial issues for now) Frames stay in core.
csma: issue 71 is about externals in core
harold: may keep restricted equality to allow use of builtin functions and not have to invent pred:foo for all func:foo
csma: seems easier/better to keep restricted equality
<AdrianP> yes, if we have predicates we need to define both a function and a predicate version for the built-ins
axel: could say all functions come with a similar predicate
csma: doesn't that add to complexity of implementations
josb: equality in the body can
always be rewritten and removed
... just repeat the function
<AdrianP> then you would need to repeate the function call several times
<AdrianP> because you can not bind the result to a variable
<AdrianP> e.g. Datalog languages
<AdrianP> e.g. homogenous Datalog + OWL languages
chrisw: these restrictions affect the subset of rules you can translate
<josb> josb: either have equality in the body or not have it. Don't introduce a restricted form of equality.
chrisw: BLD doesn't correspond to a rule language
<AxelPolleres> christian, chrisW these are exactly the two different viewpoints on Core: core as intersection or core as something that almost all languages implement.
<AxelPolleres> or no?
<Hassan> no - BLD is a *condition* language - not a *rule* language.
csma: if core is smaller than any rule language, maybe it is too small
<Harold> Jos, how would you translate this? p(?x ?y) :- And( q(?x) ?y=func:numeric-add(?x ?x) )
<josb> p(?x func:numeric-add(?x ?x)) :- And( q(?x) )
<Harold> But I guess we don't want built-ins in the head.
<josb> why not?
<josb> built-in functions should be allowed in the head
<Hassan> Jos: how do you unify/match interpreted functions in the head?
csma: when would one translate to Core instead of translating to BLD?
<josb> Hassan, Harold's rule is equivalent to mine, so you process them in the same way
<Hassan> equivalent is what sense?
chrisw: e.g BLD is too expressive for some rule languages, e.g. Jena
<josb> they have the same models
<AxelPolleres> restricted equality = assignment?
csma: agrees Core would be used for languages less expressive than BLD
<Hassan> so you are proposing some sort of canonical rep. for Horn rules?
<Harold> Jos, about Hassan's point: how would you avoid that users get confused (if we allowed the same in BLD) between constructors in the head and evaluated functions in the head?
<AxelPolleres> I don't understand why assignment in the body is not assignment
<Harold> From table in 7.1:
<Harold> Remark: under discussion; Core might have frames and user predicates plus built-in predicates, or frames and built-in predicates, or frames, user predicates, and built-in functions (with restricted equality), or frames and built-in functions (with restricted equality)
<josb> Hassan, I'm just saying we need to choose between yes/no allowing equality in the body, and not introduce some silly restricted kind of equality
note that some rule languages, e.g. Jena and OBR, do not have user predicates
<AdrianP> I think we need predicates in PRD, e.g. for CLIPS like languages
<ChrisW> proposed resolution for next week: no named argument uniterms in CORE
<ChrisW> Scribe: ChrisW
constructs for PRD: object creation
Gary: tried something that could be
used for BLD also, skolem functions did not work
... probably there is no common solution
... special builtin requires all the quantified variables
... variable arity - too much burden on production rules
... so proposed some syntax with keyword "new" and the name of a type/class
... with slots and values
... would be equivalent to BLD conjuction of membership and frame formula
<csma> New ::= 'New' CLASS '[' (TERM '->' TERM)* ']'
Adrian: in priciple this is like a constructor
<Hassan> a constructor is *not* interpreted - a builtin function symbol *is*
Adrian: and should be a builtin
csma: how would that work in PRD
AdrianP: i'm thinking of it like a language where you can create objects dynamically at run-time
<MichaelKifer> the new builtin or a function symbol act differently from object creation in PR systems. In particular, multiple invocation of the same new will give the same new object.
AdrianP: so what is the semantics of NEW - does it behave that way? Could you use it for mapping constructor calls?
GaryHallmark: i intend the semantics to be the same as if you replaced it in logic with a conjunction of frames and membership
<MichaelKifer> new is just a builtin relation n+1 args that is supposed to be interpreted by a 1-1 function from D^n -> D.
csma: thinking about using exists with new
<AdrianP> ?X = java.lang.String("abc")
GaryHallmark: like a predicate where you pass in a variable to be bound to the new object?
csma: anyway, "new" makes sense but should be able to use the new object in the action list
GaryHallmark: Yes, but we don't have any notion of binding in the conclusion
csma: that's why I was thinking of using exists
GaryHallmark: but if you use
exists in the conclusion you don't need new
... maybe you can use equality?
PROPOSED: Extend meeting for 5 minutes
to discuss one last PRD topic
predicates and frames, the latter correspond to the rdf data
... oracle business rules don't support either one, exactly
... OBR uses the javabeans data model. Class membership is fixed at object creation, and "slots" are usually single valued.
<sandro> Yes, the OO model is different from the RDF/Frame/Relational model.
GaryHallmark: more common to have
a "slot" that can have only a single value
... so any new value would "change" the value of the slot
<sandro> I wonder how Oracle deals with this difference between Beans and Databases.....
GaryHallmark: frames seem like
the more likley place to map from javabeans
... but not a perfect match
<Hassan> With the JDBC?
<Hassan> (this answers Sandro's question)
csma: yes they are different, but what is the impact on PRD? What about using retract/assert?
<AdrianP> but then we would need to define actions as atomic
sandro: isn't this difference (objects vs. relations) already dealt with in ORM?
<AxelPolleres> update can only be delete old value, add new val per frame, that is your problem?
GaryHallmark: would be nice to have the same semantics for frames so Core is common, so can you embed the differences as more rules (what I meant by "frame axioms")
GaryHallmark: maybe we can talk about "embedding" these axioms in PRD
<Hassan> +1 to adjourn