XLWrap state and feature requests
From Linked Data Camp
Contents |
[edit] People involved
- Richard Cyganiak
- Leigh Dodds
- Andreas Langegger
- Keith Alexander (via Skype)
- Thomas Schandl
[edit] Monday
AndyL gave overview of XLWrap on first day, wrapped a spreadsheet together with Leigh Dodds detecting some required new features... Richard already sent a list of feature requests to AndyL before.
More details on XLWrap can be found at SourceForge, Slides are also available.
[edit] Tuesday
Started to add features such as:
- Full N3 (incl. variables for dynamic properties and Formulae) instead of TriG (which is not a W3C standard)
- xl:skipCondition, which allows to skip just one eval of the transformed template graph, but does not skip the whole transform stage
- transform stage labels (e.g. for getting the current index of a repeat iteration)
- variables
- improved specification of templ graph + transforms: cascaded, which prevents repeatedly generated equal triples (will greatly improve performance, espeically when connecting to external resources during the execution, e.g. when getting URIs or tags from external services...)
- function EXPLAND_NS(String s) for getting full URI for namespace prefix s
- some small fixes
A future mapping might look like this:
[] a xl:Mapping;
xl:workbook <file:asdf.csv>;
xl:rowRepeat [
xl:transformLabel "person-rows";
xl:window "A2:K2"^^xl:Expr;
xl:assign {
?person = "URI('people/' & REPEAT_INDEX('person-rows'))";
}
xl:instantiate {
?person a foaf:Person;
foaf:name "B2"^^xl:Expr;
foaf:mbox "URI('mailto:' & C2)"^^xl:Expr;
.
};
xl:colRepeat [
xl:window "D2";
xl:repeat 3;
xl:instantiate {
?person ex:interest "D2"^^xl:Expr .
}
];
];
.
Feel free to add comments!
[edit] Further Feature Requests (add yours here!)
- function NEAREST(startcell, stepExpr, condition) to find next value in a row/col/based on a pattern (suggested by Keith Alexander)
- stepExpr would be something like: ("+"|"-") <NUMBER> ("col"|"row"|"sheet")
- the condition a normal condition to stop and take the cell value from there
- step expressions can be concatenated "+1col+1row" (=diagonal)

