09:15:13 RRSAgent has joined #csvw 09:15:13 logging to http://www.w3.org/2015/02/12-csvw-irc 09:15:36 Meeting: F2F meeting, 1st day, 2015-02-12 09:17:24 Present: Jürgen, Davide, Dan, Jeremy, Jeni, Gregg, Ivan 09:17:36 scribenick: danbri 09:18:11 jumbrich has joined #csvw 09:18:21 introductions 09:19:41 jenit: orientation … 09:21:29 reviewing charter 09:21:29 http://www.w3.org/2013/05/lcsv-charter.html 09:21:49 DavideCeolin has joined #csvw 09:22:03 discussion of xml mapping 09:22:16 JeniT has joined #csvw 09:22:21 proposal: XML mapping will not be undertaken by this WG (for lack of interest) 09:22:25 +1 09:22:28 +1 09:22:30 +1 09:22:31 +1 09:22:32 +1 09:22:36 +1 09:22:36 jtandy has joined #csvw 09:22:44 +1 09:23:03 phila has joined #csvw 09:23:03 resolved: XML mapping will not be undertaken by this WG (for lack of interest) 09:23:10 phila, are you in the building? 09:23:33 yes. waiting in recrption 09:23:46 ed can come get you 09:24:19 jenit: use cases + requirements may need some rounding out to publish as a Note (tidy issues etc) but is basically there 09:24:26 (reviewing deliverables) 09:24:33 Metadata vocab for CSV data ... 09:24:48 gregg: do these docs all need some review w.r.t. what we've done 09:24:55 http://www.w3.org/2013/05/lcsv-charter.html#deliverables 09:25:06 jtandy: some issue work, … 09:25:21 … we have implicit u/standing in issue list but may be hard for outsiders to follow 09:27:11 1. turn requirements into much more structured text. 2. review both requirements and the usecases against what we have actually done. 3. need to close out the 9 issues that are in the doc, 3 of which need discussion in this meeting. 09:27:27 … 09:27:34 open vs closed validation 09:27:45 closed is "these are the only cols in csv, error if others" 09:27:53 open is "unexpected columns allowed" 09:28:02 jtandy: we discussed phantom/virtual columns 09:28:07 currently you need same number of cols 09:28:20 jtandy: also foreign keys only working in batch of files -> is on agenda 09:28:29 discussing Metadata doc for CSV. 09:28:56 is its own doc. whereas, 09:29:05 Access methods for CSV metadata is a portion of larger doc 09:29:22 Mapping mechanisms: for conversions into RDF and into JSON 09:29:27 this meets our 4 deliverables 09:29:44 jenit: our milestones … we are behind 09:30:13 ivan: (re process) formally speaking this milestone doc is outdated because W3C process has changed. Last Call and Candidate Rec are simplified as 1 step. 09:30:13 phila_ has joined #csvw 09:30:29 .. we need to count on 6 weeks for AC vote 09:30:43 so there needs to be 6 weeks before rec 09:31:02 phila_ has changed the topic to: Agenda: https://www.w3.org/2013/csvw/wiki/F2F_Agenda_2015-02 09:31:04 the last step (lcc and pr) distance between two depends on us, i.e. where we are w.r.t. implementations. No formal rule. 09:31:21 JeniT: last call CR is supposed to be … all known issues closed resolved, ready for impl 09:31:33 LCCR we need two implementations (according to whatever we define) 09:31:49 independent impl for each "feature", although we need to be clear what we think a feature is 09:31:57 conversions, metadata finding / merging, … 09:32:09 … then validation 09:32:17 gregg: we also define a viewer 09:32:29 ivan: is it in the charter? 09:32:37 jenit: it is defined non-normatively 09:32:46 ivan: I would propose that we do not talk about viewers as a normative thing 09:32:50 brings on extra load 09:33:04 gregg: raises the question of talking about text direction as it only pertains to viewing 09:33:42 discussion of whether text direction is normative 09:34:13 jtandy: somebody who will use this output data, may use the metadata to provide additional info ... 09:34:15 ivan: minor issue 09:34:24 lets not talk about viewers in terms of normative, ... 09:34:49 gregg: in terms of impl, ivan's and mine, … transformation implementations, … with a small amount of validation but not point where we can pass tests 09:35:11 ivan: regarding formalities, … 09:35:22 … once doc is in PR it is owned by w3c team and not wg any more 09:35:28 our charter ends at end of august 09:35:39 if by end aug we are at PR we can finish and publish without any formal problem 09:36:00 jenit: hard hard deadline is end aug PR then? 09:36:03 ivan: ideally yes 09:36:33 … even with mood of much more stringent oversight, if we have a LC CR available end of [northern-hemispheric] Spring early Summer 09:36:36 … early June, ... 09:36:43 then getting a 6 months cr, ... 09:36:53 …should be ok. Otherwise it could be a problem. 09:37:08 Phil: this group is going so fast and well that would not be a problem 09:37:40 jenit: hard hard deadline, early june for lccr as our next big milestone 09:37:50 jenit: I'd like us to get there sooner 09:38:19 danbri: attendance is an issue 09:38:34 jenit: discussing things I wanted to cover w.r.t. charter review 09:38:53 ivan: my feeling for realistic planning, is a new series of drafts for entire rec track set, mid-end march. 09:39:10 … and then, all issues this solves, it would clarify things for impl 09:39:31 if that goes well and there are no major issues, we can publish an LC CR mid may, end may, … effectively June. 09:39:46 jenit: also let's discuss w.r.t. charter, the aspect of parsing CSV files 09:40:00 that is explicitly not in formal scope 09:40:08 gregg: although we do define some dialect 09:40:13 ivan: non normatively 09:40:22 jenit: this is an area of difficulty 09:40:34 since anyone actively implementing needs an actual parser 09:40:51 so not having the definition normative actually leads to a situation with inconsistencies between implementations 09:41:06 from that p.o.v. it is a bad thing 09:41:18 … w.r.t. scoping and reduced workload it is good not to take on extra work 09:41:30 ivan: seems we have lost Yakov since he changed jobs 09:41:47 gkellogg has joined #csvw 09:41:55 … the w3c management discussion was that "we do not standardize CSV" 09:42:10 … pref is for IETF to handle that layer 09:42:20 the discussion w/ Yakov was that it could be handled there 09:42:36 ivan: I have no idea what if anything is happening there 09:42:54 gregg: we should probably look at our dialect defs then 09:43:02 parameterized aspects, separators, quotes etc 09:43:07 q? 09:43:14 Zakim has joined #csvw 09:43:22 zakim, this is CSVW 09:43:23 sorry, danbri, I do not see a conference named 'CSVW' in progress or scheduled at this time 09:43:38 jenit: most CSV files on the Web are not in fact CSV files per the IETF spec 09:43:45 which is the motivation for the dialect description 09:44:02 which is about parsing a text file into a tabular data model, rather than a proper CSV into... 09:44:23 jenit: let's look at this when we talk more about parsing 09:44:47 jumbrich: we sent around report end of 2014, examined 80k CSV files, 20% had some errors via slightly modified Python lib 09:44:54 q+ to ask about test suites 09:44:57 also the delimiter was in 80% a comma 09:45:16 we found tab in 3.8% of the docs 09:45:23 jenit: how did you choose the docs? 09:45:37 jumbrich: via ckan repo 09:45:53 jenit: you may have missed some defined as TSV then 09:46:00 ivan: having data is a good thing to have 09:46:16 gregg: do we consider tsv a dialect of csv? 09:46:25 [yes, ish] 09:46:42 jenit: the wording of the docs i've worked on tries to use 'tabular data' 09:46:48 from the charter: "The mission of the CSV on the Web Working Group, part of the Data Activity, is to provide technologies whereby data dependent applications on the Web can provide higher interoperability when working with datasets using the CSV (Comma-Separated Values) or similar formats." 09:46:55 ivan: a minor thing, … in our docs for metadata, we rely on the suffix being .csv 09:46:58 jenit: no we don't 09:47:12 gregg: no, filename .json 09:47:20 ivan: withdrawn, you're right. 09:47:35 phila: charter mentions CSV explicitly in the charter, we use CSV as a generalization of tabular data 09:47:36 q? 09:47:39 ack phila 09:47:39 phila, you wanted to ask about test suites 09:47:39 ack me 09:48:01 phila: Use case doc has lots of data, is it going to be turned into a test suite? 09:48:07 jtandy: it is avail for use in tests 09:48:21 … we should talk about usecases -> specs -> test suite to have consistent examples throughout 09:48:33 gregg: i have been adapting the examples as i maintain tests 09:48:43 … my intention w/ examples was to go back into docs 09:48:52 completely agree that our usecases should ... 09:49:05 ivan: let's be careful, the use cases themselves as test cases, … are unusable 09:49:07 jtandy: +1 09:49:28 ivan: each use case should have a repr in test cases but perhaps indirectly 09:49:40 ... 09:49:45 gregg: staggering combinatorics 09:50:02 you test the smallest things, … different places in diff merged files, … 09:50:19 jenit: the model that i would suggest is that we continue to focus not on the parsing 09:50:29 we have dialect as a set of hints, … 09:50:32 … but not formal 09:50:50 gregg: in my testing, … might want a class of tests, merged metadata in output 09:51:05 ivan: we need something that says "of these scattered files these are the final aggregated metadata items" 09:51:09 jenit: yes 09:51:28 … re test suite input docs, informed by use cases but CSV files that do not require any dialect description in order to process them 09:51:41 jtandy: test should say "this test inspired by UC-xyz" 09:51:51 …. palo alto tree data. also govt salary thing. 09:51:59 these came right through from UCs 09:52:02 others less direct 09:52:31 ivan: unfortunately, some entries in the dialect that we can treat as you said jtandy, … e.g. separator 09:52:43 but others like no. of rows / cols, that you will want to ignore, that affect our processing 09:52:49 jenit: or _might_ affect 09:52:55 ivan: but there are some that might 09:52:59 those have to be tested 09:53:19 gregg: we could divide the dialect info into parts that might affect parsing 09:53:28 [...] 09:53:36 gregg: do we want to test some TSVs? 09:53:39 jenit: no 09:53:43 gregg: can we have a resolution 09:54:12 proposed: we will only use CSV files in our test suite (not TSV, not anything that needs dialect description) 09:54:22 jtandy: tests will be inspired by the use cases, but skipping rows, dialects etc., we'll normalize into clearer CSV 09:55:00 +1 09:55:07 +1 09:55:14 +1 09:55:19 +1 09:55:51 +1 09:56:09 CSV = IETF CSV with UTF-8 & LF or CRLF for line endings 09:56:51 gregg: things we're not processing: encoding, line terminator, quote char, double quote, deliminator, trim … 09:57:03 jenit: assume no trim 09:57:10 resolved: we will only use CSV files in our test suite (not TSV, not anything that needs dialect description) 09:57:14 +1 09:57:16 +1 09:57:22 RESOLVED: we will only use CSV files in our test suite (not TSV, not anything that needs dialect description) 09:57:37 ivan: returning to q, … do we know what is happening with IETF 09:58:02 danbri: I assume nothing 09:58:26 jenit: we know of nobody having picked it up after Yakov's work 09:58:33 people from this group could get involved 09:58:57 ivan: since it was mentioned in charter we will need to be ready to explain this situation. 09:59:40 jtandy: re charter, … the piece that we have gone for "simple mapping": that we discussed templated mapping, … haven't seen anything active on this 09:59:54 danbri: I circulated a draft charter ~nov but it got v little discussion, i think ok to wait 10:00:02 jtandy: when we publish we should refer to CG charter 10:00:24 … e.g. point from the conversion doc to CG [if it exists] 10:00:34 ivan: at this point there is no CG just a mail from dan 10:00:51 jtandy: we talk in the specs about template formats 10:01:10 q+ 10:01:17 gregg: something somewhere about tempalting? 10:01:19 ivan: shouldn't be 10:01:49 we had some discussion of what the input to templates might be 10:02:02 in simple mapping itself it should be silent on any complex mappings 10:02:16 gregg: if we say something normative it would seem that we need a test 10:02:18 q- 10:02:23 q+ to suggest citing an issue not a mail 10:02:50 jenit: we have extension conversions item for tomorrow 10:03:36 jenit: 3 things before 10:30. 1) gregg talk about test suite 2) go through agenda incl. ivan's notes 3.) that's it. 10:03:59 Agenda: https://www.w3.org/2013/csvw/wiki/F2F_Agenda_2015-02 10:04:27 q? 10:08:11 gkellogg: RDF tests use graph isomorphism, JSON use deep equality 10:08:33 … tests use the output that my implementation gives as the target output 10:09:42 … I set any optional outputs (like provenance) as false, as that’s where it’s likely there will be implementation differences 10:10:12 q- 10:10:56 … the metadata components of the tests are implicitly referenced but should be located by the implementation based on the location of the CSV file 10:11:46 … there’s also an option to provide user-defined metadata, and to fake the creation of the Link header 10:12:24 https://github.com/w3c/csvw/tree/gh-pages/tests 10:12:49 not to be confused with https://github.com/gkellogg/csvw-test 10:12:54 … which is a test runner 10:13:19 ivan: I’d love separate folders for each test 10:14:15 discussion of file names vs folders 10:14:34 gregg: this happens to be the test runner running off of my distiller dir 10:14:41 … which is v reminiscent of the RDFa tests 10:15:00 … probably has to start up, can run a test, pass/fail, check details to see what the input files were, what the result was 10:15:20 … you can run whole set and get EARL output 10:15:34 jenit: if you are someone making a new impl, what process to integrate with this? 10:15:45 gregg: for me I integrate with my impl's own testing 10:15:55 i download the manifest and iterate through the downloaded tests 10:16:11 jenit: and if you are doing an impl, … that is based on say .js, that doesn't have any RDF processing, ... 10:16:22 gregg: in my processing I turn it into a json-ld manifest and then run over the json 10:16:27 we could easily maintain a json version 10:16:34 jenit: can we do that please, easier … 10:16:44 ivan: this or other one, relies on some sort of web service to run the conversion 10:16:52 gregg: which is why i run it off my site 10:16:57 ivan: i use a jquery extension 10:17:03 it will save time for some but not for all 10:17:14 … my stuff tries to do a jquery extnsion 10:17:23 read in csv file, … display as turtle, 10:17:31 gregg: people have used node.js to do that 10:17:44 ivan: then i'll need to compare jquery promises w/ node promises, … difficult 10:18:06 jenit: msg then is that, if you are implementing, … you'll need to handle these manifests/tests somehow 10:18:25 gregg: I am happy to make sure we have a json-ld representation of the manifests 10:19:03 danbri: woudl generated json-ld be acceptable to non-rdf wonks? 10:19:23 gregg: [shows pretty looking json] 10:19:29 jenit: Validation tests 10:19:33 gregg: nothing so far 10:19:51 … there is a vocabulary definition … 10:19:55 …does include diff types of test 10:20:10 a positive eval syntax, and a csv to rdf, csv to sparql, csv to json, … metadata to rdf, … 10:20:20 gregg: I can add more test types for validation and its variations 10:20:27 q? 10:20:41 ivan: so the program that you used in past to generate a formal report from the EARL should just work 10:20:43 gregg: yes 10:20:51 ivan: this was used in earlier groups to generate reports 10:20:59 … question now is how many impl we will have 10:21:08 ivan: for time being we have one 10:21:14 … which the test results are based on 10:21:29 gregg: I asked AndyS, but no response yet 10:21:38 jumbrich: how much effort? 10:21:59 ivan: only part which is relatively complex is managing/merging the metadata, maybe extracting all the info for each cell that the metadata really gives you 10:22:15 once that mechanism is in place, generating rdf e.g. via rdflib, or json, … is relatively easy 10:22:24 finding/extracting metadata per cell is hardest part 10:22:49 jumbrich: i don't understand that aspect, i thought we start with a metadata file 10:23:02 ivan/jenit: that's the naive view, the spec is more complex see discussion later 10:23:10 jumbrich: we have a uni project around this, ... 10:23:24 ivan: I didn't attempt python but if uni team want to do python i am happy to help 10:23:35 … rdflib is a v solid basis 10:23:55 gregg: and ruby is pretty similar; my impl is unencumbered 10:24:04 jumbrich: we used java before 10:24:21 ivan: ideally you would use python since if andys does it he'll use java 10:25:50 jenit: after the break we'll look at parsing csv + tab data 10:26:09 after lunch we'll have 1.5h on metadata discovery and merge, … then a break 10:28:56 reviewing https://www.w3.org/2013/csvw/wiki/F2F_Agenda_2015-02 10:29:44 q+ lunch logistics 10:29:51 q- 10:29:52 q- 10:29:56 q- lunch logistics 10:31:53 gregg: let's get resolutions in github, and editor actions, being clear what the action is 10:32:10 ivan: at end of 2 days we'll have a list of issues assigned to editorial work 10:32:24 ivan: we turned into github issue freaks after tpac 10:32:26 :) 10:32:48 jenit: what we have here through this agenda are all the issues marked as needing discussion 10:32:56 … still open but not at resolved or editor-action level 10:33:00 aiming to get get through all of those 10:33:14 … comment in github needs to be clear on what the editor action is 10:33:54 BREAK, back at 10.45. 10:42:29 jumbrich has joined #csvw 10:43:31 gkellogg has joined #csvw 10:47:00 gregg: consider branchs, pull requests etc., … 10:47:09 jenit: we could quickly now go through those 10:47:56 jtandy: i have queued up a bunch of things to do on the rdf conv doc 10:48:07 looking at pull #187 10:48:23 gregg "conseq of using about predicate url etc" 10:49:43 #187 not currently mergeable 10:50:57 - topic Tabular Data Model 10:51:09 jenit: need to merge in #192 … joins core and annotated data models 10:51:18 everyone happy? [nodding yes] 10:51:25 ivan: good simplifying impact 10:51:52 jenit: so had two kinds of level, annotated tabular data model, … and grouped, which says "there is a group of tables" 10:51:58 … and then that group may also have some annotations 10:52:20 … so the most useful is the annotated table 10:52:55 jenit: this is really simple, exactly what you'd expect from a tabular data model. You have a table with rows in it, cells in it, cols in it. Rows and cols have numbers. Cells belong to a particular row/column. 10:53:20 …. the bit that goes anywhere near controversial is distinction between string value of cell and value value of cell 10:53:28 … which is the parsed and processed datatyped value 10:53:37 for eg. if string value is empty string, cell value is null 10:53:49 various bits from the metadata can affect the cell value 10:54:08 value value can be an array 10:54:29 gregg: an rdf issue, a list or multiple values 10:54:34 jenit: that is the data model. 10:54:55 all of these can be annotated. Idea is that all the ops that are described 10:55:05 (annotations live in the metadata) 10:55:24 gregg: except we don't yet provide mechanisms to annotate all these things e.g. cells 10:55:31 jenit: well you can inherit into them 10:55:42 ivan: when you talk about annotation, this is not the annotations of the annotation wg 10:55:47 jenit: corret 10:55:49 ^c 10:56:13 … annotations, properties, attributes, … all mean essentially the same. Something will always get confused. 10:56:55 ivan: probably worth adding a note here that the term annotation as used in this doc is not exactly same as used in the Annotation WG 10:57:13 acti*on on someone? 10:58:37 (admin: we're capturing all actions into github not w3c tracker) 10:58:47 jenit: this data model is basis for conversions 10:58:55 …everything in the metadata doc should talk about how it affects that model 10:59:07 gregg: there was an issue w/ cell values, reconciled in one of these pull requests 10:59:46 jenit: the bit then to discuss now is around parsing the CSV or other files INTO that model 10:59:56 we take the model as being the central thing through which everything passes 11:00:02 CSV TSV HTML tables etc etc 11:00:27 ...things like CSV but with extras e.g. HXL (see usecase) 11:00:42 https://data.hdx.rwlabs.org/dataset/hxl-validation-schemas 11:01:04 http://www.w3.org/TR/csvw-ucr/#UC-CollatingHumanitarianResponseInformation 11:01:23 https://github.com/w3c/csvw/issues/9 11:01:24 going through the issues… 11:02:54 from #9 -> http://w3c.github.io/csvw/use-cases-and-requirements/#UC-PublicationOfNationalStatistics 11:03:17 jenit: propose close #9, we handle being able to id places within csv files, and have other issues for notes/annotations on cells 11:03:26 "Locating data region(s) within a CSV file #9" 11:03:39 jtandy: presupposes we do not have 2 tables within one csv file 11:03:51 jtandy: we should be clear that we do not allow multiple tables within a single file 11:04:10 gregg: we distinguish CSV vs model created from it 11:04:28 if it was the more abstract sense, someone might create something that extracted tables, put them into a processable form 11:04:39 jenit: I think the metadata doc does make that distinction in most places except dialect descriptions 11:04:50 (except we have url ref back to src file) 11:04:59 ivan: we separate rfc blahblah as a diff issue? 11:05:22 jenit: not relevant unless we support referencing areas of a csv file in a diff way, e.g. to say 'this bit is the tabular data', … 11:05:32 ivan: RFC came up at TPAC for handling of Web Annotations 11:05:35 that's where it'll fit 11:05:37 ok 11:05:56 jtandy: the other thing this issue was about, … e.g. in usecase there were multiple header rows 11:06:05 now we have parsing suggestions that can hint about skipping 11:06:12 PROPOSAL: close #9 as handled by dialect description 11:06:15 +1 11:06:31 jtandy has joined #csvw 11:06:44 DavideCeolin has joined #csvw 11:06:52 logger, pointer? 11:06:59 rrsagent, pointer? 11:06:59 See http://www.w3.org/2015/02/12-csvw-irc#T11-06-59 11:08:39 https://github.com/w3c/csvw/issues/52 11:08:44 "Should we check integrity of CSV files in some way #52" 11:09:01 jenit: in data packaging spec which our work is based, … words around integrity checking 11:09:08 also subresource integrity checking 11:09:20 e.g. refs to scripts, you can provide an integrity url 11:09:38 see http://www.w3.org/TR/SRI/#use-cases-examples 11:09:43 jenit: we could do something like that 11:09:50 … I suggest we don't for now 11:10:07 ivan: that work is fairly early still 11:10:18 jenit: this can be explored later 11:11:02 rrsagent, pointer? 11:11:02 See http://www.w3.org/2015/02/12-csvw-irc#T11-11-02 11:12:04 Resolved: to not handle integrity. Editor action to remove the issue reference from the document. 11:12:21 https://github.com/w3c/csvw/issues/182 11:12:25 "Fall-back value of the `name` property? #182" 11:12:59 also similar, 11:12:59 https://github.com/w3c/csvw/issues/53 11:13:04 "Should there be limitations on the syntax of column names? #53" 11:13:13 taking #53 first, ... 11:13:33 jenit: these names get used in syntactic contexts that are restricted e.g. in json etc 11:13:42 "What syntactic limitations should there be on column names to make them most useful when used as the basis of conversion into other formats, bearing in mind that different target languages such as JSON, RDF and XML have different syntactic limitations and common naming conventions." 11:14:23 ivan: there are two things, … one is that we do say a name has to abide to restriction of templates. we have to. 11:14:39 … also we say if no name, but a title, then a name must be created from title so needs some normalization 11:15:40 gkellogg has joined #csvw 11:15:40 jenit: re #53, I proposed change from SHOULD to MUST re syntax constraints 11:15:48 you'd get an error if col had wrong names 11:15:57 jenit: metadata files themselves should always be validated 11:16:22 … checking the metadata is important 11:16:27 gregg: it's useful … but complex 11:16:41 ivan: I think we said these things are separable. The conversion doc starts with metadata that is correct, … 11:17:00 ivan: I use the name, rely on getting it from the metadata, … 11:17:23 jenit: it is correct for the conv doc to rely on the tabular data model, … but metadata doc has to be parsed and processed 11:17:34 gregg: e.g. must foreign keys be consistent? 11:17:51 you can still generate reasonable json and rdf even if keys are wrong 11:18:02 jenit: then we need this as an explicit choice and resolution 11:18:21 … if metadata isn't right, do we ignore those properties, provide an error/warning, etc? or error out completely 11:18:40 gregg: in my previous rdf processors, i've always tried to generate data when i can, ... 11:18:49 ivan: In this case, what we do is not only for conversion, … 11:19:01 … the metadata once it is there can be used for all kinds of other things 11:19:06 … in this sense they are separable 11:19:22 … i am in more favour of saying 'if it is not kosher then it is in error' 11:19:54 jenit: what you're suggesting there is that if the impl is a convertor, it should ignore unknown properties in the metadata, whereas if it is a validator it should report error 11:20:10 ivan: validators certainly should cry foul and not try to find a reasonable default 11:20:33 rrsagent, pointer? 11:20:33 See http://www.w3.org/2015/02/12-csvw-irc#T11-20-33 11:20:48 ivan: validator is a v diff thing 11:20:57 gregg: validating metadata vs validating csv files 11:21:16 … purpose of validator is checking data integ not syntactic correctness 11:21:50 ivan: [missed point] 11:21:57 gregg: processor can impl a relaxed mode 11:26:19 (discussing #53, see comments in github) 11:26:25 and #180 11:26:51 … #180 closed as done. 11:27:26 RESOLVED: #53 " to change 'SHOULD' to 'MUST' re column name syntax restrictions. See https://github.com/w3c/csvw/issues/197. Other things are in progress." 11:27:50 https://github.com/w3c/csvw/issues/182 "Fall-back value of the `name` property? #182" 11:28:07 jtandy: a great optimization, well done 11:28:23 jenit: if metadata doc supplies a title and not a name, should it come from title ? 11:28:33 jenit: it isn't valid for name to be missing from metadata doc 11:28:53 ivan: see discussion of 2 days ago; the validity is not on one of the constituent metadata docs but on the merged metadata. 11:28:58 that's why i wrote down the whole process 11:29:02 incl some default actions 11:29:10 at end of which you get to the final metadata 11:29:15 that's the one that has to be valid 11:29:31 it can be ok if it is missing from specific files so long as there is a process that somehow assigns the name 11:29:46 we might say that for names we don't have that 11:29:53 reason why i think this is best 11:30:00 we have case where we only have 1st row 11:30:05 gives us a bunch of titles 11:30:28 the freq one, e.g. california trees, where we have titles with spaces in 11:30:36 jtandy: and it will end up percent encoded 11:30:55 … when people see that they'll go create a metadata record! 11:31:08 jenit: this comes into the bits around metadata merge, … maybe put off discussion until then 11:31:31 in the metadata files that people actually write, vs ones autogen'd from a csv file, i think we'll want to say that there is always a name for a column. 11:31:41 ivan: no. 11:31:56 … the metadata files by themselves are not complete metadata, … that is conseq of merge 11:32:43 ivan: what this thing describes, is what the metadata should look like, not what each src file should have 11:33:10 jenit: what counts for an author is what they put in the metadata doc 11:33:22 ivan: if they decide to write 2 or 3, which we allow by virtue of the merge, ... 11:33:31 gregg: they could have 1 file with schema in table group and table, … 11:33:37 ivan: don't make it even more complex :) 11:33:50 jumbrich: i could write a file, header, col name, ... 11:33:54 … title is for labelling a col 11:34:09 … if i write a meta file i might be too lazy to copy it over 11:34:25 ivan: i was talking about a more general issue with the merge 11:34:31 jenit: ok 11:34:47 ivan: as long as a title id a single string, no problem. but them we have lang issue 11:34:53 #182 11:35:12 jumbrich: there may be computed/inferred processes during metadata merge 11:35:13 ivan: yes 11:35:17 … also lang is nasty. 11:35:32 gregg: probably worth looking back at desc of name in metadata doc, it does go through, ... 11:35:37 3.9.1 11:35:55 http://w3c.github.io/csvw/metadata/#columns 11:36:05 ivan: that answers my issue 11:37:17 jenit: where does it talk about normalizing title into name? 11:37:30 (looking in 3.9.1) 11:37:47 editorial: missing mention of normalizing 11:38:12 somewhere around "The http://w3c.github.io/csvw/metadata/#dfn-property-value of name is that defined within metadata, if it exists. Otherwise, it is the first value from the http://w3c.github.io/csvw/metadata/#dfn-property-value of title…" 11:38:23 rrsagent, pointer? 11:38:23 See http://www.w3.org/2015/02/12-csvw-irc#T11-38-23 11:39:01 closed #11 by jtandy earlier 11:39:09 https://github.com/w3c/csvw/issues/11 11:39:33 closed #182 -> fixed in current wording (at Feb F2F). http://w3c.github.io/csvw/metadata/#columns 11:39:46 "How to determine language encoding #11" 11:39:55 "http://w3c.github.io/csvw/use-cases-and-requirements/index.html#UC-SupportingRightToLeftDirectionality 11:39:56 From internationalization perspective how is the proper language encoding is determined?" 11:40:10 https://github.com/w3c/csvw/issues/193 11:40:14 -> https://github.com/w3c/csvw/issues/193 11:40:26 ivan: describes what processor has to do to get the final metadata 11:40:35 complication has fact that the metadata includes the dialect 11:40:39 which is necc for the parsing 11:40:47 therefore you locate what metadata files you can 11:40:55 link header, file, global metadata, user metadata, … 11:40:58 make a parse, ... 11:41:10 then start it all over again, since metadata can be extracted from the file itself 11:41:18 conceptually re-run whole thing 11:42:20 ivan: what whole merge process does, is that various elements of the metadata can be piecewise defined, pulled together for final info 11:42:24 i think we need that 11:42:30 let's say we keep that 11:42:41 this also means in theory, that you can have the dialect info described piecewise 11:42:52 one part says this is the separator, another say this is the line ending 11:43:09 what if the dialect is considered conceptually as an atomic property 11:43:31 e.g. what if i have to extact those metadata files, i take the first dialect encountered, then i do the parse and have a clear process 11:44:02 jtandy: are you saying: you cascade through with your UMs DMs etc as you defined, … until you find a dialect .But if you get to the end, then default is last one in chain 11:44:10 … then you say 'ok i can now parse my csv file' 11:44:22 jenit: makes complete sense to me 11:44:45 gregg: many people when they do a dialect description they'll say they only changed separator 11:44:52 jeni/jtandy: having default values 11:44:58 not a 'merge' 11:45:06 jenit: makes complete sense, in practical terms 11:45:26 ivan: i like that you like it, … but then this raises heretical q to me, … do we really need this merge? 11:45:40 … isn't the same philosophy needed for the loads of other cases where a merge is challenging 11:45:44 e.g. titles from 3 diff places? 11:45:56 jenit: let's discuss this in later session 11:46:16 ivan: see my comment in #193 11:46:36 ("just a food for thought for the F2F, …") 11:46:44 (too big to quote without being kicked off irc) 11:46:54 ivan comment: "As we said, the complication comes from the fact that the merging procedure must be performed twice: once partially to retrieve, essentially, the dialect, and then with all parties involved for the final processing." 11:47:00 "The current model allows a "distributed" specification of the dialect." 11:47:06 "The separator character is defined in one, whereas the number of skipped rows in another. Is it really necessary to do that?" 11:47:11 ... 11:47:33 jumbrich: normally you have a csv file, it has only one dialect, … you can't really go wrong 11:47:42 if you find a conflicting dialect, … 11:47:46 q+ to ask about csv groups 11:48:09 jumbrich: we looked at first 100 lines in our investigation 11:48:19 q+ to ask about specifying the relationship between tablegroups and tables 11:48:36 ivan: problem is you have metadata file … and other places, … can dialect be composed across sources 11:48:45 ack danbri 11:48:45 danbri, you wanted to ask about csv groups 11:49:02 jumbrich has joined #csvw 11:49:53 ack jtandy 11:49:53 jtandy, you wanted to ask about specifying the relationship between tablegroups and tables 11:50:08 jtandy: similar discussion around table groups to tables w.r.t. where you can put a schema 11:50:12 e.g. i went through the salary one 11:50:25 it might be better to put table desc only in one place [...] 11:50:34 jenit: on agenda for tomorrow 11:50:41 jtandy: can we do dialects then too? 11:50:46 ivan: that is the missing bit in my schema 11:50:54 s/schema/scheme/ 11:51:06 gregg: can also see it as good to avoid repeating yourself 11:51:20 rrsagent, pointer? 11:51:20 See http://www.w3.org/2015/02/12-csvw-irc#T11-51-20 11:51:39 ivan:I am happy to rewrite whole process of getting to this metadata 11:51:49 w.r.t. dialect, it might make things simpler 11:52:27 davide: is there a specific … [missed] 11:52:44 jenit: would still be in an order of prference. User defined overides linked ones, which overide those in dir, etc. 11:53:01 Resolved: #193 "to make dialect descriptions atomic (not merged from separate metadata files), which should simplify the process. Also needs to include factoring in the role of metadata at the table group level, and the use of the default dialect." 11:53:20 ivan: also metadata doc needs for merge algo to specify that dialect is sort-of atomic 11:53:30 gregg: which is straightforward enough change to merge 11:54:55 [discussion of exceptions] 12:35:27 jumbrich has joined #csvw 12:37:25 gkellogg has joined #csvw 12:37:38 ivan has joined #csvw 12:42:27 jumbrich has joined #csvw 12:45:00 jtandy has joined #csvw 12:45:26 resuming 12:45:37 topic: metadata discovery and merge 12:45:45 jenit: metadata discovery first 12:47:15 (jenit takes to whiteboard) 12:47:53 sources for metadata merge 12:47:56 -user 12:47:58 -options 12:48:21 jenit: first route is that we extract out metadata from the CSV format 12:48:56 … for simple csv it is just col headings but other formats could offer richer supply of metadata 12:49:02 e.g. that human rights format 12:49:11 gregg: e.g. comment lines being skipped 12:49:19 jenit: we don't say anything normative about that 12:49:56 after extraction, … HTTP/S link headers 12:50:13 jenit: when the CSV file is got, it may have a link header on it which says where to find more metadata 12:50:28 then default location for the file metadata, hacking the url, ... 12:50:38 then the one per directory 12:51:05 gregg: we dont' say anything much about query params 12:51:13 jenit: I think we say something [we should check] 12:51:26 jenit: i.e. there are all these different places to define metadata 12:51:34 conceptually also a default set 12:51:44 jtandy: e.g. col1 etc? 12:52:14 (discussion of 'default' not being written) 12:52:31 ivan: e.g. default name is in some sense 12:52:47 jenit: all of these files get merged together to create the master metadata 12:52:53 … and it is this that informs that process 12:53:14 turning the data that is in csv into json/rdf .... 12:54:12 danbri: what if you had e.g. rdfa in html page 12:54:23 jenit: consider it 'embedded' rather than 'user' 12:54:46 see locating-additiona-meta info 12:55:01 https://github.com/w3c/csvw/issues/42 12:55:07 "Locating additional metadata when originally starting from a metadata document #42" 12:55:56 jumbrich: example of a metadata directory 12:56:24 phila: if someone makes 3rd party metadata, … they may have reason to consider the original metadata inaequate 12:56:59 jumbrich: e.g. published externally using foreign keys 12:57:17 jenit: this issue #42 is about starting from the metadata file 12:57:28 … if you have found metadata files on the Web, … 12:57:46 … for somebody processing that, is equiv to having the user defined metadata as the 1st set you have 12:58:05 but what the processors need to do is run through all the resources described in that file, for each go off, headers/links etc 12:58:10 your stuff will override whatever it finds there 12:58:37 ivan: that step is described in process description 12:58:43 discussed pre-lunch 12:59:01 i.e. #193 12:59:09 jumbrich: the ordering is not strict? 12:59:34 ivan: that's what it means 12:59:57 has highest priority 13:00:41 jumbrich has joined #csvw 13:01:04 ivan: it is powerful, you can shoot yourself in the foot 13:01:14 jtandy: 3rd party vs user ... 13:01:51 …. might want to have both 13:01:53 [general nodding] 13:02:14 jenit: rather, let's say that the party running it gets to choose applicable metadata 13:02:52 q+ 13:03:39 phila: maybe focus on user/3rd party and don't worry about the larger merge chain [fair paraphrase?] 13:03:49 ivan: what is the priority of third-party over the others? 13:04:19 gregg: if you're starting with the metadata, … i might have user metadata that i apply first 13:04:34 … then reaches out to each file, … 13:05:11 jeni draws some example commandlines: 13:05:14 convert example.csv 13:05:29 convert example.csv —options my.json 13:05:37 convert example.csv —options http://example.com/metadata.json 13:05:38 gkellogg has joined #csvw 13:06:02 no metadata vs local vs 3rd party, … 13:06:32 convert —options: http://example.com/metadata.json 13:06:47 convert —options: local.json 13:07:24 gregg: consider 1st 3 example commandline 13:07:52 process is - you take the user metadata, ... 13:08:00 jenit: you might have lots of user metadata, not just two, ... 13:08:20 gregg: 0 or 1 … 13:08:31 and an input file, a csv or a json .. 13:09:29 [...] 13:11:01 danbri: if commandline only mentions one table, but discovered metadata talks about other tables, … which ones matter? 13:11:08 q? 13:11:31 ivan: I think conceptually I think we have 1 user metadata, even if it came from 52 other things originally, ... 13:12:05 ivan: for testing, if we start with user/3rd party, we're fine as it can be impl specific 13:12:29 jtandy: see UC 22, making sense of other people's data. 13:13:01 q- 13:14:22 rrsagent, pointer? 13:14:22 See http://www.w3.org/2015/02/12-csvw-irc#T13-14-22 13:15:00 resolved: "conceptually there is only one user-supplied metadata file, which implementations might generate from merging multiple metadata files, some of which may be provided by third parties.https://github.com/w3c/csvw/issues/193 covers what happens there." (see github for editor action) 13:15:14 https://github.com/w3c/csvw/issues/154 Security considerations of modifying path for metadata#154 13:16:32 ivan: I don't see metadata hijacking as a security issue 13:16:48 q+ 13:17:15 ack danbri 13:17:18 http://w3c.github.io/csvw/metadata/#security-considerations 13:20:03 danbri: in a google context, it's likely we would have other routes to compose a working metadata set 13:20:13 ivan: do we need this whole metadata merge? 13:20:28 jenit: it has been discussed at length already, do you want to re-open? 13:20:34 ivan: we know it is horrifyingly complex 13:20:52 … everything related to merge is currently by far the most complex part of spec and of implementations 13:21:01 jenit: ok, re-opening. 13:21:11 jtandy: but you will need to merge somehow 13:21:16 ivan: for embedded metadata, sure 13:21:28 jenit: let's say you have created a fairly complex set of tabular data conventions 13:21:47 e.g. the linked csv stuff i did, e.g. multiple header rows, … eg. with equiv complexity 13:21:57 jtandy: you have one merge, embedded to external 13:22:10 gregg: my original take, … rather than taking all of the metadata files, … you take the first 13:22:24 jtandy: let's see if that leaves us wanting 13:22:34 … if you have user metadata, you wouldn't go any further 13:23:14 jtandy: found user and embedded? 13:23:31 jeni: given that you have those three classes, … do we merge them or not? 13:23:40 if you have user, do you ignore others inluding embedded 13:23:50 jeni: i think you have to merge them, and therefore need a merge algo, … 13:24:07 ivan: i understand that view and you are right, … so we have to swallow merging, … can we do something similar to what we did with the dialect. 13:24:17 i.e. that we are much more restrictive in what and how we merge 13:24:24 we get into horribly complex merging of title 13:24:29 where there can be language tags etc 13:24:38 could they be somehow atomic, like dialect? 13:25:02 closing #154 discussion 13:25:11 …jeni leaves notes in github 13:25:16 rrsagent, pointer? 13:25:16 See http://www.w3.org/2015/02/12-csvw-irc#T13-25-16 13:25:52 #154 closed. 13:26:05 jtandy: example of multi-lingual metadata 13:26:16 complement rather than replacement, with english plus french titles 13:26:33 jumbrich: we defined here a kind of order, … so when we do the metadata parsing, … when do we stop? 13:27:32 jeni: … what ivan was saying about having a more atomic merge algo 13:27:41 … would it be useful to walk through the merge algo that we have? yes 13:27:48 ivan: q is whether we can simplify it 13:28:13 http://w3c.github.io/csvw/metadata/#merging-metadata 13:28:13 jumbrich has joined #csvw 13:28:50 gregg: [missed], … context language in one versus the other 13:28:56 (discussing 'normalise') 13:29:13 jtandy: so for each file, you make all URIs absolute using base, and all langs are stated explicitly based on context 13:29:19 … normalize each file first 13:29:27 jenit: I don't think you can do that with uriTemplate properties 13:29:39 jtandy has joined #csvw 13:29:43 gregg: depends on your interpret of uri templates 13:29:51 else you couldn't have a value that was a pname 13:31:08 ivan: algo in doc is incomplete, or there is more to it... 13:31:10 e.g. array properties 13:31:20 which vary in their merging depending on what the property is 13:32:25 gregg: we could clean up link properties first 13:32:32 e.g. multiple values 13:32:38 only case is DC-something 13:32:55 jenit: what were originally link properties are now Common Properties 13:33:39 jeni: agree that we can say link properties are only single URLs 13:33:46 -> new issue on merge algo 13:33:54 gregg: has result of simplifying merge algo 13:34:03 jtandy: what this says is that you can't have 3 versions listed 13:34:13 jenit: you can do what you like with dc:hasVersion etc 13:34:31 gregg: if you want it fully understood as an url, you'll need to use json-ld @id notation 13:34:35 jtandy: later! 13:35:44 ivan: looking in algo, 2nd 3rd 4th steps are all exactly same, overides 13:35:58 … helpful editorially, if we said these are special cases 13:37:01 (discussion of notes as object property) 13:37:50 ivan: which are the properties for which an atomic behaviour is not ok? 13:38:03 jenit: for cols, array of cols, you want to go into those two lists in your metadata, ... 13:38:20 for the title example that jtandy offered, e.g. extra titles or datatyping info 13:39:02 ivan: can we make it more paletable by saying which has priority? 13:39:23 jumbrich: for cols...? 13:39:27 gregg: col ref is similar 13:39:35 ivan: each col description has to be merged separately 13:40:01 jenit: col refs used for linking between files 13:40:05 as keys 13:40:14 gregg: could say it is always in form of an array 13:41:11 jenit: trying to make it not just simpler but intuitively right 13:41:28 there are actual difficulties that make it complex e.g. i18n, these are simply complicated topics, ... 13:41:34 but maybe there are other things we can address 13:41:57 gregg: object properties currently are tableSchema 13:42:03 can basically refer to a meta file 13:42:07 ivan: do we really need that? 13:42:25 jenit: yes. in the uk we have multiple local authorities that are publishing locations of toilets using the same schema for their csv files 13:42:33 and we want them to be able to reference exactly the same schema file 13:42:55 e.g. local auth 1 publishes theirs, local auth 2 publishes theirs, published by a central auth, … 13:43:14 gregg: put into normalization 13:45:03 https://github.com/w3c/csvw/issues/199 13:45:04 rrsagent, pointer? 13:45:04 See http://www.w3.org/2015/02/12-csvw-irc#T13-45-04 13:45:25 resolved: #199 "During metadata normalisation (prior to merge), object properties that are URLs (rather than objects) get normalised into the objects (JSON files) that they reference." 13:46:22 (discussion of the complexity of language normalization) 13:46:41 jenit: we turn into a normalized form… 13:47:09 ivan: we had a kind of disagreement, diffs in opinion w/ gregg, … for me the natural language property when it is normalized, an array of individual objects conceptually 13:47:14 … an array 13:47:25 … if i view it as an array, merging becomes meaningless 13:47:41 if the string doesn't have a lang tag it will be undefined 13:47:56 jenit: why is it important to remove those undefined langs? 13:48:23 gregg: if you have a title established in a metadata file with a language, … and embedded without, … idea is to eliminate, ... 13:48:30 [aside: did we decide not to use col metadata] 13:48:41 gregg: we wanted to avoid seeing both title(en) and title (no lang) 13:48:51 jenit: I don't think it is worth the extra complexity 13:49:08 gregg: so we can use the regular merge algo 13:50:42 (detailed merge algo discussion which i'm not capturing 100%) 13:51:10 scribe: phila 13:51:34 gkellogg: Moves to the flipchart to give an example 13:52:16 gkellogg: metadata fle with @lang en and a title of 'my title' 13:52:38 ... then we have another file with a title of 'my title' but with no lang 13:53:04 ... result would be a an object called en with array whose value is 'my title' 13:53:14 ... and an array called und with a title of 'my title' 13:53:49 gkellogg: way algo is, if values were arrays they'd be concat'd 13:54:02 scribe: danbri 13:54:25 gkellogg: […] unless they had a name as well ,cols wouldn't match as don't share a title 13:54:48 gkellogg: ivan's thought process about this, is that you don't have an object with lang tags, … 13:55:05 ivan: essentially it is an _array_ of language tag strings. How I represent that internally is besides the point. 13:55:19 gkellogg: spec builds on json-ld, so using language maps for titles 13:55:35 jumbrich has joined #csvw 13:55:55 ivan: there is an editorial action to radically simplify the merge algo 13:56:03 … to look at explicit cases that require special action 13:56:12 … otherwise fall back on atomic behaviour 13:56:18 e.g. one more special array property 13:56:24 that we can put into the normalization 13:56:26 which is the resources 13:56:33 two metadata, one with resources, one without, ... 13:56:41 but every metadata has resources even if it has only 1 element 13:56:56 gkellogg: we can spec that as table meta vs table group meta 13:57:15 ... 13:57:25 ivan: merge of resources, … array property so has a special interpretation 13:57:53 in http://w3c.github.io/csvw/metadata/#merging-metadata 13:58:37 discussion of simplifying templates section 13:58:58 ivan: same q as with dialect, … does it really make sense for merge to go down into constituents? 13:59:07 jenit: alt is arrays are simply appended to each other 13:59:13 … in which case there may be duplication 13:59:34 … such that you might have template in the same language, e.g. js, to create the same format, e.g. ical, … and referencing the same url 13:59:56 ivan: is that a problem? 14:00:07 jtandy: only reason you want a template mech is that you want more control 14:00:19 … if you supply a templ in the user metadata, that is the one that you will want to use 14:00:27 ivan: whereas jeni says she would concat the arrays 14:00:54 jenit: in the case where i am trying to … with some nice client side CSV viewer, … in my browser, … and enable people to export out of the viewer into formats 14:01:12 JSON, RDF, … the standard ones; plus other options e.g. if i can process .js templates, ... 14:01:18 … i'll define all of those extension mappings 14:01:36 e.g. exportable as ical, schemadotorg, whole bunch of others, ... 14:01:40 jtandy: two illustrative things 14:02:03 … template is an array property 14:02:09 RRSAgent, draft minutes 14:02:09 I have made the request to generate http://www.w3.org/2015/02/12-csvw-minutes.html phila 14:02:10 if you come accross an template array property anywhere 14:02:19 you use array from a particular metadata file 14:02:30 jenit: in my example e.g. directory specifies ical, ... 14:02:36 whereas might want e.g. schema 14:02:39 ivan: why would you do that? 14:03:13 jtandy: assuming would base other targets on json output 14:03:25 http://w3c.github.io/csvw/metadata/#merging-metadatakellogg: treat same as resources 14:03:59 When merging templateFormat, use the same prodedure as for resources. 14:04:11 ivan: general idea for merging arrays of elements, de-duping where same url found 14:04:18 jenit: for some of them 14:04:27 3.8 … columns 14:04:33 gkellogg: complicated by arrays 14:04:40 …. you can't ever specify them out of order 14:04:54 jenit: if something goes wrong it gets really messy 14:05:28 … validation is essential, … 14:05:32 what needs to be there. 14:05:38 jenit: you can match them on index 14:05:42 have a … err, … 14:05:48 ivan: eg if titles don't intersect 14:05:56 jenit: maybe, but bit concerned about that 14:06:51 gkellogg: … 14:06:59 …rather than merge if names same or titles intersect 14:07:09 ivan: instead merge if titles intersect 14:07:30 (working an example...) 14:10:38 jtandy: reading this [example] you might want to raise a warning if titles are different, but an error if the names are different 14:11:00 ivan: if names are specified 14:11:14 gkellogg: that's when i used value property 14:11:23 it gets interpolated when you access it 14:11:33 (impl details) 14:12:29 JeniT, will you post your example into relevant github bug? (or gist.github.com maybe) 14:16:14 (discussing name vs title example details, …) 14:17:02 gkellogg: the bits about ordering don't always mean anything in rdf 14:17:11 ivan: the 1st one in the order gives me the generated name 14:21:37 JeniT: summarizing: simplify as much as possible. Summary in github, … new issue: 14:22:24 jumbrich has joined #csvw 14:22:36 https://github.com/w3c/csvw/issues/200 - simplify merge 14:28:48 adjourned until 2.45pm. 14:29:22 ivan has joined #csvw 14:30:02 https://www.flickr.com/photos/danbri/5893173/ 14:30:43 gkellogg has joined #csvw 14:42:17 jumbrich has joined #csvw 14:42:30 gkellogg has joined #csvw 14:43:58 jtandy has joined #csvw 14:45:27 dinner proposal via phila, about http://www.zizzi.co.uk/venue/index/victoria 14:45:42 map, https://www.google.co.uk/maps/dir/123+Buckingham+Palace+Road,+London/Zizzi,+Unit+15,+Cardinal+Place+Shopping+Centre,+Cardinal+Walk,+London+SW1E+5JE,+United+Kingdom/@51.4953152,-0.1463795,17z/data=!3m1!4b1!4m14!4m13!1m5!1m1!1s0x4876051f4d2d1d43:0xf2b4bf4125d47649!2m2!1d-0.1467075!2d51.4930848!1m5!1m1!1s0x487604df6bad1693:0x17917ba97b216254!2m2!1d-0.140847!2d51.497454!3e2?hl=en 14:46:16 It's a chain of pizza places. Reasonable prices and non-pizza options for those who wish 14:47:48 "We're sorry, there's no availability for your selected time, but we do have availability at these times: 5pm" 14:48:19 https://github.com/w3c/csvw/issues/50 Mismatch between CSV files and tables #50 14:48:33 jenit: … row one does not contain headers 14:48:37 it is first row of the data 14:48:47 and col 1 has the annotation attached to it, name or title etc., ... 14:48:57 you do not have header row in the model, rather it is metadata about the cols 14:49:28 whereas in the CSV file, even in the simple straightfwd csv case, 1st row is usually a header row 14:49:33 and numbering goes from there 14:49:41 see 7111 fragid spec 14:50:00 they/we don't make any distinction between header rows and other rows, because you can't really; so 1st line is always 1, etc. 14:50:16 … which gets even more complex w/ bad csv files, where 1st line is some kind of comment 14:50:19 then two header rows 14:50:34 … and all of the data is indented by something etc etc 14:50:42 and actual data is inset 14:51:10 so we then get the issue in which we have a mismatch within the model vs the original data 14:51:33 let's look at the specifics- 14:51:48 https://github.com/w3c/csvw/issues/32 14:52:05 https://www.w3.org/2013/csvw/wiki/F2F_Agenda_2015-02#14:45_-_16:15_File_vs_Model 14:52:13 "Where does row numbering begin? #32" 14:52:26 jenit: row numbering may be out of sync w/ line numbers from original csv 14:52:51 gregg: which makes it pretty much impossible to correlate fragid with metadata about cells 14:53:00 ivan: a shame... 14:53:08 gregg: we could change our model 14:53:18 jtandy: you could get there by getting a dc:source statement or similar 14:53:29 gregg: what's point of a row number ,if it does not relate back to its source 14:53:45 gregg: in which case it could be same as ... 14:53:51 first row we output could be row=2, etc 14:53:57 except that we have defined it differently 14:54:09 jenit: what if we in annotated datamodel had source property in model, … 14:54:15 … not in the conversion before but in actual mode 14:54:18 model 14:54:25 … source is a ref to physical source of that document 14:54:28 optional property 14:54:31 generated by impl on parsing 14:54:43 when it is a csv 14:54:43 q+ 14:55:06 jenit: we have all these properties on rows/cols/cells in table 14:55:10 … name title etc 14:55:25 … we could have source property which has url, link back to place... 14:55:39 ivan: RFC 7111 sense? 14:55:46 jenit: if it is right kind of csv yes 14:55:51 jtandy: rows and also cols? 14:56:24 … would give you provenance internally 14:56:38 ivan: what would an annotation, Web Annotation, use, exactly? 14:56:46 they would use then RFC-7111 into csv file? 14:56:59 https://tools.ietf.org/html/rfc7111 14:57:15 ack danbri 14:57:17 jumbrich has joined #csvw 14:57:28 danbri: if you’re identifying by URL, is your assumption that the CSV file is unchanging 14:58:52 jtandy: are they annotated… 14:58:58 [...] 14:59:23 jenit: if they use 7111 they must use that frag model for csv 14:59:53 ivan: what i am afraid of, is that … is there a need to annotate the data in the annotated data model 15:00:04 q+ to ask what scheme would be used to reference part of the abstract data (e.g. for annotations) 15:01:09 ivan: do we need to have URIs that id a cell row or col in the annotated data? 15:01:14 jenit: that is #24 15:01:57 https://github.com/w3c/csvw/issues/24 "There should be a "Fragment Model" section in the Data Model document #24" 15:02:00 use cases? 15:02:19 jtandy: typically your reification, … people can only annotate what they have in front of them 15:02:39 … you might want to annotate a col by name 15:03:09 ivan: you're beginning to say we need a fragid spec per that issue 15:03:20 jenit: [reviewing rfc7111 on screen] 15:03:34 ivan: another q on similar lines, ... 15:03:40 … we already have the concept of a row number 15:03:46 … we generate that data into the rdf file 15:04:00 … conceptually that is the row number in the data model 15:04:12 jenit: issue is scheduled, #32. 15:04:24 ack jtandy 15:04:24 jtandy, you wanted to ask what scheme would be used to reference part of the abstract data (e.g. for annotations) 15:04:47 jtandy: Given that we were talking about the alternative, the only thing they can do is use the fragids from 7111 on the csv file 15:05:03 … we haven't done anything else w.r.t. abstract data model 15:05:15 … unless we invent a new scheme 15:05:36 jtandy: the way w3c anno wg intend to structure the annotations, … … they'll have some kind of reference, typically a URL 15:05:46 ivan: formally speaking that is rdf, so that is an rdf object 15:05:50 so could be a blank node 15:06:13 jenit: so an option would be that we specify a mechanism, non-normative type of note, ... 15:06:35 … if in abstract data model needs to be a structured thing, url that matches resource url, row being row no. in the model, … col being the col no in the model, ... 15:07:13 gregg: there is no way to know the col as we do not output it 15:07:21 ivan: a diff thing, maybe we do, we will, .... 15:07:37 jtandy: often you will want to annotate a range/block of cells 15:09:04 danbri: could we say it'd be the frag we'd use if we did serialize out the model? 15:09:09 jenit: … without the header row 15:09:32 jtandy: we're talking about frags within … so you have to say the abstract data diff to the file, ... 15:09:38 …but then we refuse to id the abstract data 15:09:54 (urls, urns, etc ) 15:10:00 jenit: alternatives: 15:10:17 … one is to do this in abastract data model, an entitiy with a few properties, maybe it has a uri or not 15:10:45 … other is to do something around source annotation; target would reference the source annotation (tying back in orignal file) 15:10:53 … which would/could/should be valid 7111 15:11:02 jtandy: if we id a primary key id ... 15:11:14 … key changes per rows 15:11:20 and col id'd based on name in metadata 15:11:27 that completely removes reliance on numbers 15:11:38 if you don't have an identifying primary key you can't use anno 15:11:58 gregg: some places i've used id for row as resolved about url of 1st cell ... 15:12:01 … could differ 15:12:11 might be one on row, another on cell, … as they are common properties 15:12:33 jtandy: we could use abouturl on schema 15:12:38 gregg: on table, schema. ... 15:12:43 ivan: or maybe don't have one 15:12:49 jenit: i don't think that this works 15:12:57 ivan: we are getting into additional reqs 15:13:08 you need a primary key, which is not necessarily there 15:13:21 i think jeni's 1st option works, we can even define normatively 15:13:24 … and that's it 15:13:35 which answers Qs 15:13:40 row and col info are in the data model 15:13:48 jenit: i want to argue for the 2nd approach there 15:13:54 ivan: one is not better than the other 15:14:02 up to the annotator to decide where the annotation goes 15:14:16 they might want either 15:14:44 jtandy: if i am going to write some metadata, … talking about a block of cells 15:15:01 the only thing i can do in my editors, is figure out row 128-430, cols 4 5 and 6 15:15:15 … 15:15:22 … my parsing application is nice and clever, 15:15:29 can deref the block of bits i am talking about 15:15:34 e.g. converted into a viz 15:15:41 e.g. view the csv in a nice way 15:15:51 then it knows that the annotation is applied to that group of cells 15:16:12 if you wish to output the anno, the end target, … up to the impl to provide consistency 15:16:20 e.g. in rdf conversion 15:16:24 simple csv file 15:16:26 4 countries listed 15:16:33 andora, afghanistan, angola, albania 15:16:39 if you used bnodes to id each row 15:16:45 the annotation can use those too 15:16:48 for the rows 15:17:16 jtandy: figuring out consistency between output from conv process … leave to impl 15:17:21 ivan: not sure what you're getting at 15:17:30 jtandy: [takes to the whiteboard] 15:17:44 e.g. row 3-4, cols 3-4 15:18:27 when/if we output to rdf, do we want to include annotations? 15:18:32 gregg: in general it is diff 15:18:38 propertyurl template could be diff each row 15:18:47 we don't tag each cell unless use named graphs everywhere 15:19:43 ... 15:19:53 ivan: I don't put annotation on graph, on a group of triples, … but on the data 15:20:01 ivan: the subject should be something like jeni's example 15:20:47 (collective editing of a simple example) 15:24:29 scribe: phila 15:24:33 scribe: danbri 15:25:40 (discussion of generated rdf with bnode IDs, …) 15:25:48 gregg: getting to phd thesis territory 15:26:14 ivan: use cases for this annotation work is mostly interaction / viewers 15:26:23 when i use a viewer i have lost contact w/ orig csv 15:26:27 viewer gives a nicer ui 15:26:35 so i must have a hook into the annotated data 15:27:11 … 15:27:18 davide: why must i numbrer rows? 15:27:22 ivan: other info could be missing 15:28:03 ivan: my proposal: doc should define this ,… one specific area within the annotated data model, if you need it 15:28:19 [...] 15:28:55 jtandy: moving from final to abstract data model, and using 7111 data model is enough 15:29:13 … what we haven't agreed is how to spit that out in terms of json/rdf serialization 15:29:26 suggest re 7111 is enough to allow apps to viz the csv 15:29:43 ivan: so impls should parse the 7111 and transform on the fly 15:29:52 jenit: even keeping it as-is in output is no worse 15:32:03 jtandy: things get worse when you have comment lines stuffed into csv 15:32:18 jenit: back to my earlier suggestion to have a source row, source col, … 15:32:24 [danbri: source sha1 etc?] 15:32:40 … so that when you use an rfc-7111 on the orig csv you can map that with what's needed 15:32:54 ivan: if I am an author of a metadata file 15:33:00 and i annotate into the metadata file 15:33:18 error possibilities, if i use only this i.e. url frag 15:33:23 eg. if i have skip columns 15:33:29 as maybe diff cols 15:33:39 incredibly error prone 15:33:57 jenit: as an author it is much easier for me to know that it is 52 … on the orig 15:34:24 jtandy: someone in the imported metadata could have a skip cols which would screw things up 15:34:36 jtandy: you may have commented out rows 15:34:52 gregg: these are only processed in skipped rows 15:35:02 ivan: forget about everything and just use 7111 full stop 15:35:12 jenit: explicitly have that link back in the annotated data model 15:35:19 which is source row, source col, ... 15:35:42 ivan: fine, but what do i do with it? 15:35:56 jenit: in your impl when you have a Row object, it has a source property as well as a rownumber 15:36:24 … and cols, as well as Col having a number, … . 15:36:32 (debate about whether Ivan needs a column object) 15:37:00 (jtandy takes to whiteboard) 15:37:08 jtandy: my row might say example.csv row=3 15:37:19 as it has a header 15:38:04 ... 15:39:51 … 15:40:02 jenit: we could add in _sourceRow 15:40:18 … dc:source is fine for output and conceptually 15:40:25 but each also has a number and a source number 15:40:56 ivan: we might want both of them in output 15:41:02 gregg: same for cols? 15:42:15 rrsagent, pointer? 15:42:15 See http://www.w3.org/2015/02/12-csvw-irc#T15-42-15 15:45:59 Resolved: #32 "Resolved at Feb F2F: in the annotated data model, rows have both a number (the number in the data model) and a source-number (the original line number from the source CSV file). These may be different._row in URI templates references the row number in the model, and we agree to introduce a_sourcerow (or something) to be used to reference the source number (line from the CSV file)." (model doc + metadata, but not v much re mappings) 15:46:35 https://github.com/w3c/csvw/issues/68 "Simplify the definition of the tabular data model? #68" 15:46:57 Jeni closing this as resolved thru resolutions on #32 and #24. 15:47:08 rrsagent, pointer? 15:47:08 See http://www.w3.org/2015/02/12-csvw-irc#T15-47-08 15:48:18 ivan has joined #csvw 15:49:22 resolved https://github.com/w3c/csvw/issues/24 "we aren't going to specify a fragment model for our abstract data model. However given annotations on source number properties that we are preserving, it is possible for RFC7111 to be used 15:50:06 danbri: what does source row mean for non-IETF-CSV formats e.g. html tables? 15:50:37 ivan: those values are dialect dependent 15:51:02 (reminded of http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 ) 15:52:28 https://github.com/w3c/csvw/issues/9 Locating data region(s) within a CSV file #9 15:52:35 jenit: closing as a meta issue. 15:52:41 ivan: we'll have to answer @edsu. 15:52:49 jeni: that is handled in another issue 15:53:24 rrsagent, pointer? 15:53:24 See http://www.w3.org/2015/02/12-csvw-irc#T15-53-24 15:54:10 jtandy: in a metdata desc in an @type: Table, we have used 'url' property to point to src csv file 15:54:13 if I use @id 15:54:32 i'm identifying the table, e.g. could be used in rdf as subject of table, ... 15:54:44 … it not the identity of the description about the table 15:54:50 jenit: that discussion is coming up 15:54:57 we have 15m 15:55:03 skipping to #71 15:55:23 https://github.com/w3c/csvw/issues/71 15:55:25 "Exact handling of annotations #71" 15:55:45 jenit: we have notes (see github issue for examples). how do they get mapped into JSON and into RDF? 15:55:52 … can re-use ABC example 15:56:56 ivan: depends on how much JSON-LD-like stuff I want to do 15:57:06 in json do i have to reproduce a proper rdf every time I see this stuff? 15:57:31 jenit: issue here … notes property … defined as an array of objects … 15:57:44 … fine in the json mapping as we can output it exactly as-is 15:57:48 but for rdf it is more complex 15:57:56 we could attempt to interpret it as json-ld 15:58:02 which would require json-ld for many impls 15:58:23 jtandy: in case of json, would include target being spec'd via fragIDs 15:58:33 ivan: see open anno model, it can get complex 15:58:43 … i realise this is the same issue as something that will come up later 15:58:59 jenit: ok to close as same as #142 15:59:15 (general agreement) 15:59:41 ivan: do we want a json-ld interpreter as part of tooling? my answer: no 15:59:57 gregg: therefore we should restrict things accordingly to simple literals and URIs 16:00:16 rrsagent, pointer? 16:00:16 See http://www.w3.org/2015/02/12-csvw-irc#T16-00-16 16:00:23 rrsagent, set log public 16:00:28 Adjourned until 4.15pm. 16:01:10 phila, can you describe dinner booking? 16:20:13 jtandy has joined #csvw 16:21:21 resuming 16:21:22 https://www.w3.org/2013/csvw/wiki/F2F_Agenda_2015-02#16:30_-_18:00_Metadata_.2F_Annotation_handling_in_conversion 16:22:25 https://github.com/w3c/csvw/issues/10 is closed already. 16:22:39 https://github.com/w3c/csvw/issues/142 "Value space of Common Properties #142" 16:22:51 jenit: all about mapping into RDF 16:22:54 all: hurrah! 16:23:04 jumbrich has joined #csvw 16:23:18 jenit: we have ability in the metadata to have any kinds of properties at tables, rows, all levels; Common Properties. 16:23:30 re-used, dublin core, schema.org, whatever you like wherever you like. 16:23:44 (i.e. good anarchy) 16:23:57 jenit: for json mappings this is fine you can just copy them over directly 16:24:06 … for rdf conversion, you want to interpret the values of properties in some way 16:24:21 … there is a spec that gives us interpretation of random JSON properties i.e. JSON-LD 16:24:33 … however many of us think that is too heavy a burden here 16:24:48 … hence q what do we do with these properties? also notes issue before break is the same. 16:25:12 gregg: point of clarification - early examples simply used string values assuming proper interpretation 16:25:22 we only have ns prefix, we don't know that dc:source is an IRI 16:25:48 we can expand dc to its vocab URI 16:25:51 (but no @context) 16:26:00 jtandy: re common properties being done verbatim 16:26:11 jenit: we have had a separate issue for what to do with expansion of urls 16:26:18 json devs don't care 16:26:26 gregg's point was that expansion is w.r.t. rdf conversion 16:26:43 ivan: to be precise, all the prefixes in the RDFa Initial Context are accepted 16:26:59 danbri; which version of it? 16:27:20 ivan: any impl is expected to track its current state 16:27:27 gregg: some Qs about how to govern that 16:28:05 jenit: what we've been discussing in #142 is whether there is a happy medium whereby when properties have a certain shape, syntax, … then they are interpreted in a way that is consistent with json-ld 16:28:14 however if they have a completely random shape, … 16:28:22 … […missed] 16:28:43 ivan: no? for common properties , only thing we say is that the values are of the restricted shape 16:28:52 gregg: i provided a minimal spec at v top [of issue] 16:29:22 gregg: if value was an object, there might be a limited shape of contents of that object that implementations would be expected to understand. 16:29:37 jenit: your initial set gives a shortlist of forms/shapes 16:29:42 gregg: json-ld tells you what you can do 16:29:46 … danger is that it is complex 16:30:02 … and there is possibility of specifying something that may not be handled in a way consistent w/ json-ld 16:30:27 gregg: I believe any impl should take these values and deal with it correctly 16:30:32 essentially literals and IRIs 16:30:39 the more complex one is object values 16:31:24 jenit: the proposal in #142 ... 16:31:37 ivan: if you have an object shape fitting gregg's examples, that's ok 16:31:54 if you have a substructure which recursively matches these, maybe accept that too? I would prefer not to 16:32:00 … this is feature creep 16:32:30 gregg: this is basically a subset of json-ld 16:32:44 null doesn't generate anything in the jsonld 16:32:59 [...] 16:34:13 jenit: if you never recurse into objects, ... 16:34:21 … what happens to them when they are given as values 16:34:57 e.g. publisher 16:38:38 see also view-source:http://www.ons.gov.uk/ons/index.html 16:38:56 which embeds 16:38:56 16:38:56 16:38:56 16:39:17 q+ to argue mildly for (rdfa) linked data 16:44:14 recursion: see recursion. 16:45:26 (discusion of whether allowing nested substructure is a slippery slope) 16:46:23 ack danbri 16:46:23 danbri, you wanted to argue mildly for (rdfa) linked data 16:47:19 danbri: if you don’t allow recursion then schema creators have to create publisher_name, publisher_url properties etc 16:47:19 danbri: [sat on the fence] 16:47:38 jtandy: .. we have in other areas tried to avoid monsterous complexity 16:48:05 … if what i'm hearing is that it isn't complex, … to have a set number of patterns, … then they'll expect the output rdf to have whatever was in the source metadata 16:48:17 ivan: I won't block on this even if I dislike it 16:48:37 jumbrich: CSV is v prominent on the Web, … 16:48:46 … often published by non-technical people 16:48:52 … consumers might be more into JSON 16:49:23 … allowing arbitrary JSON should please them 16:49:34 gregg: seems odd to have the JSON be more informative than the RDF view 16:49:41 ivan: I'm worried about the outcome 16:49:50 jumbrich: optimal would be json-ld? 16:49:54 ivan: in theory 16:50:09 jenit: it should be the case that if you already have a json-ld processor, you would get the same RDF out 16:50:22 gregg: with some syntactic restrictions 16:50:26 … lists 16:50:28 (and nil?) 16:50:35 gregg: lists are challenging 16:50:40 jenit: whats' the default …? 16:50:56 gregg: if you have an array, they are multiple occurences of same property 16:51:12 otherwise { @inlist …} to make an rdf list, which RDF people know is painful to process. 16:51:32 jenit: an option ... 16:51:44 an error raised if you are converting to rdf, if you detect @list or @context 16:51:50 as part of the validation of the metadata file 16:51:57 but only applied if you do the conversion 16:52:04 @type 16:53:40 (conclusions being noted in #142) 16:54:30 rrsagent, pointer? 16:54:30 See http://www.w3.org/2015/02/12-csvw-irc#T16-54-30 16:55:47 ivan: would json-ld language maps be allowed here, for example? 16:56:28 jenit: if you found "dc:description": { "en": "blah blah", "fr": "le blah" …} 16:56:59 … would be processed in normal way by our recursive algo, you'd get table, dc:desciption and just a bnode 16:57:48 maps to: 16:57:56 _table dc:descitpion _:blank . 16:58:23 ivan: and not _blank en something? 16:58:33 gregg: no, as you wouldn't recognise those as properties 16:58:38 jenit: would need 16:59:07 "dc:description": [ { "@value": "blah blah", "@language": "en" }, { … 17:00:18 ivan: Creeping JSON-LD-ism! 17:00:35 … what do I do if there is something there, an @thing that is invalid JSON-LD? 17:00:39 … how do we define that? 17:02:08 see #142 for resolutions 17:03:42 (discussion of whether to warn on @context) 17:04:39 jenit: [proposed] spec says common properties are interpreted as json-ld, but may choose to impl the subset of json-ld defined here. … … 17:04:53 jumbrich: so would be a subset of json-ld, minimal 17:04:57 gregg: it's essentially this 17:06:17 (adding list of things that may be ignored and generate warnings - see #142) 17:11:34 jtandy: are prefixes expanded? 17:11:42 if declared in predefined list or declared 17:11:52 gregg: otherwise will look like a weird URL schema 17:12:18 ivan: this is true for all properties (not just @type) 17:12:47 all the keys 17:13:03 gregg: if your value of 'publisher' was prefixed form it would just be the string 17:13:08 but if @type it would be expanded 17:13:35 ivan: you're making a cut-down JSON-LD 17:13:38 jenit: yes 17:13:59 rrsagent, pointer? 17:13:59 See http://www.w3.org/2015/02/12-csvw-irc#T17-13-59 17:15:22 gregg: [something clever and confusing] 17:15:28 (jeni works on example) 17:19:25 gregg: if you do not have language or type, the result is a string without language 17:19:31 even if defined in context 17:20:55 ivan has joined #csvw 17:24:13 #142 has extensive json-ld subsetting comments. 17:24:26 q+ re hack 17:25:50 action: phil to raise issue of JSON-LD subsets at the Data Activity Coordination Group 17:25:51 Created ACTION-63 - Raise issue of json-ld subsets at the data activity coordination group [on Phil Archer - due 2015-02-19]. 17:26:50 see comment beginning "Discussed at Feb F2F. Finally persuaded https://github.com/iherman (sort of, grudgingly) that recursion into objects would be useful." for details. 17:28:33 back to https://www.w3.org/2013/csvw/wiki/F2F_Agenda_2015-02#16:30_-_18:00_Metadata_.2F_Annotation_handling_in_conversion 17:28:43 https://github.com/w3c/csvw/issues/97 What should the name of the property be that relates rows to the table? #97 17:28:43 17:28:56 gregg: this is just csvw:row 17:29:05 rrsagent, pointer? 17:29:05 See http://www.w3.org/2015/02/12-csvw-irc#T17-29-05 17:29:19 closed #97 17:29:32 https://github.com/w3c/csvw/issues/189 Should we remove column metadata in RDF mapping#189 17:29:45 gregg: what happens if there are common properties defined? 17:29:51 ivan: tough luck 17:30:05 jtandy: when I wrote rdf conv spec, i said i'd ignore common properties on col and schema 17:30:09 didn't need those in my data output 17:30:15 only thing i picked up in terms of col 17:30:21 … i tried to grab titles used for cols 17:30:24 and apply those to the predicates 17:30:28 i thought that this was helpful 17:30:34 but it does not have to be there. 17:30:38 gregg: in fact it is complex 17:30:44 if there is a diff property for each row 17:30:50 jtandy: yes re complex 17:31:02 ivan: we get to this whole issue of what's the subject that metadata applies to 17:31:05 i.e. some rdf graph 17:31:07 so gets hairy 17:31:11 gregg: what i did in my impl 17:31:40 … I do common props of table. If schema or descendets have common prop, i [do some clever stuff] 17:32:30 jeni: is the issue that there is some distinction between creating rdf that defines the tabular data model, … reified, … vs one that extracts the data 17:33:16 danbri: some (e.g. google) will only want the bits about the real world entities (toilets, shops, etc.) 17:33:42 ivan: if i have the metadata, … dc:description column … "this is the metadata file i wrote yesterday... 17:33:47 … that will go into the rdf ouptut 17:34:17 jeni: no... 17:34:29 … the metadata that is in the metadata file, … i nthe object that describes the table, ... 17:34:46 ivan: the metadata is also json-ld … so suddenly i get it in rdf 17:35:32 [looking at csv2rdf] 17:35:32 e.g. 7 17:35:59 q+ to note metadata might not be for publication whereas data might be 17:36:17 q- 17:39:02 (discussion of history of this issue) 17:39:13 jeni/jtandy: we agree we are making asserionts about the table 17:39:40 … title/keywords/etc 17:39:46 (aside: there is no such thing as dc:keywords) 17:39:57 @id vs url ... 17:40:16 jenit: does @id default to the metadata file 17:40:28 gregg: it defaults to a bnode 17:40:50 vs assertions about URI being "" 17:44:08 (flipflopping around table descriptiosn vs tables ,…) 17:45:34 jenit: can we close out on what we're intended to do? 17:45:41 we talked about the 2 levels of description 17:45:47 the annotated / reified level 17:45:52 … common properties etc 17:46:09 …vs how that is different from the entity descriptions generated 17:47:00 jtandy: when we want to describe the thing that the row describes 17:47:09 jenit: is it useful to have all this meta-meta stuff? 17:47:23 or just want the things that look like trees, etc. 17:48:15 jtandy: if we're not bothered about the fact that this stuff came from csv file, … then all we need is some kind of membership relation 17:48:38 ivan: if this is our understanding, how can i annotate the metadata itself 17:48:49 gregg: you could put an annotation in the table schema 17:49:27 ivan: whatever we put under "Table" is about the data 17:49:29 vs metadata 17:49:36 jenit: e.g. lastModified, … author, etc 17:49:46 jtandy: you need to make statements bout the whole resource 17:49:57 (mention of named graphs? vs not) 17:50:05 ivan: we do have a hole 17:50:17 jenit: as long as we are clear on what we're describing i am not too bothered 17:50:27 gregg: we can also have common properties in table group, schema, column 17:50:47 jumbrich has joined #csvw 17:51:00 jtandy: we don't haev statements about columns, etc in output but we do have about the dataset and table and potentially table group 17:51:24 jenit: we can say it uses this schema which might mention tableSchema etc 17:52:12 revisiting #189 …. should we remove col metadata in the rdf mapping? 17:52:19 jtandy: unhappy am I not with this 17:52:34 rrsagent, please draft minutes 17:52:34 I have made the request to generate http://www.w3.org/2015/02/12-csvw-minutes.html danbri 17:52:58 jenit: proposed resolution is there will not be in the rdf output any descriptions of cols, schemas, etc. 17:53:27 (see https://github.com/w3c/csvw/issues/189 for specifics) 17:53:32 rrsagent, pointer? 17:53:32 See http://www.w3.org/2015/02/12-csvw-irc#T17-53-32 17:58:21 https://github.com/w3c/csvw/issues/106 Should the table entity in the RDF mapping of core tabular data be explicitly identified? #106 17:58:21 17:58:27 rrsagent, pointer? 17:58:27 See http://www.w3.org/2015/02/12-csvw-irc#T17-58-27 17:58:36 jenit records resolution in github 18:06:37 ivan has joined #csvw 18:07:54 rrsagent, please draft minutes 18:07:54 I have made the request to generate http://www.w3.org/2015/02/12-csvw-minutes.html danbri 19:50:05 danbri has joined #csvw 19:52:29 Zakim has left #csvw 20:23:47 gkellogg has joined #csvw