RIF Telecon

02 Sep 2008

See also: IRC log


csma, Sandro, ChrisW, MikeDean, LeoraMorgenstern, Harold, StellaMItchell, Hassan_Ait-Kaci, GaryHallmark, josb, AdrianP, StuartTaylor, YutingZhao, MichaelKifer, AxelPolleres
GaryHallmark, ChrisW



<csma> http://lists.w3.org/Archives/Public/public-rif-wg/2008Aug/att-0129/2008-08-26-rif-minutes.html

<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 member-rif-wg@w3.org (as the single, comprehensive, reliable archive), especially if they need to be w3c member confidential instead of public.

<ChrisW> http://www.w3.org/2005/rules/wiki/Publicity

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 rif-wg
... 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].

<sandro> http://lists.w3.org/Archives/Public/public-rif-comments/

Action Review

<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> http://www.w3.org/2005/rules/wiki/Core

harold: summarizes work on Core
... some subset (probably not maximal) of PRD and BLD

<Harold> http://www.w3.org/2005/rules/wiki/Core#Intersection_of_RIF-PRD_and_RIF-BLD

harold: e.g. no logical functions
... 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

<csma> http://www.w3.org/2005/rules/wg/track/issues/71

<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?

<josb> External()

<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

<josb> URI?

<ChrisW> http://www.w3.org/2005/rules/wiki/Core#Intersection_of_RIF-PRD_and_RIF-BLD

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


<csma> http://www.w3.org/2005/rules/wg/track/actions/554

<csma> http://www.w3.org/2005/rules/wg/track/actions/555

<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

GaryHallmark: user-defined predicates and frames, the latter correspond to the rdf data model
... 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?

<Hassan> Sandro: http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html

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")

<sandro> cf http://en.wikipedia.org/wiki/Object-Relational_impedance_mismatch

GaryHallmark: maybe we can talk about "embedding" these axioms in PRD

<Hassan> +1 to adjourn

<AdrianP> bye

Summary of Action Items

[NEW] 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]
[NEW] 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]
[NEW] ACTION: Sandro open a registration on attendance at F2F11 [recorded in http://www.w3.org/2008/09/02-rif-minutes.html#action02]
[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.133 (CVS log)
$Date: 2008/09/02 16:37:29 $