13:27:51 RRSAgent has joined #rif 13:27:51 logging to http://www.w3.org/2008/02/22-rif-irc 13:28:06 Discussing forward compatibility of BLD - what should implementers need to know 13:29:14 the "traditional" way is to ignore what they need and provide extensions they need 13:30:29 "features", such as equality and named args, would be specified per variation of a dialect departing from BLD 13:31:26 XML annotations tags could be used to specified the features in a "a la carte" fashion to create an extension of BLD 13:31:44 s/annotations/annotation/ 13:35:28 If a feature is not implemented, some transformation is applied and comments/tags included to mention that fact (e.g., if named args are not implemented, they are transformed as positional and comments are generated saying so 13:37:04 josb_ has joined #rif 13:37:13 s/saying so/saying so)/ 13:37:33 s/tags /tags are / 13:39:37 Sandro keeps on describing his transformation scheme to adapt missing features into others supported 13:40:58 This is "poor man" fallback mechanism could be used to specify how to adapt missing features using existing ones 13:41:14 s/This is/This/ 13:41:28 you could even use xquery... more convenient than xslt 13:43:06 This mechanism could be a preprocessor or a filter 13:45:19 ChrisW: will this part of the specs? 13:45:36 Sandro: non-normative, perhaps... 13:47:45 CSMA: The specs should define RIF Core so as anything that is not in it be rejected (using Sandro's device) 13:49:09 Questions: what does 80% sound mean? 13:49:40 Sandro: this is based on the level of severity (i.e., ignore, warning, error) 13:50:30 Jos: then this should not be soundness but completeness 13:51:15 Sandro: the mechanism is there to allow degrees of severity 13:52:00 One example "partial soundness" might be in terms of error behaviour - well typed data leads to the same results but ill-typed data may be let through. 13:52:41 Sandro: the intention is to "minimize" some overall severity level by composing them 13:53:58 Gary: I doubt that BR people would be happy to see their rules changed behind their back - they would rather do this sort of things themselves - not the machine 13:55:59 Sandro: the spec say what features should or must be there; and some graceful fallback mechanism 13:58:40 I think this is an interesting start for RIF Interoperability Technology. 13:59:22 ChrisW: So what do we do? 13:59:59 Sandro: XTAN (XML Transform As Needed) can be a tool on its own (not just for RIF) 14:00:50 Sandro: I.e., a specific document should describe it 14:01:34 zakim, pick a victim 14:01:34 Not knowing who is chairing or who scribed recently, I propose ??P0 14:01:40 zakim, pick a victim 14:01:40 Not knowing who is chairing or who scribed recently, I propose ??P0 14:02:00 26-28 of may 14:02:52 scribenick: johnhall 14:05:40 scribenick: axel 14:05:49 scribenick: AxelPolleres 14:06:10 Harold: finitelty nested functions can be translated to Datalog. 14:06:56 ... if nesting depth can be limited. 14:07:26 (we have a corporate rate of 89 EUR from NUIG at westwood hotel BTW, for f2f10) 14:07:35 Atom + Expr => UniTerm 14:08:39 jos/michaelK: discussion naming uniterms vs atomic formulae 14:09:27 I am lost!!!! 14:09:57 3 strands of discussion going on. 14:10:30 jos: problems with functions predicates uniterms. 14:10:45 josb/sandro: make explicit in the syntax 14:11:00 christian: context not enough to decide? 14:11:55 Sandro: It's much easier to write "I don't support logic function" than "I don't support Uniterms within Uniterms". 14:12:20 michealK: I find it srange just to make changes just to make it easier to implement a certain tool. 14:12:37 josb: it is confusing because all is a term. 14:13:07 chrisw: it can stil look the same but we can call the syntactic term 14:13:21 ... in the syntax tree different 14:13:27 s/term/construct 14:14:14 Harold: we have this since years and now and it passed many reviews. 14:14:29 ... will not chang it because one python tool doesn't work. 14:14:59 ... prolog and f-logic tools like Flora have this implemented. 14:15:21 jos: that's not the point. a pred is a pred a func is a func. 14:15:47 Chris: This is changing the grammar, not the syntax. 14:16:05 Gary: Yes -- call a function a function and a term and term, rather than calling them both Uniterm and getting confused. 14:16:08 axel: not the same for a prolog programmer who think in terms of functors 14:16:27 gary, chrisw: doesn't affect the language, just the grammar. 14:17:19 christian: we can make the move without loosing anything. 14:17:54 harold: FOL is too restrictive for the SW. 14:19:07 axel: the uniterm stuff also caused difficulties for the metamodel attempt which I did. 14:19:24 it shouldn't make a differnce to name them differently. 14:19:32 Jos: There is always a difference. Atomic Formula are mapped to T/F; Terms are mapping to elements in the domain. 14:19:46 michaelK: it is basically a change of grammar only, I agree. 14:19:57 harold: you also change the mathematics. 14:20:16 s/mathematic/mathematical english/ 14:20:19 miachaelK: slight chane in the english description and the grammar necessary, not more. 14:24:19 ChrisW going to paint something on the flipchart. 14:24:58 AdrianP: in favor of uniterm. 14:25:30 AdrianP: uniterm more clear than "function" 14:25:46 ChrisW: there was a change from compaund to uniterm yesterday 14:25:52 harold: ... as it used to be. 14:26:47 christian: no, COMPOUND stays there. 14:27:12 christian: we replace compound by uniterm. 14:27:23 ... in terms 14:27:47 ChrisW: ho to distinguish funcrtions from predicates. 14:28:33 jos running faster than gary to write the solution on the whiteboard 14:30:05 as an example: typical directives and built-ins in the ISO Prolog STANDARD such as assert(p(X)), findall(X,p(X),List), derive(p(X)) 14:30:47 although we don't support them yet in RIF, a Prolog implementer would need them to write meaningful rule programs 14:31:19 How do we serialize p(X), with which constructs? , clearly p(X) is a term here, but should we really serialize it as a function 14:32:27 On paper: ATOM := Pred '(' TERM* | -> ')' 14:32:48 On paper: Atom := Pred '(' TERM* | -> ')' 14:32:59 On paper: Expr := Fun '(' TERM* | -> ')' 14:33:16 EtnaRosso has joined #rif 14:33:42 EtnaRosso has left #rif 14:34:16 Harold: In the first section of BLD we often talk about Terms, where uniterms are referred. 14:34:24 ... we need to change it. 14:34:54 josb: not one word needs to change. 14:36:30 Gary: we didn't get rid of uniterm, it is still there, but with two concrete distinctions. 14:37:05 Jos and others: Assert/Retract are connectives/operators NOT predicates 14:37:18 ... so it's okay that their arguments are Atom 14:38:09 MichaelK: Ideally we should have one gorund for the BNF and one for the XML. 14:38:39 sandro: one schema for all RIF? and then specializations for BLD, Core, PRD, etc.? 14:39:17 MichaelK: we need to work it out, don't know if it is possible. but maybe to early for the BNF to change it now. 14:39:39 josb has joined #rif 14:39:41 christian: if we start something that's shaky now, we put WD2 at risk 14:40:34 sandro: I undserstand it is a lot of work. 14:40:40 jos: i don't 14:41:25 chrisw: it is not about that change, but on whether int terms of a more severe change on the framework, it is useful to change the bnf now, which will change anyway later on for the framework. 14:41:59 michaelk: let's wait for the framework to change the bnf adhoc now. 14:42:01 Through our Uniterms we can have practically important features such as higher-order syntactic sugar at no extra cost. 14:42:06 Examples: 14:42:07 product[R,S](X,Z) :- R(X,Y), S(Y,Z). 14:42:24 s/to change/instead of changing/ 14:43:01 The above is the product of two relations R and S. 14:43:21 sandro: framework is not critical path and a new XML syntax will take at least a day in f2f to get it through 14:43:31 The relation is a term used as a predicate name. 14:43:35 ... puts wd2 at risk. 14:44:00 josb: there is a clear distinction between atomic and functions in FLD document. 14:44:15 -DaveReynolds 14:44:18 Ciao DaveReynolds 14:44:22 ... it is very unlikely that we need to reverse anything if we do this change now. 14:44:58 harold explaining what he just pasted in the IRC. 14:45:35 Jos: product(R,S) is a Predicate Name, not a Function Name. The distinction remains. 14:46:02 and this restricted form of high order logic and also in many meta programming approaches the clear distinction between atomic formulas and functions breaks 14:46:04 bye Dave 14:46:09 s/[R,S]/(R,S)/ 14:46:30 a typical example: deafeasible logic 14:46:40 josb/MichaelK discussion how to specialize BNFs. 14:46:52 Axel: would be easy with an abstract model instead :-) 14:48:20 JosB: I can do the BNF change. 14:48:35 Harold: No, we could do it, but we need to think about it. 14:49:07 In the example product(R,S) is a complex Predicate Name, consisting of a function name, product, applied to to R and S. 14:49:16 disconnecting the lone participant, ??P0, in Team_(rif)13:25Z 14:49:19 Team_(rif)13:25Z has ended 14:49:20 Attendees were DaveReynolds 14:49:23 MichaelK: I don't want to do it for the WD because there is no rush. Proposals should be made explicit and discused for the next draft. 14:49:49 Josb: will make a proposal for the BNF for telecon in a week and a half. 14:51:05 Sandro: I am going assume we'll do the uniterm split, and have XTAN not have to follow the grammar. If I hear otherwise, I sure hope it's soon, or XTAN is at risk. 14:51:16 ACTION: jdebruij2 to create a new BNF for FLD and BLD (distinguishing atoms and preds) by Monday 3rd of March 14:51:16 Created ACTION-438 - Create a new BNF for FLD and BLD (distinguishing atoms and preds) by Monday 3rd of March [on Jos de Bruijn - due 2008-02-29]. 14:52:38 Such a COMPLEX Predicate Name is not allowed in FOL, where Predicate Names must be simple (PCDATA-like) strings. 14:54:13 Topic: coffee break! 14:54:25 continue at 16:15 15:07:54 josb_ has joined #rif 15:14:36 Topic: TestCases 15:15:02 http://www.w3.org/2007/OWL/wiki/TC4 15:15:10 JeffP_ has joined #rif 15:15:36 scribnick: AdrianP 15:15:46 scribenick: AdrianP 15:16:00 scribe: Adrian Paschke 15:16:01 Topic: RIF Test Cases 15:17:23 http://www.w3.org/2005/rules/wg/wiki/Arch/Test_Cases 15:18:19 Sandro: shows test case on the WIKI 15:18:26 http://www.w3.org/2007/OWL/wiki/TC4a 15:21:37 Sandro: There are some tools on the WIKI to describe/document test cases 15:22:15 Jeff: We would need test cases to test our implementations 15:22:28 Jeff: This is a general requirement for implementers of RIF 15:23:15 josb_ has joined #rif 15:23:48 Harold: There are some test cases in the appendix of BLD specification 15:24:40 AxelPolleres has joined #rif 15:24:46 http://www.jdrew.org/rif/wd2/RIFPosCondExample.rif 15:24:50 Harold: follow the link to the online directory 15:25:04 Harold: Only for testing the syntax 15:25:06 http://www.jdrew.org/rif/wd2/RIFPosHornExample.rif 15:25:16 csma2 has joined #rif 15:25:25 http://www.jdrew.org/rif/wd2/RIFSlotCondExample.rif 15:26:38 The above are 3 test cases for XSD validation (with XSV), linked to from http://www.jdrew.org/rif/wd2, linked to from http://www.w3.org/2005/rules/wiki/BLD#Appendix:_Specification 15:26:46 A use case applying test-driven development to safeguard rule interchange which I had proposed when we started RIF 15:26:48 http://www.w3.org/2005/rules/wg/wiki/Rule_Interchange_Through_Test-Driven_Verification_and_Validation 15:27:23 Garry: I want to test the RIF implementation 15:28:04 Garry: Want to use a test case to test the received RIF rule sets 15:28:35 Garry: Maybe you want to evaluate different RIF implementation with test cases 15:28:47 Christian: I don't understand this 15:29:07 Garry: I want to know which RIF compatible engines pass the most tests 15:29:18 Christian: I see the point 15:29:56 Christian: I had different use cases for test cases in mind 15:30:39 Chris: Implementers will advertise the passed RIF compliance tests 15:30:53 Christian: This is out of scope for us 15:31:29 Garry: e.g. if we use the condition language as query language 15:32:09 Chris: this still assumes that there will be implementers which use and really implement RIF allowing answers and queries 15:32:34 Chris: implement query response RIF systems 15:32:54 Garry: It would be nice to have query facility 15:33:09 Garry: most engines have a query feature 15:33:52 Jeff: In the test case you might have a set of rules, and with the condition language you can have some queries 15:34:08 Jeff: and we need to provide the output as well 15:34:25 Chris: this is not our job to provide an API 15:34:40 Garry: I would like to get some output 15:34:45 Gary, we could do this a la http://esw.w3.org/topic/SparqlEndpointDescription 15:35:13 Harold: All what we need to do would be a something like a SPARQL endpoint 15:35:25 Sandro: Why not integrate RIF into SPARQL? 15:35:52 Axel: you can not query predicates 15:36:25 what about that? 15:36:25 Jeff: We are writting some kind of parser 15:36:26 SELECT ?X 15:36:26 FROM ruleset 15:36:26 WHERE { RIF_CONDITION_WITH_FREE variable ?X } 15:36:43 and SPARQL-result format as output-format? 15:36:51 Harold; Hassan has implemented 2 years ago 15:37:03 (We could also use Rule Responder: http://responder.ruleml.org) 15:37:31 RuleResponder is like a SPARQL endpoint for arbitraryrule inference services 15:38:02 Axel: We can use the SPARQL query syntax to ask queries and send back answers 15:38:28 Sandro: Where clause presentation syntax? 15:38:39 Axel: presentation syntax 15:39:16 Axel: I don't want to reinvent a new query syntax 15:39:35 Axel: If we propose something why not close to SPARQL 15:40:11 Garry: like in Prolog 15:40:26 Garry: use a head less rule 15:40:47 Sandro: We don't standardize the API 15:41:10 Sandro: If you want to write an engine you can do that, but we don't standardize that 15:41:16 Sandro: folks can do presentation syntax and this query syntax in a WG note. 15:42:25 Garry: right now without a standard we can not safely write queries and get responses, e.g. to apply test cases 15:42:47 Michael: conditions can be used as queries 15:43:03 Michael: rules without queries are useless 15:44:48 Christian: What does it take for us to use the OWL template for test cases 15:44:54 Sandro: Copy it and start using it 15:46:37 Adrian: The current test cases are syntactical test cases 15:46:51 Christian: Test cases for entailment testing 15:47:44 Sandro: Look at the OWL example test case 15:48:26 Harold: We have different kind of results 15:48:33 Premise: p(a->1 b->2) 15:48:35 Conclusion 15:48:45 Conclusion: p(b->2 a->1) 15:49:25 We would need a query 15:49:32 Take a look at this use case: 15:49:33 A use case applying test-driven development to safeguard rule interchange which I had proposed when we started RIF 15:49:49 http://www.w3.org/2005/rules/wg/wiki/Rule_Interchange_Through_Test-Driven_Verification_and_Validation 15:50:13 Christian: You ask your rule engine if the test is true 15:50:22 Christian: this is out of scope 15:50:32 Christian: of our working group 15:52:16 Action; AdrianPaschke: add some test cases to the WIKI page 15:52:17 action: jeffp to post test cases for RIF 15:52:17 Sorry, couldn't find user - jeffp 15:52:43 action: jpan2 to post test cases fir RIF 15:52:43 Created ACTION-439 - Post test cases fir RIF [on Jeff Pan - due 2008-02-29]. 15:52:55 action: AdrianPaschke add some test cases to the WIKI page 15:52:55 Sorry, couldn't find user - AdrianPaschke 15:53:21 There are five Examples in http://www.w3.org/2005/rules/wiki/BLD#XML_Serialization_for_the_Interchange_of_RIF-BLD and three Test Cases in http://www.jdrew.org/rif/wd2. 15:53:28 action: adrian paschke add some test cases to the WIKI page 15:53:28 Sorry, amibiguous username (more than one match) - adrian 15:53:28 Try using a different identifier, such as family name or username (eg. agiurca, apaschke) 15:53:52 action: apaschke add some test cases to the WIKI page about test cases 15:53:52 Created ACTION-440 - Add some test cases to the WIKI page about test cases [on Adrian Paschke - due 2008-02-29]. 15:54:21 Chris: topic "Metadata" 15:56:42 Jos: explains extensions of the syntax for Rulesets 15:57:52 Jos: controversial where Directives 15:59:33 Chris: the valid directives are fixed and need to be implemented by a compliant engine 15:59:53 Christian: We would need to add a lot of elements 16:00:05 Christian: because we can not forsee all use cases 16:00:22 csma: Normally I would support the idea that the directive would be part of the syntax, since it cannot be ignored. But if they can be included in lots of places in the syntax, then it's better to have it as meta syntax. 16:01:43 Christian: you want to use different fact bases 16:02:19 Christian: either we can refer to external dataset from anywhere or it is a meta information at any level 16:03:03 Axel: you want to have contextual rules 16:03:55 Christian: I want ?X to bind to DB1 and ?Y to bind to DB2 16:04:42 Christian: If directives are at the meta level, they are allowed everywhere 16:04:59 Christian: or we can say import is a built-in used - 16:07:25 Chris: The issue is do we need this directive construct 16:08:00 Jos: second controversal thing is MetadataStatement 16:08:24 I see there are two issues, basically repflecting rule/dataset and named rule/dataset imports in christian's proposal. 16:08:39 ... this is similar to FROM and FROM NAMED in SAPRQL. 16:09:14 in this context we should also consider constructive views used for scoping 16:09:58 Jos: with the metadatastatement you can something about the predicates you are using 16:10:01 We need something like modules (in rulesystems like e.g. FLORA typically referred to by '@' after (atomic) formula. 16:10:24 and in SPARQL you get something similar with the GRAPH keyword... 16:10:41 Christian: Why is this not metadata 16:10:52 Sandro: because it is a triple 16:11:16 Chris: all metadata is binary 16:11:35 Chris: a statement about rulesets or rules 16:12:07 Chris: where the ruleset or rule would be the subject 16:13:09 Axel: why not specifiy medata statements in an external RDF document 16:13:47 Axel: MetadataStatement can be defined outside of a RIF document and refered 16:14:43 Harold: you could link to the external document from the place where the property/predicate is used 16:14:50 Harold: you would centralize it 16:16:33 Axel: MetadataStatement duplicates RDF 16:16:51 Christian: MetadataStatement is meta data and should not be used 16:17:37 Christian: If we put that into RIF it means you need to implement RDF 16:18:40 Garry: I'm fine with metadata, but directives are interpreted differntly by different engines 16:18:55 Sandro: How about having rif:Document can have rif:Ruleset and rif:AuxiaryRuleset, which are linked by URI (xml:id) 16:18:57 Garry: that needs to be clearly thought off 16:19:09 Sandro: (one man's metadata is another man's data.) 16:19:30 Garry: needs to be clearly specified (maybe even as part of the semantics) 16:20:14 Zakim has left #rif 16:21:00 the mapping looks very familiar to me... look RDF <-> XML mapping in http://www.w3.org/2005/rules/wg/wiki/AbstractModel?highlight=%28abstract%29 16:22:23 If we write RIF in RDF, we can indeed put metadata anywhere! :-) 16:22:36 Christian: RIF also needs to provide a way to specifiy metadata 16:22:45 something like html's rel=meta 16:23:12 Chris: It would be strange to seperate metadata from the rules in two documents 16:24:52 Sandro: need an import for bind to external data 16:25:11 Sandro: ... but we can do that later. 16:26:15 Michael: better to have metadata in our RIF language 16:26:38 Jos: don't want to give a semantics to metadata 16:26:49 Michael: they could be facts 16:27:02 Michael: mayb a different namespace 16:27:18 Michael: we only need to come up with a convention 16:27:28 Harold: we wanted a scope notion 16:28:09 Chris: I would object to have the metadata in the domain 16:28:19 Michael: then you can not process it 16:28:29 Sandro: have a flag on import 16:31:10 would the IRI default to the base IRI? Can we define something like a base IRI? 16:31:56 Chris: objections to IRIs? 16:32:34 Axel: Can we have a base IRI 16:33:53 action: hboley add IRIs to presentation syntax 16:33:53 Created ACTION-441 - Add IRIs to presentation syntax [on Harold Boley - due 2008-02-29]. 16:34:37 Seeing Jos XML example, I confirm the claim that we need a way to define the BASE IRI in the XML syntax. 16:35:18 As we do need to be able to define prefixes and base iris in the presentation syntax. 16:38:35 Jos: metadata can be only defined within a Rule tag 16:38:48 Harold: the other way would be to use Forall 16:39:36 BTW, what if I give 2 rules the same IRI (and different metadata?) 16:39:45 ... weird. 16:41:04 Garry: what about a set of facts. I don't want to wrap them all in rule tags 16:41:51 Jos: you have to wrap them in a rule to allow metadata 16:44:34 JeffP_ has joined #rif 16:46:33 Axel, maybe there is a solution for your issue: global IRIs for Ruleset local IRIs (#-QNames) for rules etc. 16:46:35 Christian: leave directives and MetadataStatements out of the next working draft 16:47:35 Action: Harold2 Make proposal for adding metadata into BLD syntax. 16:47:35 Sorry, couldn't find user - Harold2 16:47:41 You mean IDs? 16:47:47 Action: Harold4 Make proposal for adding metadata into BLD syntax. 16:47:47 Sorry, couldn't find user - Harold4 16:47:49 (document unique) 16:47:49 Chris: topic "publication plan" 16:47:57 Action: Harold Make proposal for adding metadata into BLD syntax. 16:47:57 Created ACTION-442 - Make proposal for adding metadata into BLD syntax. [on Harold Boley - due 2008-02-29]. 16:48:24 Chris: review actions wrt publication 16:56:17 publication date is March 21st 16:57:33 March 21st publication date for BLD 16:57:56 FLD-BLD freeze date is March 11th 16:58:13 FLD-BLD review by March 18th -> decision at telecon 16:59:37 FLD-BLD publication date is XXX 16:59:46 SWC freeze March 14th 17:00:08 SWC reviews by March 18th 17:00:24 SWC publication date is March 21st 17:00:40 s/XXX/March 21st/ 17:01:08 DTB (Data Types and Builtins) freeze March 11th 17:01:34 DTB reviews by March 25th 17:07:19 UCR freeze March 14th 17:07:40 s/14/11/ 17:09:28 UCR reviews by 18th 17:09:43 UCR publication is March 21st 17:11:22 PRD next internal draft March 7th 17:11:50 PRD telecon to be set up the week after 17:12:46 csma: PRD decisions in my mind: 17:13:00 ... next draft will built on Core syntax, by reference 17:13:07 ... no aggregated, no binding pattersn 17:13:16 .... semantics rewritten based on states and transitions. 17:13:50 ... actions limitted to ASSERT and RETRACT. 17:15:24 ... will not include agenda/priorites in this draft --- but they will be in FPWD. 17:16:22 RRSAgent, pointer? 17:16:22 See http://www.w3.org/2008/02/22-rif-irc#T17-16-22 17:22:11 RRSAgent, make minutes 17:22:11 I have made the request to generate http://www.w3.org/2008/02/22-rif-minutes.html csma2 17:37:25 csma2 has left #rif 18:11:39 josb_ has joined #rif 22:52:59 sandro has joined #rif 23:11:22 JeffP_ has joined #rif