13:54:23 RRSAgent has joined #rdfa 13:54:23 logging to http://www.w3.org/2010/05/06-rdfa-irc 13:54:27 trackbot, setup meeting 13:54:27 Sorry, manu, I don't understand 'trackbot, setup meeting'. Please refer to http://www.w3.org/2005/06/tracker/irc for help 13:54:30 hmm 13:54:37 trackbot, bye 13:54:37 trackbot has left #rdfa 13:54:42 trackbot has joined #rdfa 13:54:45 dongmei has joined #rdfa 13:54:53 trackbot, setup meeting 13:54:53 Sorry, manu, I don't understand 'trackbot, setup meeting'. Please refer to http://www.w3.org/2005/06/tracker/irc for help 13:55:13 trackbot, associate this channel with rdfa 13:55:13 Associating this channel with rdfa... 13:55:13 Sorry... I don't know anything about this channel 13:55:13 If you want to associate this channel with an existing Tracker, please say 'trackbot, associate this channel with #channel' (where #channel is the name of default channel for the group) 13:55:20 trackbot, associate this channel with #rdfa 13:55:20 Associating this channel with #rdfa... 13:55:25 Knud has joined #rdfa 13:55:26 trackbot, setup meeting 13:55:26 Sorry, manu, I don't understand 'trackbot, setup meeting'. Please refer to http://www.w3.org/2005/06/tracker/irc for help 13:55:32 trackbot, init 13:55:45 trackbot, status 13:55:51 trackbot, prepare telcon 13:55:53 RRSAgent, make logs world 13:55:55 Zakim, this will be 7332 13:55:55 ok, trackbot; I see SW_RDFa()10:00AM scheduled to start in 5 minutes 13:55:56 Meeting: RDFa Working Group Teleconference 13:55:56 Date: 06 May 2010 13:56:41 :-) 13:57:07 Agenda: http://lists.w3.org/Archives/Public/public-rdfa-wg/2010May/0038.html 13:57:12 Chair: Manu 13:57:34 Present: Ivan, Knud, MarkB, Toby, Benjamin, Shane, Manu 13:58:25 SW_RDFa()10:00AM has now started 13:58:41 zakim, code? 13:58:41 the conference code is 7332 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), manu 13:58:44 +[MIT528] 13:58:55 +Toby 13:59:02 zakim, dial ivan-voip 13:59:02 ok, ivan; the call is being made 13:59:03 +Ivan 13:59:06 +??P1 13:59:07 zakim, who's making noise? 13:59:08 zakim, I am ??P1 13:59:08 +manu; got it 13:59:18 tinkster1, listening for 10 seconds I heard sound from the following: ??P1 (5%) 13:59:20 zakim, who is noisy? 13:59:32 zakim, mute p1. 13:59:32 sorry, tinkster1, I do not know which phone connection belongs to p1 13:59:36 ivan, listening for 14 seconds I could not identify any sounds 13:59:40 hmm... 13:59:42 pfew 13:59:46 I thought I was P1? 13:59:52 zakim, I am ?P1 13:59:52 sorry, manu, I do not see a party named '?P1' 13:59:59 zakim, I am ??P1 13:59:59 sorry, manu, I do not see a party named '??P1' 14:00:05 zakim, who is here? 14:00:05 On the phone I see [MIT528] (muted), Toby, Ivan, manu 14:00:06 On IRC I see Knud, dongmei, trackbot, RRSAgent, Zakim, Benjamin, manu, tinkster1, markbirbeck, ivan, tinkster 14:00:12 +Benjamin 14:00:23 zakim, who is on the call? 14:00:23 On the phone I see [MIT528] (muted), Toby, Ivan, manu, Benjamin 14:00:24 mit528 is me 14:00:43 i have muted 14:01:01 does it not work? 14:01:07 +Knud 14:01:29 ShaneM has joined #rdfa 14:01:34 zakim, code? 14:01:34 the conference code is 7332 (tel:+1.617.761.6200 tel:+33.4.89.06.34.99 tel:+44.117.370.6152), markbirbeck 14:02:07 +ShaneM 14:02:15 +markbirbeck 14:06:12 i can scribe 14:06:28 np 14:07:49 Scribenick: tinkster 14:08:16 http://code.google.com/p/backplanejs/wiki/RdfaDomApi 14:10:43 Manu: we'll be going through Mark's proposals - high level first, then the details. 14:11:25 Mark: apologies to Benjamin and Manu, who have put a lot of work into this, while I've not had time to put my ideas down concretely. 14:12:50 ... Some of the things in my proposal are stuff we could have done with current API quite easily - e.g. using factories for creating objects. 14:14:27 ... Creating a Store and a Parser and parsing data into the Store is perhaps a little longwinded, but helps us understand the architecture, and makes the API extensible for other parsers to be added in. 14:14:57 ... Experience from XForms is that it's good to make the 'under the hood' stuff explicit. 14:16:37 ... There's a risk that if you make things pluggable, they become too broad, but it opens up flexibility. Would be nice to plug in HTML5 web storage as a store, say, or plug in a Microformats parser. 14:18:37 q+ to comment this 14:18:57 ack benjamin 14:18:57 Benjamin, you wanted to comment this 14:18:57 Manu: This architecture can be thought of as a two-level API. Most developers will probably just use the high-level stuff, but if they need to do anything complicated, they can drop down to the lower level. 14:19:59 Benjamin: mutliple stores and multiple parsers is something that I think should be looked at as part of the RDF Triple Stores API, not the RDFa DOM API. 14:20:11 q+ 14:20:53 ack ivan 14:21:03 manu: It seems like we're integrating these two ideas. Maybe we can't do a good job on the RDFa DOM API without thinking about a Triple Store API. 14:22:03 ivan: Let's not let the charter stop us from doing a good job on the API. 14:23:11 ... there seem to be two ways of getting at the data - finding a resource and then getting the triples for it; and a stripped down SPARQL-like query interface. 14:23:52 + 14:23:55 q+ 14:24:18 Benjamin: the close relation between DOM nodes and triples is an RDFa-specific thing, so tied to the RDFa API, not a general triple store API. 14:24:34 ack markbirbeck 14:27:27 I agree with Mark that it is a common data store technique. 14:27:29 q+ to say we should be too pure about this 14:27:34 markbirbeck: this can be thought of as a triple store which allows per-triple metadata - the metadata could be a pointer to a DOM node in the case of RDFa, or some other bit of info for other triples. 14:28:19 q+ 14:28:22 ack manu 14:28:22 manu, you wanted to say we should be too pure about this 14:29:59 markbirbeck: the idea of attaching metadata to triples is very powerful; we need to talk about it, but perhaps not right now. 14:30:04 ack markbirbeck 14:30:31 s/markbirbeck/manu/ 14:31:18 manu: we need to have a gentler introduction - can we at least agree on that? 14:31:34 ivan: no, we need to make it as tough as possible! 14:32:26 manu: we need to keep up with facebook, etc stuff that's going on. perhaps use those vocabs in examples. we can mostly agree on that. 14:33:17 manu: i don't think we all agree on the need for a low-level and high-level API. 14:33:48 Benjamin: the lowest level should be an RDFa level - there's a DOM with some RDFa attributes scattered about. 14:34:07 Storing, querying and projecting should be the higher level. 14:35:16 q+ to discuss extraction vs. storage 14:35:29 ivan: we're looking at this from different perspectives - from an implementer vs user point of view. even in what benjamin is talking about, clearly a store and parser is needed on some kind. 14:36:03 ack manu 14:36:03 manu, you wanted to discuss extraction vs. storage 14:37:38 manu: benjamin's API looks mostly at extraction, not storage. Mark's approach is storage-oriented, in an effort to help compatibility between implementations. 14:38:41 markbirbeck: if you look at how HTML5 is evolving, a large part of the motivation is to nail down *exactly* how user-agents behave. 14:39:04 q+ 14:39:07 ... at the very least, if we're not as specific, then we'll get a lot of flack. 14:40:12 ack ivan 14:41:06 q+ to discuss implementation of current RDFa DOM API 14:41:12 ivan: I'm not a browser programmer, but if I look at the current RDFa API document, that document, plus the RDFa Core spec seems to be clear enough. 14:42:09 ... I can see there would be some issues about what data is available while the DOM is still loading, but I don't see why that justifies needing pluggable stores, etc. 14:43:14 manu: I've been looking at how to implement this in Firefox using the fuzz plugin based on librdfa. It looked like my implementation would have to be half C++, half Javascript. 14:43:32 ... My concept of a data store seemed pretty different to Mark's. 14:44:19 ... Tying in triples to user data such as DOM node pointers make some things very easy; which would be difficult and probably buggy otherwise. 14:45:06 ivan: if I *only* want to implement support for RDFa, are all these layers still really needed? 14:46:31 markbirbeck: putting aside stores and parsers for a while, we're left with two kinds of methods: getElementsByType sort of stuff; and the more complex query-like stuff. 14:47:31 ... speaking as someone who's done a lot of Javascript, and is very interested in semweb technology, even I can't imagine using that query and triple stuff. 14:47:45 q+ to discuss triple-based API. 14:48:03 q- 14:48:13 q+ to discuss how knowing direction affects design. 14:48:15 q+ 14:48:21 ack manu 14:48:21 manu, you wanted to discuss how knowing direction affects design. 14:48:31 ... So how do we express queries to find out stuff like who foaf:knows whom without SPARQL-like complexity. getElementsByType is not enough. 14:50:14 q+ 14:50:15 ack benjamin 14:50:18 manu: we need to give people an idea of the direction we're going. A lot of programmers and going to be asking for things like "get me the list of things that are people on the page, I want to do something with them". 14:50:46 q+ 14:51:27 Benjamin: I agree that we need to provide flexible query interfaces - the filter functions are designed to solve that; I don't see what more is needed. 14:51:28 q+ to discuss Triple-based API 14:51:33 ack markbirbeck 14:51:41 ... RDFa is RDF-based and we shouldn't ignore RDF's data model. 14:51:59 I agree with Benjamin that it is really important that the RDF data model still be available and related to the triples in the store. 14:53:36 markbirbeck: the RDF data model is intentionally very abstract. why would you want to reflect that in a more constrained environment? what programmers want is objects or dictionary-like items. 14:54:30 q+ to quickly respond 14:54:35 ... RDF is a means to an end, not an end in itself. 14:55:10 ack ivan 14:56:22 q+ 14:56:55 ack manu 14:56:55 manu, you wanted to discuss Triple-based API 14:57:17 ivan: I am lost. I don't see any major philosophical differences here. The current API is more or less a close equivalent to what's used everywhere already. 14:57:47 manu: We do need a triple-based API, and also projections. 14:58:01 ack benjamin 14:58:03 Benjamin, you wanted to quickly respond 14:58:42 ack markbirbeck 14:58:54 Benjamin: the RdfObject interface in the current document seems to do this already. 14:59:59 markbirbeck: RdfObject is benjamin and manu's interpretation of what I was talking about a while ago, but it doesn't go as far as I wanted to go. 15:00:05 +1 to dealing with strings by default, typing if you want to be more specific. 15:00:42 ... The need an API where programmers don't need to fuss about what's a resource and what's a plain literal. 15:00:43 q+ to discuss type conversion 15:01:12 q- 15:01:22 q+ to end the call (formally), but continue (informally) 15:02:10 ... what we want is an API that people will want to use so much that they go and add RDFa to their pages. 15:02:27 got to go 15:03:06 -Toby 15:03:07 (I have to leave, so bye!) 15:03:08 q+ to discuss type conversion - philisophical differences aren't as big as they may seem. 15:03:21 scribenick: manu 15:03:53 Ivan: I'm confused about the argument - you're saying we shouldn't type... but then we need to use DOM Nodes? 15:04:04 -Knud 15:04:07 Ivan: If I'm an RDFa author, I need to know about differences in IRI. 15:04:11 ack manu 15:04:34 manu, you wanted to end the call (formally), but continue (informally) and to discuss type conversion - philisophical differences aren't as big as they may seem. 15:06:06 Manu: I don't think there are as large philosophical differences as people think. 15:06:21 Ivan: Yes 15:06:29 Benjamin: (something that sounded like sure) 15:06:37 yes :) 15:06:41 Mark: Sure, so perhaps we can get into implementation details now. 15:07:05 Mark: To talk about typing, people are going to need to instantiate IRIs, and PlainLiterals, etc. 15:07:17 Ivan: Wait, where does it create a problem on the API level? 15:07:46 Mark: I'm concerned that people have to create Types before people do a query. 15:08:30 Mark: Why not just check both? Is it a literal? Is it a resource? 15:08:39 Manu: I agree that we don't need to type everything. 15:10:00 Manu: Why not allow strings as input, but proper datatyped objects back to the developer? 15:10:13 Mark: Yes, sounds good - not saying let's forget about IRIs, PlainLiterals, etc. 15:11:44 Manu: So, has your ideas about this changed a bit? 15:11:49 Manu: Benjamin? 15:12:12 http://www.w3.org/2010/02/rdfa/sources/rdfa-dom-api/#rdf-triple-list 15:12:53 Benjamin: Yes, we have some concepts that are similar - RDFTripleList and Store are similar. 15:13:30 Manu: Let's spec out a Store, then... 15:13:40 Benjamin: Important to have iterators... 15:15:02 Manu: Yes, we need to have mechanisms for low-memory environments. 15:15:23 Mark: Just because you have a store doesn't mean you need to actually store everything in it. 15:17:00 Manu: Well, what I'm concerned about is spec'ing what happens when the DOM changes. 15:17:19 Mark: DOM3 XPATH has the concept of snapshots... we could use something from that. 15:18:01 Manu: So, we should have some iterator based mechanism in the DOM API. 15:18:40 Manu: What about pluggable parsers? Do we want to support that? 15:18:58 Mark: At a high level, we can say "parse the document" without specifying what happens underneath. 15:19:19 Mark: At the very least, the store has .add() method with (subject, predicate, object) - it's RDF compliant. 15:19:47 Mark: A parser does whatever it does, but you bind the parser to a store... as long as it can get to the .add() method, it can do whatever it likes - parse Microformats, Microdata, RDFa, whatever. 15:20:18 Mark: Benjamin said we don't have to talk about Microformats... but if we support this, we do that automatically. 15:20:28 Mark: So, we can allow different parsers to connect to the store. 15:20:48 Mark: I'm imagining that a lot of these low-level functions would still be there on the Store and the Parser API. 15:21:04 Benjamin: I like the idea of exposing the .add() function. 15:21:13 Benjamin: I think we should specify it only for RDFa... 15:21:46 Benjamin: We can say, this is the hook where you plug in your parser into our API. People might be clever enough to think about other languages. 15:22:02 Benjamin: I don't think there is any need to talk about that... 15:22:28 Ivan: I think there is a packaging issue here - I think there are two documents here... 15:23:15 Ivan: I think even in the technical document, it makes sense to separate beginning concepts from advanced concepts. 15:24:04 Ivan: We could talk about Microformats/Microdata in the beginning section... but we might not need to talk about that because beginning people might not care. 15:24:09 Mark: There are three levels of users... 15:24:19 Mark: Two Javascript layers, and one layer of RDF. 15:24:29 got to go, bye- 15:24:31 An example of use of add(): 15:24:33 -[MIT528] 15:24:37 / Create a Google Maps geocoder object 15:24:37 var geocoder = new google.maps.Geocoder(); 15:24:37 / Set up a function to geocode an address and add the lat/long to a store 15:24:37 function geocode( store, subj, address ) { 15:24:38 geocoder.geocode( { 'address': address }, function(results, status) { 15:24:38 if (status == google.maps.GeocoderStatus.OK) { 15:24:40 store.add("default", subj, "http://www.w3.org/2003/01/geo/wgs84_pos#lat", 15:24:42 results[0].geometry.location.lat()); 15:24:44 store.add("default", subj, "http://www.w3.org/2003/01/geo/wgs84_pos#long", 15:24:46 results[0].geometry.location.long()); 15:24:48 } 15:24:50 }); 15:24:52 return; 15:24:54 } 15:25:31 q+ 15:25:32 Mark: This allows people like Google to distribute Javascript libraries that add information to the Stores. 15:26:01 Mark: This'll be people like Facebook/Google/Yahoo that'll integrate this stuff in their libraries, to push data into the triplestore. 15:26:04 ack benjamin 15:26:47 Benjamin: I like this use case - working with this use case everyday. I think we should focus on the DOM. 15:29:09 Manu: What if we store it in a different graph? 15:29:37 Mark: Well, that's what I'm getting at - stores are a collection of named graphs - "default" in the example above is a named graph. 15:30:03 Mark: If I go off to twitter and get tweets from a number of people, I want to get the tweets and put them in a triple store. 15:30:20 Mark: The store is the basic library to be used for data when building web-based applications. 15:30:39 Ivan: I think we are talking about two different things here - that's the issue. 15:30:53 Ivan: Mark, you're talking about a general, generic RDF API for Javascript users - that's fine. 15:31:07 Ivan: Benjamin, what you're talking about is strictly what is needed for the RDFa DOM API. 15:31:33 Ivan: It comes back to the level of differentiation we had in the charter. 15:32:32 Ivan: Maybe this comes back to what Manu said in the beginning - this RDFa API needs to take into account the entire environment. 15:33:14 q+ to talk about what does/doesn't go in the RDFa DOM API document. 15:33:46 Mark: I'm saying that we need some of these interfaces... at the top level, I don't see how we can do this with the current API. 15:36:21 q+ 15:36:52 ack manu 15:36:54 manu, you wanted to talk about what does/doesn't go in the RDFa DOM API document. 15:37:08 Manu: This seems to be a discussion about what to talk about in the API - we can just talk about RDFa in the RDFa DOM API 15:37:19 q+ 15:37:32 Manu: but it is important to think bigger - think about the environment. 15:37:51 Mark: What I was hearing from Benjamin was that we shouldn't support these things - not allow the modification of the triple store. 15:38:04 Mark: Where did this triple come from? Is it in the default graph? 15:38:18 Mark: Do we strive for making this type of functionality possible, and then solve the problems as they come up? 15:38:38 Mark: Or, do we say - our goal is simply to give people access to triples in an RDFa page. 15:38:42 Mark: I think we need to resolve that. 15:39:00 ack markbirbeck 15:39:03 ack benjamin 15:39:13 Benjamin: I would recommend to make both, but in separate documents. 15:39:45 Benjamin: I think your approach is good, but it's not part of the RDFa DOM API - let's publish what you're talking about as the RDF Triplestore API and publish them both. 15:40:21 Manu: if that's where consensus is, then I'm fine with it. 15:40:53 q+ 15:40:54 Mark: I think it would be a shame to do that... but I could live with it. 15:40:57 ack ivan 15:41:10 Ivan: If we separate these two things, it gives us more freedom. 15:41:28 Ivan: If we look at what I can an RDF API, then we can/should add features that RDF power-users would use as well. 15:42:39 q+ 15:43:19 Manu: Let's keep this all in the same document for now... split it later if needed. 15:43:45 Ivan: I think there are things that are good to separate - by separating the RDF API into a separate document, we can ask the SemWeb community about it. 15:44:42 zakim, drop me 15:44:42 Ivan is being disconnected 15:44:44 -Ivan 15:44:51 zakim, dial ivan-voip 15:44:51 ok, ivan; the call is being made 15:44:53 +Ivan 15:45:36 Ican: So, by separating the document into something that is clearly RDF specific, there are a number of communities that we need to discuss this with - TimBL will want to give input on this. 15:45:44 s/Ican/Ivan/ 15:46:00 Ivan: The RDF Storage API isn't even Javascript specific... 15:46:50 Manu: So, we go forward with all of this in the same document and split it into two documents in the future. 15:49:06 Manu: So it sounds like we have a general direction that we agree with... 15:52:52 q+ to talk about documentation integration 15:53:57 Manu: How are we going to do the merge? 15:54:09 zakim, ack me 15:54:09 ShaneM, you wanted to talk about documentation integration 15:54:11 I see ivan on the speaker queue 15:54:15 ack ivan 15:56:24 do you envision a separate short name? should this be on the W3C server somewhere? 15:57:27 q+ 15:59:24 I am out of cycles for today. sorry! 15:59:48 -ShaneM 15:59:52 guys, I have to go 16:00:03 zakim, drop me 16:00:05 Ivan is being disconnected 16:00:07 -Ivan 16:00:23 ShaneM has left #rdfa 16:06:57 Manu: Ok, so sounds like we'll do the following: Mark will translate his document to ReSpec and let us know when each section is done. 16:07:48 Manu: Benjamin and I will merge the completed sections to the current RDFa DOM API document 16:08:12 Manu: for sections that we don't agree on, we'll have to discuss on the W3C telecons. 16:08:32 Manu: Sound good? 16:08:54 Manu: (notes no disagreements) 17:21:42 trackbot, bye 17:21:42 trackbot has left #rdfa 17:21:49 manu has left #rdfa