20:28:36 RRSAgent has joined #rif 20:28:36 logging to http://www.w3.org/2007/11/05-rif-irc 20:28:47 ... Semantics of Uniterm: mapping function. 20:29:11 Axel: No semantic difference between builtins and user-defined functions. 20:29:29 csma: Currently, not distinguished in BLD. 20:29:40 AxelPolleres, while we have subclassing in RDFS, do you think we can mandate that RIF Consumers do complete RDFS reasoning before extracting the RIF semantics structures? That seems like a fairly hard sell to Gary. :-) 20:29:45 Chair: Christian de Sainte-Marie & Chris Welty 20:29:45 ... in PRD we have fixed interpretation functions. 20:29:52 Scribe: Harold 20:30:15 Meeting: RIF Face to Face Nov 5 2007 20:30:17 Gary: Plus: all args of builtins must be ground. 20:30:27 csma: Yes, that was in the patterns. 20:30:30 zakim, list attendees 20:30:30 sorry, ChrisW, I don't know what conference this is 20:30:57 For Gary, nothing changes, I don't say that the XML syntax for PR needs to accept in place of 20:31:03 Gary: So we have no universal semantics that tells us for every expression if it's true or false. 20:31:27 ... Would be nice to have a more general semantics for both. 20:31:59 but a stratified datalog dialect should maybe accept sms-rulesets, as long as they are stratified. 20:32:21 Present: PaulVincent, MichaelKifer, AdrianPaschke, HaroldBoley, GaryHallmark, StellaMitchell, MikeDean, IgorMozetic, BobMoore, josDeBruijn, AxelPolleres, sandroHawke, ChrisWelty, Christian de Sainte-Marie 20:32:31 rrsagent, make minutes 20:32:31 I have made the request to generate http://www.w3.org/2007/11/05-rif-minutes.html ChrisW 20:32:34 At least by subclassing , you can define some trivial fallbacks. 20:32:43 csma: That this is not (only) a model-theoretic semantics is even clearer for the And: works also for operat. semantics. 20:32:49 Attendance note -- observing for the afternoon has been Carine Bournez, http://www.w3.org/People/carine/ (The RIF meeting is listed on the conference schedule as being open to observers, by accident.) 20:33:11 i.e. if a dialect supports the conceptual superclass semantically, the default fallback would be replacing the special with the more general one. 20:33:11 MichaelK: You have to be careful where you are talking formally and where informally. 20:33:12 rrsagent, make logs public 20:33:47 ... We prioritized model-theor., then fall back to operational, then to procedural. 20:34:03 ... But this is none of these, it's mixed. 20:34:21 csma: It's formal (although written in English). 20:34:33 ... Define when a condition is true. 20:34:45 ... then execute the actions. 20:35:11 MichaelK: OK, but it's kind of confusing. Suppose I read this, but wont understand. 20:35:21 AxelPolleres, so the subclass relationships in the abstract model automatically generate some fallback substitutions? My guess is that's reasonable and somewhat helpful, but I'm not sure. 20:35:22 csma: This is why put sem on top. 20:35:31 ... Dont see why this is not formal. 20:35:48 MichaelK: First do syntax, then semantics. 20:36:16 that would be the idea... also not 100% sure, needs some dialect examples, which I still owe, admitedly. 20:36:21 ... E.g. it's not interpreted as a function from to, everything is regarded as matching. 20:36:40 ... but it sounds appealing to try to me 20:36:41 csma: The pattern matching mechanism gives me the function. 20:37:03 Chris: What do you regard as the interpretation function? 20:37:14 csma: A mapping to a domain element. 20:37:40 ... What does pattern matching do? Tells you what's the interpretation! 20:37:58 ... Tells you what's and what's not in the interpretation. 20:38:20 ... But what I get from discussion: This is confusing. Not the right way to put it in a spec. 20:38:31 ... However, the earlier approach also seemed confusing. 20:38:43 ... Wanted to keep it as close to BLD as possible. 20:39:04 Harold: Much better than earlier version. 20:39:48 MichaelK: What's wrong: You say here's a program, I determine from a procedure what the meaning is. The wrong way round. 20:40:11 csma: Perhaps misunderstanding. 20:40:19 ... Removed pattern section. 20:40:28 ... Actions have to be worked on. 20:41:16 ... Gary's point is valid that top-level of Rule syntax is different unnecessarily from BLD. 20:41:32 ... But this is because BLD is not frozen yet. 20:42:45 ... Could perhaps just one CONDITION rather than two. Historical from earlier patterns and the 'else' parts. But it may be good to keept both. 20:43:01 Restart at 4PM. 21:08:31 ScribeNick: StellaMitchell 21:08:45 zakim, next item 21:08:45 agendum 7. "PRD" taken up [from ChrisW] 21:09:03 zakim, show agenda 21:09:03 I see 1 item remaining on the agenda: 21:09:04 7. PRD [from ChrisW] 21:09:30 Topic: Builtins and Metadata 21:10:22 csma: we didn't consider carefully which xsd datatypes to pick 21:10:42 Chris: Yes, we settled on a set during one of our meetings 21:11:25 Chris: (projecting list of xpath functions and operators) 21:11:53 http://www.w3.org/2005/rules/wg/wiki/List_of_functions_and_operators 21:12:28 jos: will these be predicates or functions in BLD? 21:12:50 Chris: do we have notion of builtin as external call? are all predicates, all functions ? 21:13:26 Harold: telecon with DARPA demo group - we chose a fixed interpretation for builtins 21:13:59 Harold: the point is - we have equality in RIF 21:14:49 mk: if we assume URI's identify functions, we can 21:15:33 Harold: mode declaration of functions 21:15:54 Harold: for now, it would be very nice to have builtins as functions 21:16:10 axel: for predicates, it is not so clear what is input and output 21:16:28 binding patterns == modes 21:16:44 Harold: non-deterministic builtins 21:16:51 Harold: (something is) then you would have non-deterministic functions 21:17:19 Sandro: trying to clarify between functions and predicates 21:17:58 Sandro: you might have extension that has more builtins (that the dialect it extends) 21:18:07 Because in RIF we have Equal, we can finally come back to builtins being functions, not (artificially) relations. Advantage: uniform mode declarations. 21:18:40 .. can lead to a language conflict (syntax has different meaning) 21:19:01 Chris: Also, datatype extensibility is an open issue 21:19:04 Sandro: It should be a syntax error to use a builtin that's not in some dialect. 21:19:25 ...I don't think it makes sense to assume the list of builtins is fixed 21:20:10 Jos: xpath uses namespaces, but we use curies... 21:20:31 csma: functions as relations, means uniterms of the atomic kind? 21:20:53 ... so the only uniterm of the term kind are logical functions 21:20:56 AxelPolleres has joined #rif 21:21:03 mdean has joined #rif 21:21:55 mk: asking about xpath urls, namespaces, what is behind it? 21:22:04 axel: reads definition from xpath spec 21:22:30 Sandro: they are available to users as other symbols 21:22:39 For example, NumericAdd has uniform mode In x In -> Out as used in ?Result = 23 + 17 or Result2317. 21:22:51 AxelPolleres has joined #rif 21:23:17 http://www.w3.org/TR/xpath-functions/#namespace-prefixes 21:23:48 Chris: back to questions - builtins as relations or external calls? 21:23:57 csma: what is the difference? 21:24:31 sandro: diff between interpreted and logical functions - for interpreted, you have to call some other piece of code to evaluate it 21:25:02 csma: ?? 21:25:12 sandro: that wouldn't allow for extensibility 21:25:28 csma: producer and consumer have out of band agreement on what it is 21:26:23 csma: function names are iris, so if you can't recognize it, you don't handle that external functions 21:26:36 sandro: no, in that case it could be a logic function 21:27:05 csma: I can't think of any concrete case where it would be a problem 21:27:16 sandro: append - would be reasonable as either 21:27:43 Chris: what is the status of functions on BLD 21:27:49 s/on/in/ 21:28:04 Chris: how does a user define a logic function? 21:28:15 Gary, MK: they just use it 21:28:18 "logic functions that are term constructors" vs "evaluable" or "interpretable" functions, ....? 21:28:55 In my example, NumericAdd as a relation would have hetereogeneous mode Out x In x In. 21:29:00 sandro: an "eval" function 21:29:22 "external call", "procedural attachment", ... 21:29:26 sandro: it's a little confusing that an external call is a builtin 21:29:55 sandro: issue is, if you can tell from the syntax whether it is a builtin or a logical function 21:30:22 Chris: is anyone opposed to having a special syntax to distinguish 21:30:32 We already can define functions using ATOMIC Equality facts based on ATOMIC ::= Uniterm | Equal. 21:30:42 s/distinguish/distinguish?/ 21:31:13 csma: if we want fully stripped xml syntax, we need elment 21:31:50 mk: builtins are supposed to have a uri, and in semantic web uri already has a meaning, so from that point of view we don't have to say anything 21:32:19 sandro: gives example showing it is more complicated 21:32:37 mk: uris are supposed to be self-denoting 21:32:58 sandro: op:numeric-add is self denoting 21:34:07 Chris: is it possible to define syntax and that would indicate which it is? 21:34:15 We can user-define as an equational fact fatherOf(Mary) = John or fatherOfMary John . 21:34:19 mk: no, I don't think so 21:34:49 sandro: dereference argument and get documentation and links to downloads 21:35:12 sandro: but from point of view of semantics, it is just an opaque string that denotes a funciton 21:35:39 Chris: syntax that denotes builtins, and spec says which ones have to be supported 21:35:52 ... and people would be able to add more 21:36:31 mk: we can't control what is at the URL of fn:compare 21:36:42 GaryHallmark has joined #rif 21:37:27 sandro: uri goes to the text description 21:38:01 vs 21:38:03 Chris: advantage of having an explicity syntax is that it is open - people can add more 21:38:53 Chris: who thinks we should special syntax to identify builtins? 21:39:12 (people on both sides, there is disagreement) 21:39:44 Harold: in lisp there is a uniform way to call user defined functions 21:40:00 Chris: but in lisp, it is not open 21:40:49 BobM: ?? 21:41:02 s/uniform way to call user defined functions/uniform way to call user defined and builtin functions/ 21:41:29 axel: you are saying builtin terms must always have fixed interpretations 21:41:32 "ExternalUniterm" 21:42:04 mk: I think we can make it extensible 21:42:49 Chris: but you are signalling it syntactically, like with defun 21:43:34 mk: I would use "require" (the list of bld functions) 21:44:10 sandro: that is not extensible 21:44:38 mk: we only care that a symbol is used consistently 21:44:46 ... if not, things are broken anysay 21:44:53 s/anysay/anyway/ 21:45:11 sandro: "append" example, where it could be either builtin or logical function 21:45:30 mk: but it would have different uris for different uses 21:45:58 axel: what if the builtin is in the head (conclusion)? 21:46:27 Chris: we can discuss that later, after we resolve this questions 21:47:13 bmoore3 has joined #rif 21:47:56 Chris: if we syntactically mark builtins, it is very clear how it would work 21:48:32 Chris: but some people here think it's cleaner to not have to syntactically indicate it 21:49:16 caribou has left #rif 21:49:25 Chris: proponents of not syntactially marking can try to come up with a suggestion, maye in a break out tomorrow 21:49:33 s/maye/maybe 21:50:08 Chris: Result --- default is External Calls In Syntax; people who want something else (including him) need to come up with a proposal. 21:50:10 ....that group will come up with a proposal or agree to the other method 21:50:14 Looking at 21:50:15 21:50:15 fn:subtract-dateTimes-yielding-dayTimeDuration 21:50:15 deliverydate 21:50:15 scheduledate 21:50:15 diffduration 21:50:17 21:50:25 Chris: metadata 21:51:06 Chris: meta means "after" 21:51:26 Chris: what metadata do we need? 21:51:52 the "fn:" in fn:subtract-dateTimes-yielding-dayTimeDuration shows that we have an external call here. 21:51:54 Chris: which syntactic terms can have metadata? 21:52:59 However there are some ways to mark this more explicitly as a builtin call: 21:53:01 Sandro: and other questions about metadata: is the metadata fixed for a given dialect? 21:53:14 Chris: you mean is there a finite set of preset tags? 21:53:16 sandro: yes 21:53:32 PaulV: is it extensible? 21:53:33 * Use 21:53:54 Sandro: or rather, if you want new metadata, do you need to make an extension? 21:54:14 Gary: can you always ignore the metadata and get the same result? 21:54:21 * Use 21:54:23 s/new metadata/a new metadata item/ 21:54:37 PaulV: what is an example of metadata that cannot be ignored? 21:54:47 csma: is rule priority metadata? 21:54:54 csma: it affects semantics. 21:54:59 jos: if you refer to a datamodel using metadata, and that datamodel affects the semantics 21:55:26 Sandro: this is why I advocate having no metadata 21:56:23 Adrian: example of using RI F document as data 21:56:31 no metadata mechanism --- just more extensions. 21:56:36 s/RI F/RIF/ 21:56:53 Chris: do we want to talk about a class of metadata that cannot be ignored? 21:57:15 csma: I think Sandro had a good point. We don't call it metadata, just data 21:57:35 * Both of the above are much better than using a totally different calling method such as , because the transition from user-defined to builtin should be kept as simple as possible (see above discussion about lisp and prolog). 21:57:39 Sandro: I suggested pushing this off until we understand extensibility better 21:58:11 Chris: It should not be that you need an extension to add author metadata 21:59:06 csma: isn't metadata the things that don't have to do with semantics 21:59:12 mk: dublin core 21:59:25 PaulV: and that (dublin core) would be a good starting point for RIF 21:59:58 jos: we shouldn't have a fixed set of metadata - it's just a set of attribute value pairs 22:00:25 sandro: so properties are iris and values are strings? 22:00:52 mk: sandro, what did you want? 22:01:05 sandro: import dublin core wholesale 22:01:27 I think metadata should be non-prescriptive annotations, i.e. not change the normative semantics of a ruleset. 22:01:28 http://dublincore.org/documents/dc-xml-guidelines/ 22:01:34 mk: how does owl do it? 22:01:54 jos: they say you can use any metadata you want, as long as it is an annotation property 22:02:42 Chris: I think that agreeing on specific metadata tags should not be part of dialect defintion - just say how to include metadata 22:03:37 Chris: who thinks the set of metadata for a dialect is fixed? 22:03:42 ...strawpoll 22:04:41 csma: can we have both? a required set and a way to add more? 22:04:51 Chris: 3 proposals: 22:04:54 ...1 fixed 22:04:57 ...2 open 22:04:58 Metadata thus act just like comments from the perspective of the normative semantics, although non-semantics-preserving processing such as in AdrianP's author-filtering example will be possible. 22:05:08 ...3 required, plus a way to add more 22:05:13 fixed: 1 22:06:05 open: 6 22:06:32 sandro: I object to passing a resolution now because we having settled on our extensibility mechanism 22:06:45 s/ing set/ not set/ 22:06:57 mixed: 7 (gary voted for open and mixed) 22:07:29 official count: fixed: 1, open:4, mixed: 6 22:08:07 Chris: We will put on hold the question of where we can put metadata (which elements to attach it to) 22:08:50 Chris: Non-ignorable metadata is part of a dialect. I think we have consensus. 22:09:09 Chris: non-ignorable metadata is part of a dialect definition 22:09:28 bobm: i'd say non-ignorable metadata is not metadata 22:09:35 Sandro: So the question is whether to have an annotation mechanism for ignorable content. 22:10:39 Gary: 'this rule is effective during the month of november' --- is that metadata? 22:11:26 Chris: the mechanism we are talking about is the annotations that don't affect the semantics 22:11:42 ...( the ignorable metadata) 22:11:52 +1 to bobm 22:12:18 The issue here is whether to provide a syntactic mechanism for including structured annotations which have no effect on the semantics. And if so, how? 22:13:00 (Avoids the term metadata) 22:13:45 general consensus on that issue statement. 22:13:58 Paul: proposes some use cases for metadata eg RIF for execution won't need metadata eg RIF for rules mgmt will find metadata significant 22:14:06 Sandro: I'm not convinced we need this, yet. I think light-weight extensions might cover these use cases. 22:14:31 scribe: Mike Dean 22:14:36 Chris: we will discuss it more after we settle on the extensibility mechanism 22:14:37 GaryHallmark has joined #rif 22:14:39 scribenick: mdean 22:14:58 topic: test cases 22:15:46 action 361: Stella to update test case wiki page 22:16:04 http://lists.w3.org/Archives/Public/public-rif-wg/2007Nov/0000.html 22:16:06 didn't mean to record new action 22:17:26 ChrisW: overview of test cases in WebOnt WG 22:17:48 entailments for each operator 22:18:00 resolution of issues often documented as test case 22:18:31 http://www.w3.org/TR/owl-test/ 22:18:48 ChrisW: RIF could adopt this methodology 22:19:15 Sandro: consistency tests too? 22:20:33 Agreement -- we need Inconsistency and Consistency tests too. 22:20:43 csma: have people submit cases where they think there is ambiguity 22:21:10 csma: what is the form of these tests? 22:22:08 example test case in Stella's email above 22:22:54 structured annotations wrapping OWL documents 22:23:10 premise in one file, conclusions in another 22:23:41 owl example: http://www.w3.org/TR/owl-test/byFunction#function-Restriction 22:23:55 message uses example URIs - OWL tests were real 22:24:55 Sandro: likes .hrif for presentation syntax 22:26:16 Sandro: Jeremy wrote nice software to manage test cases for WebOnt 22:26:30 ... recently asked to resurrect this for OWL WG 22:26:39 s/Jeremy/Jeremy Carroll/ 22:27:22 ... Jeremy and Jos deRoo just did it 22:28:06 Adrian: need separate query language? 22:28:28 ChrisW: not needed - just specify in manifest 22:28:56 ChrisW: can we leverage JUnit? 22:29:16 Sandro: let's wait for a few weeks on OWL WG 22:29:27 ChrisW: need time limit 22:29:48 Sandro: ... unless someone else volunteers 22:30:17 ... could still submit a test in natural language in email or Wiki page 22:30:30 josb: good to link to examples in document 22:30:53 csma: some tests should also be linked to use cases 22:31:11 Sandro: group seems to be comfortable mirroring what OWL did 22:31:39 csma: what about testing implementations? 22:32:09 Sandro: WebOnt generated table of tests by implementation, showing each was handled by at least 2 22:32:51 csma: could be a way to test that specification meets requirement, i.e. was implementable 22:33:04 Sandro: doesn't ring any bells 22:33:21 topic: compliance/ 22:33:25 Sandro: prefer conformance 22:33:51 csma: yes/no test or degrees of conformance? 22:34:06 ... define profiles/levels 22:34:40 ChrisW: based on test cases that implementation passed, not a formal thing 22:34:59 josb: normative OWL test cases section on conformance 22:35:11 ... syntax and consistency checkers 22:35:43 parking passes distributed 22:36:29 We need to make entailment ( |- ) relative to the logic we are in. Eg in FOL p(a) :- q(a) |- ~q(a) :- ~p(a), but not so in Horn logic. 22:36:45 breakfast options: $10 for continental, or $15 full Zephyr buffet to go 22:38:16 Sandro: strawman conformance test: phrase as some sort of action: this software does this ... 22:38:36 csma: prefer one level of compliance - must implement everything 22:38:56 ... then could have compliance for specific extensions 22:39:24 Michael: most implementations probably won't implement full equality 22:39:42 Michael: OWL has not been fully implemented either 22:40:27 josb: Pellet isn't complete with nominals 22:41:04 Sandro: unfortunate that we don't have complete OWL implementations yet 22:41:36 Michael: same with SQL, thousands of pages of spec 22:42:15 Michael: don't exclude something just because it's hard to implement 22:43:10 csma: compliance is like conformance but not quite :-) 22:43:40 ... want to promote adoption, motivate comfortant implementations 22:44:24 Michael: could be conformance level that doesn't include equality 22:44:42 csma: could end up with so many dialects and levels that OWL looks simple 22:45:13 The paramodulation calculus is a refutational theorem proving method for 22:45:13 rst-order logic with equality, originally presented in Robinson &Wos (1969)http://www.cs.bu.edu/fac/snyder/publications/BasicParamodulation.pdf 22:46:03 Chris: Issues 1 - whether to have levels of conformance (vs just boolean) per dialect 22:47:27 Chris: Issues 2 - whether to have lowest conformance level match implementations (eg full equality). 22:48:38 bob: many features aren't implemented or implementable with reasonable time 22:48:54 ... interoperability is most important 22:49:30 ... don't define logic that can't be implemented 22:50:08 GaryHallmark has joined #rif 22:50:44 Chris: 4 square, levels vs expected. 22:51:55 csma: boolean might not require equality 22:52:26 profiles not the same as levels 22:53:12 Chris: boolean per dialect 22:53:36 Michael: profiles are kinds of dialects 22:53:53 straw poll 22:53:53 Chris: Levels + Expected: 0 22:54:19 Chris: Booleans + Expected: looks like everyone 22:54:34 Chris: Boolean + Not-Expected -- Michael 22:55:18 Michael: There will be useful implementations which don't conform. 22:55:30 The axioms for the equality relation need not be built into RIF (without it's easy to implement), because they can be 'loaded' as another ruleset: http://www.math.psu.edu/melvin/logic/node7.html 22:55:49 Chris: does everyone assume profiles? 22:56:21 6 of N-1 thought they were voting for profiles 22:56:29 Voting for profiles: 6, 22:57:33 Sandro: voting for compliance being something that's implementable 22:57:52 Chris: BLD - equality not a profile? 22:58:33 Sandro: change BLD to not include equality 22:58:42 csma: current BLD becomes an extension 22:59:05 Sandro,Bob: define BLD as something that's implementable. 22:59:24 +5 for Sandro 22:59:34 5 people agreeing with that view. 23:00:19 csma: same for PRD 23:00:33 ... extensions could be harder to implement 23:00:45 Sandro: profile vs. extension is marketing difference 23:00:50 csma: important for adoption 23:01:16 Sandro: same for equality and negation 23:01:39 Chris: plenty of SQL operators are partially implemented 23:02:19 Chris: nobody needs the full implementation 23:02:26 csma: must jump start implementations 23:03:06 Chris: not ready for resolution, but consensus that we want boolean tests for conformance with some disagreement over what to test 23:03:19 Michael: could also use test cases 23:03:31 Chris: industry likely to do this, publish their test case results 23:04:10 Sandro: BLD querying system vs implementation 23:04:56 Chris: do we need issue regarding equality? 23:05:34 Chris: always boils down to test cases 23:06:23 group of five who wants BLD changed to remove quality, so that it's practical to implement it fully 23:06:34 ACTION (csma): open issue on equality 23:07:14 Google says dinner is 1.1 miles away 23:07:18 reservation at 7pm 23:07:32 walkers meet in lobby at 6:30 23:07:52 otherwise contact Sandro 23:07:56 ACTION: Christian to open issue about removing equality from BLD because it's not so practical to implement. 23:07:56 Created ACTION-366 - Open issue about removing equality from BLD because it\'s not so practical to implement. [on Christian de Sainte Marie - due 2007-11-12]. 23:07:57 adjourned 23:16:57 "RIF Consuming Reasoner"