1 | |
---|
2 | ************************************ |
---|
3 | SMC - Semantic Mapping Component |
---|
4 | ************************************ |
---|
5 | |
---|
6 | SMC is a module within the CMDI framework [1] of the CLARIN infrastructure. |
---|
7 | |
---|
8 | It provides mappings between fields in heterogeneous metadata descriptions |
---|
9 | building on top of Data Category Registry (ISOcat [2]) |
---|
10 | |
---|
11 | [1] http://clarin.eu/cmdi |
---|
12 | [2] http://isocat.org |
---|
13 | |
---|
14 | Overview |
---|
15 | -------- |
---|
16 | |
---|
17 | The code consists mainly of XSL-stylesheets |
---|
18 | [src/scripts/*.xsl] |
---|
19 | and a minimal Java "application" (meant mainly to invoke the initialization steps) |
---|
20 | [src/eu/clarin/cmdi/smc/SMC.java] |
---|
21 | |
---|
22 | |
---|
23 | Installation |
---|
24 | ------------- |
---|
25 | |
---|
26 | - SMC Browser is a client side JS application, so it doesn't have any |
---|
27 | server-side requirements. You can simply open it in a browser and it should |
---|
28 | work. |
---|
29 | - You can find SMC Browser in src/web directory. The directory structure is as |
---|
30 | follows: |
---|
31 | - index.html - HTML template |
---|
32 | - get.php - very simple HTTP proxy script (it returns content of a given URL |
---|
33 | making it possible to bypass AJAX cross-domain restrictions). |
---|
34 | Currently used only for gathering details about philosopers (see "handling |
---|
35 | details" below). |
---|
36 | - scripts - all js libraries and css stylesheets SMC Browser depends on |
---|
37 | - docs - static HTML content |
---|
38 | - data - sample data consistent with the SMC Browser configuration commited to |
---|
39 | the repo |
---|
40 | - Available data sources |
---|
41 | To adjust a list of available data sources edit opts.graph variable in |
---|
42 | scripts/js/config.js: |
---|
43 | - value property should be one of the values[].value and denotes data set |
---|
44 | selected after the page is loaded |
---|
45 | - values array describes all available datasets |
---|
46 | - Static pages |
---|
47 | Static page templates are in the /docs directory. |
---|
48 | You can use rst2html (part of docutils package) to convert them into HTML. |
---|
49 | HTML files should be then moved to docs/ |
---|
50 | - Handling details |
---|
51 | - The right column of the SMC Browser displays node details. |
---|
52 | Details can come from different sources: |
---|
53 | - If the node is of type "philosopher" they are simply read from Wikipedia. |
---|
54 | To bypass AJAX cross-domain restrictions and assure proper encoding a |
---|
55 | very simple PHP proxy script is used (get.php). You can adjust get.php |
---|
56 | location in the getDetailInfo() function in the scripts/js/smc-graph.js |
---|
57 | - In other case there are two possibilities: |
---|
58 | - Data can be loaded from a prepared static HTML file. |
---|
59 | Such file has to be generated before (probably using scripts in the /src |
---|
60 | drectory other then /src/web). |
---|
61 | Path to the file is set up in config.url.detail variable in |
---|
62 | scripts/js/config.js. By default it points to an empty HTML file (so no |
---|
63 | details will be provided but there will be also no error). |
---|
64 | - Data can be loaded dinamically by reading data from a given URL |
---|
65 | providing details in the HTML format. URL is constructed as: |
---|
66 | config.url.detail + "?type=" + type + "&key=" + id |
---|
67 | where type and id comes from the node and config.url.detail is defined |
---|
68 | in scripts/js/config.js |
---|
69 | SMC Browser running at https://clarin.oeaw.ac.at/exist/apps/smc-browser/ |
---|
70 | is using xql query run in eXist to generate details. |
---|
71 | |
---|