author | František Kučera <franta-hg@frantovo.cz> |
Sat, 06 Jun 2020 13:21:38 +0200 | |
branch | v_0 |
changeset 299 | dd7aeff5ef0c |
parent 241 | f71d300205b7 |
permissions | -rw-r--r-- |
23
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
1 |
<stránka |
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
2 |
xmlns="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/strana" |
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
3 |
xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"> |
0d2729ed16ed
zkouška interního odkazu
František Kučera <franta-hg@frantovo.cz>
parents:
18
diff
changeset
|
4 |
|
241 | 5 |
<nadpis>Release v0.9</nadpis> |
6 |
<perex>second public release of Relational pipes</perex> |
|
7 |
<m:release>v0.9</m:release> |
|
4
1bb39595a51c
genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents:
2
diff
changeset
|
8 |
|
2
ab9099ff88fa
vkládání zápatí, jmenné prostory, saxon
František Kučera <franta-hg@frantovo.cz>
parents:
1
diff
changeset
|
9 |
<text xmlns="http://www.w3.org/1999/xhtml"> |
ab9099ff88fa
vkládání zápatí, jmenné prostory, saxon
František Kučera <franta-hg@frantovo.cz>
parents:
1
diff
changeset
|
10 |
<p> |
241 | 11 |
We are pleased to introduce you the new version of <m:name/>. |
12 |
It brings several important features: |
|
13 |
</p> |
|
14 |
||
15 |
<ul> |
|
16 |
<li> |
|
17 |
<strong>XML input and output</strong>: |
|
18 |
offers lossless bidirectional conversion between relational format and text. |
|
19 |
Can be used for manual modifications or reviews. |
|
20 |
XML form of relational data can be generated or consumed by XQuery or XSLT processors or other XML tools. |
|
21 |
</li> |
|
22 |
||
23 |
<li> |
|
24 |
<strong>CSV input and output</strong>: |
|
25 |
CSV is a standard format defined in <a href="https://tools.ietf.org/html/rfc4180">RFC 4180</a>. |
|
26 |
It is very simple, lacks data types and can contain only a single relation. |
|
27 |
Despite this, it is very useful when integrating <m:name/> with other tools. |
|
28 |
At the end of our pipeline, we can put <code>relpipe-out-csv</code>, feed the relation to e.g. GNU R and compute some statistics or generate some nice graphs. |
|
29 |
</li> |
|
30 |
||
31 |
<li> |
|
32 |
<strong>Filesystem input</strong>: this input filter reads file paths (usually generated by the <code>find</code> command) |
|
33 |
and fetches metadata of given files. Supports various name/path formats, size, owner, symlinks… and extended attributes (xattr). |
|
34 |
The output can be customized using CLI arguments. |
|
35 |
This tool can be used to catalogue disk contents, search files or to collect data for some statistics like: |
|
36 |
<em>How much space does files in particular formats occupy?</em> or |
|
37 |
<em>From which domains I download files most often?</em> |
|
38 |
Other use case is: save the output of <code>relpipe-in-filesystem</code> in a file and use it as an index of our files (even on offline media). |
|
39 |
</li> |
|
40 |
</ul> |
|
41 |
<p> |
|
42 |
See the <m:a href="examples">examples</m:a> page for details. |
|
151 | 43 |
</p> |
44 |
||
45 |
<h3>Data types</h3> |
|
46 |
<ul> |
|
241 | 47 |
<li m:since="v0.8">boolean</li> |
48 |
<li m:since="v0.8">variable unsigned integer (prototype)</li> |
|
49 |
<li m:since="v0.8">string in UTF-8</li> |
|
151 | 50 |
</ul> |
51 |
<h3>Inputs</h3> |
|
52 |
<ul> |
|
241 | 53 |
<li m:since="v0.9">XML</li> |
54 |
<li m:since="v0.9">CSV</li> |
|
55 |
<li m:since="v0.9">file system</li> |
|
56 |
<li m:since="v0.8">CLI</li> |
|
57 |
<li m:since="v0.8">fstab</li> |
|
151 | 58 |
</ul> |
59 |
<h3>Transformations</h3> |
|
60 |
<ul> |
|
241 | 61 |
<li m:since="v0.8">grep: regular expression filter, removes unwanted records from the relation</li> |
62 |
<li m:since="v0.8">cut: regular expression attribute cutter (removes or duplicates attributes and can also DROP whole relation)</li> |
|
63 |
<li m:since="v0.8">sed: regular expression replacer</li> |
|
64 |
<li m:since="v0.8">validator: just a pass-through filter that crashes on invalid data</li> |
|
65 |
<li m:since="v0.8">python: highly experimental</li> |
|
151 | 66 |
</ul> |
67 |
<h3>Outputs</h3> |
|
68 |
<ul> |
|
241 | 69 |
<li m:since="v0.9">CSV</li> |
70 |
<li m:since="v0.8">tabular</li> |
|
71 |
<li m:since="v0.8">XML</li> |
|
72 |
<li m:since="v0.8">nullbyte</li> |
|
73 |
<li m:since="v0.8">GUI in Qt</li> |
|
74 |
<li m:since="v0.8">ODS (LibreOffice)</li> |
|
151 | 75 |
</ul> |
76 |
||
77 |
<p> |
|
219 | 78 |
Instalation was tested on Debian GNU/Linux 9.6. |
79 |
The process should be similar on other distributions. |
|
80 |
</p> |
|
151 | 81 |
|
241 | 82 |
<m:pre src="examples/release-v0.9.sh" jazyk="bash" odkaz="ano"/> |
151 | 83 |
|
219 | 84 |
<p> |
85 |
<m:name/> are modular thus you can download and install only parts you need (the libraries are needed always). |
|
86 |
Tools <code>out-gui.qt</code> and <code>tr-python</code> require additional libraries and are not built by default. |
|
87 |
</p> |
|
151 | 88 |
|
241 | 89 |
<p> |
90 |
The module <code>relpipe-in-filesystem</code> uses C++ filesystem API which is supported since GCC 8. |
|
91 |
This module can be compiled and seems usable even with GCC 6, but requires some patching (switch to the experimental API): |
|
92 |
</p> |
|
93 |
||
94 |
<m:pre jazyk="bash"><![CDATA[sed 's@#include <filesystem>@#include <experimental/filesystem>@g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FileAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/XattrAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FilesystemCommand.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/AttributeFinder.h |
|
95 |
sed 's@std::filesystem@std::experimental::filesystem@g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FileAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/XattrAttributeFinder.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/FilesystemCommand.h "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/AttributeFinder.h |
|
96 |
sed 's/.*PROPERTY CXX_STANDARD.*/#\0/g' -i "$RELPIPE_SRC"/relpipe-in-filesystem.cpp/src/CMakeLists.txt]]></m:pre> |
|
97 |
||
87
25dec6931f18
Lepší odsazení, tabulátory.
František Kučera <franta-hg@frantovo.cz>
parents:
23
diff
changeset
|
98 |
</text> |
4
1bb39595a51c
genrování hlavní nabídky #1
František Kučera <franta-hg@frantovo.cz>
parents:
2
diff
changeset
|
99 |
|
1 | 100 |
</stránka> |