├── .gitignore ├── .htaccess ├── ChartConfig.js.dist ├── CubevizController.php ├── CubevizHelper.php ├── DataselectionModule.php ├── LICENSE.md ├── Makefile ├── README.md ├── assets ├── compare examples │ ├── mortalityEurope.ttl │ └── populationEurope.ttl ├── cubeWithHashes.ttl ├── cubeWithMaterializedSlices.ttl ├── cubeWithMultipleAttributesMeasures.ttl ├── exampleCube.ttl ├── mortality.ttl ├── scoreboard-part-2-dimensional.ttl ├── scoreboard.nt ├── serbia.n3 ├── serbia_fixed_duplicatedUnitMeasures.nt └── worldpopulation.rdf ├── classes ├── CubeViz │ ├── ConfigurationLink.php │ ├── Exception.php │ ├── Exporter.php │ └── ViewHelper.php ├── DataCube │ ├── Query.php │ └── UriOf.php └── foreign │ └── EasyRdf │ ├── LICENSE.md │ └── lib │ ├── EasyRdf.php │ └── EasyRdf │ ├── Exception.php │ ├── Format.php │ ├── Graph.php │ ├── GraphStore.php │ ├── Http.php │ ├── Http │ ├── Client.php │ └── Response.php │ ├── Isomorphic.php │ ├── Literal.php │ ├── Literal │ ├── Boolean.php │ ├── Date.php │ ├── DateTime.php │ ├── Decimal.php │ ├── HexBinary.php │ └── Integer.php │ ├── Namespace.php │ ├── ParsedUri.php │ ├── Parser.php │ ├── Parser │ ├── Arc.php │ ├── Json.php │ ├── Ntriples.php │ ├── Rapper.php │ ├── RdfPhp.php │ ├── RdfXml.php │ ├── Redland.php │ └── Turtle.php │ ├── Resource.php │ ├── Serialiser.php │ ├── Serialiser │ ├── Arc.php │ ├── GraphViz.php │ ├── Json.php │ ├── Ntriples.php │ ├── Rapper.php │ ├── RdfPhp.php │ ├── RdfXml.php │ └── Turtle.php │ ├── Sparql │ ├── Client.php │ └── Result.php │ ├── TypeMapper.php │ └── Utils.php ├── deployment ├── additional-files │ ├── Makefile │ ├── config.ini │ ├── extensions │ │ ├── examplemodel │ │ │ ├── ExamplemodelController.php │ │ │ ├── ExamplemodelModule.php │ │ │ ├── README.md │ │ │ ├── doap.n3 │ │ │ └── static │ │ │ │ ├── css │ │ │ │ └── base.css │ │ │ │ ├── images │ │ │ │ └── icon-implicit-mini.png │ │ │ │ └── templates │ │ │ │ └── examplemodel │ │ │ │ ├── Examplemodel.phtml │ │ │ │ └── index.phtml │ │ ├── page │ │ │ ├── PageController.php │ │ │ ├── doap.n3 │ │ │ └── page │ │ │ │ ├── colorbox │ │ │ │ ├── colorbox.css │ │ │ │ ├── images │ │ │ │ │ ├── border1.png │ │ │ │ │ ├── border2.png │ │ │ │ │ ├── ie6 │ │ │ │ │ │ ├── borderBottomCenter.png │ │ │ │ │ │ ├── borderBottomLeft.png │ │ │ │ │ │ ├── borderBottomRight.png │ │ │ │ │ │ ├── borderMiddleLeft.png │ │ │ │ │ │ ├── borderMiddleRight.png │ │ │ │ │ │ ├── borderTopCenter.png │ │ │ │ │ │ ├── borderTopLeft.png │ │ │ │ │ │ └── borderTopRight.png │ │ │ │ │ └── loading.gif │ │ │ │ ├── jquery.colorbox-min.js │ │ │ │ └── jquery.colorbox.js │ │ │ │ ├── examples.phtml │ │ │ │ ├── faq.phtml │ │ │ │ ├── howto.phtml │ │ │ │ ├── images │ │ │ │ ├── cubeviz-bar.png │ │ │ │ ├── cubeviz-column.png │ │ │ │ ├── cubeviz-home-background.png │ │ │ │ ├── cubeviz-home-polar.png │ │ │ │ ├── cubeviz-pie.png │ │ │ │ ├── cubeviz-spline.png │ │ │ │ ├── cubeviz-windrose-axisSwitch.png │ │ │ │ ├── cubeviz-windrose-column.png │ │ │ │ ├── cubeviz-windrose-stacking-logarithm.png │ │ │ │ ├── data_selection_dialog.png │ │ │ │ ├── data_selection_module.png │ │ │ │ ├── example1-CubeViz.png │ │ │ │ ├── example1-DAS.png │ │ │ │ ├── example2-CubeViz.png │ │ │ │ ├── example2-DAS.png │ │ │ │ └── tryit-arrow.png │ │ │ │ └── index.phtml │ │ └── staticlinks │ │ │ ├── README.md │ │ │ ├── StaticlinksModule.php │ │ │ ├── doap.n3 │ │ │ └── static │ │ │ ├── css │ │ │ └── base.css │ │ │ └── templates │ │ │ └── StaticLinksModule.phtml │ └── libraries │ │ ├── Erfurt │ │ └── Parser.php │ │ └── Zend │ │ └── Translation.php ├── debian │ ├── Makefile │ │ └── Makefile │ ├── Readme.md │ ├── changelog │ ├── compat │ ├── control │ ├── copyright │ ├── install │ ├── links │ ├── postinst │ ├── rules │ └── source │ │ └── format ├── generated-packages │ └── .gitignore └── scripts │ └── createCubeViz.sh ├── doap.n3.dist ├── languages └── cubeviz-en.csv ├── public ├── css │ ├── AnalyzeAction │ │ └── integrityConstraints.css │ ├── CompareAction │ │ └── CompareAction.css │ ├── DataselectionModule │ │ ├── attribute.css │ │ ├── component.css │ │ ├── dataSelectionModule.css │ │ ├── dataSet.css │ │ ├── footer.css │ │ ├── measure.css │ │ └── slice.css │ ├── IndexAction │ │ ├── exportArea.css │ │ ├── header.css │ │ ├── legend.css │ │ ├── visualization.css │ │ └── visualizationSelector.css │ ├── foreign │ │ ├── Bootstrap │ │ │ ├── README.md │ │ │ └── bootstrap.min.css │ │ └── FontAwesome │ │ │ ├── README.md │ │ │ ├── css │ │ │ ├── font-awesome-ie7.min.css │ │ │ └── font-awesome.min.css │ │ │ └── font │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ └── fontawesome-webfont.woff │ └── main.css ├── images │ ├── area.png │ ├── area.svg │ ├── bar.png │ ├── bar.svg │ ├── bar_stacked.png │ ├── bar_stacked.svg │ ├── circlePacking.png │ ├── circlePacking.svg │ ├── circlePackingForClusters.png │ ├── circlePackingForClusters.svg │ ├── column.png │ ├── column.svg │ ├── column_stacked.png │ ├── column_stacked.svg │ ├── cubevizLogo.png │ ├── cubevizLogoHuge.png │ ├── line.png │ ├── line.svg │ ├── menuDongle.png │ ├── menuDongle.svg │ ├── pie.png │ ├── pie.svg │ ├── polar.png │ ├── polar.svg │ ├── semicon │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── attribute2.png │ │ ├── collection4.png │ │ ├── column.png │ │ ├── csv2.png │ │ ├── dataset2.png │ │ ├── dimension.png │ │ ├── dimensionElement2.png │ │ ├── equalDimensionElements5.png │ │ ├── measure2.png │ │ ├── observation.png │ │ ├── slice2.png │ │ ├── sparql3.png │ │ ├── turtle.png │ │ └── unequalDimensionElements5.png │ ├── spline.png │ └── spline.svg ├── javascript │ ├── Main-production.js │ ├── Main.js │ ├── Test.js │ └── libraries │ │ ├── CryptoJS_Md5.js │ │ ├── d3js.min.js │ │ ├── formulaParser.js │ │ ├── highcharts-more.js │ │ ├── highcharts.js │ │ ├── highcharts.src.js │ │ ├── javascriptStats-1.0.1.js │ │ ├── json2.js │ │ ├── munit.js │ │ ├── underscore.js │ │ └── underscore.string.js └── templates │ └── cubeviz │ ├── DataselectionModule.phtml │ ├── analyze.phtml │ ├── compare.phtml │ ├── index.phtml │ └── modelinfo.phtml ├── tests └── CubevizControllerTest.php └── typescript ├── Makefile ├── declaration └── libraries │ ├── CryptoJs.d.ts │ ├── Highcharts.d.ts │ ├── JSON.d.ts │ ├── Underscore.d.ts │ ├── d3js.d.ts │ ├── formulaParser.d.ts │ ├── jquery.d.ts │ ├── jsStats.d.ts │ └── munit.d.ts ├── minifier.js ├── src ├── Model │ ├── CubeViz │ │ ├── Collection.ts │ │ ├── ConfigurationLink.ts │ │ ├── View │ │ │ ├── Abstract.ts │ │ │ ├── Application.ts │ │ │ └── Helper.ts │ │ ├── Visualization.ts │ │ └── Visualization │ │ │ ├── Controller.ts │ │ │ ├── D3js.ts │ │ │ ├── D3js │ │ │ └── CirclePackingForClusters.ts │ │ │ ├── HighCharts.ts │ │ │ └── HighCharts │ │ │ ├── Area.ts │ │ │ ├── AreaSpline.ts │ │ │ ├── Bar.ts │ │ │ ├── Chart.ts │ │ │ ├── Column.ts │ │ │ ├── Line.ts │ │ │ ├── Pie.ts │ │ │ ├── Polar.ts │ │ │ └── Spline.ts │ └── DataCube │ │ ├── ClusteringDataCube.ts │ │ ├── Component.ts │ │ ├── DataCubeMerger.ts │ │ ├── DataSet.ts │ │ ├── DataStructureDefinition.ts │ │ ├── Observation.ts │ │ └── Slice.ts ├── Test │ ├── Model │ │ └── CubeViz │ │ │ ├── Collection.ts │ │ │ └── View │ │ │ └── Helper.ts │ ├── TestSuite.ts │ └── View │ │ ├── DataselectionModule │ │ ├── Component.ts │ │ ├── DataSet.ts │ │ └── DataStructureDefinition.ts │ │ └── IndexAction │ │ └── VisualizationSelector.ts └── View │ ├── CompareAction │ ├── ClusterVisualization.ts │ ├── DatasetSelection.ts │ ├── DimensionOverview.ts │ ├── GeneralDatasetInformation.ts │ ├── MeasureAndAttributeInformation.ts │ ├── ModelSelection.ts │ └── VisualizationSetup.ts │ ├── DataselectionModule │ ├── Attribute.ts │ ├── Component.ts │ ├── DataSet.ts │ ├── Footer.ts │ ├── Measure.ts │ └── Slice.ts │ ├── IndexAction │ ├── ExportArea.ts │ ├── Header.ts │ ├── Legend.ts │ ├── Visualization.ts │ └── VisualizationSelector.ts │ ├── ModelinfoAction │ └── Footer.ts │ └── Run.ts └── tsc ├── Main.txt └── Test.txt /.gitignore: -------------------------------------------------------------------------------- 1 | /typescript/node_modules 2 | /ChartConfig.js 3 | /doap.n3 4 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | # 2 | # OntoWiki requires Apache's rewrite engine to work 3 | # 4 | 5 | RewriteEngine Off 6 | RewriteRule !\.(js|ico|gif|jpg|png|css|php)$ index.php 7 | # 8 | # Set RewriteBase only if your OntoWiki folder is not 9 | # located in your web server's root dir. 10 | # 11 | # RewriteBase /path/to/ontowiki 12 | 13 | 14 | -------------------------------------------------------------------------------- /CubevizHelper.php: -------------------------------------------------------------------------------- 1 | translate; 15 | $extrasMenu = OntoWiki_Menu_Registry::getInstance()->getMenu('application')->getSubMenu('Extras'); 16 | 17 | // If a model is selected, add entry to analyze action 18 | if (true === isset(OntoWiki::getInstance()->selectedModel)) { 19 | $extrasMenu->setEntry($translate->_('ApplicationExtrasMenu_Label'), (string) new OntoWiki_Url(array( 20 | 'controller' => 'cubeviz', 21 | 'action' => 'analyze'), 22 | array())); 23 | } 24 | 25 | // add entry to comparing action 26 | $extrasMenu->setEntry($translate->_('ApplicationExtrasMenu_ComparingLabel'), (string) new OntoWiki_Url(array( 27 | 'controller' => 'cubeviz', 28 | 'action' => 'compare'), 29 | array())); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2012 AKSW (University of Leipzig) 2 | 3 | This program is free software; you can redistribute it and/or modify it under 4 | the terms of the GNU General Public License as published by the Free Software 5 | Foundation; either version 2 of the License, or (at your option) any later version. 6 | 7 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 8 | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 9 | 10 | See the GNU General Public License for more details. 11 | 12 | You should have received a copy of the GNU General Public License along with this program; 13 | if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 14 | 15 | # Usage of foreign software / libraries 16 | 17 | CubeViz uses the following foreign software libraries in an university and educational context. 18 | 19 | ## HighCharts JS 20 | 21 | For the given context this HighCharts JS is free to use under the terms of Creative Commons Attribution-NonCommercial 3.0. 22 | ( http://shop.highsoft.com/highcharts.html#non-commercial ) 23 | 24 | If you would like to use HighCharts in a commercial or governmental context, please check 25 | the site http://shop.highsoft.com/highcharts.html#commercial by yourself. We, creators of CubeViz, 26 | are not be responsible for any illegal or unauthorized usage of HighCharts JS. 27 | 28 | ## TypeScript 29 | 30 | TypeScript is licensed under the terms of Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt). 31 | CubeViz uses Javascript files which are generated by the TypeScript compiler tsc. For information see 32 | http://www.typescriptlang.org/ 33 | 34 | ## json-template 35 | 36 | json-template is licensed under the terms of Apache License 2.0 (http://www.apache.org/licenses/LICENSE-2.0.txt). 37 | For more information see http://json-template.googlecode.com/svn/trunk/doc/Introducing-JSON-Template.html 38 | 39 | ## JSON2 40 | 41 | JSON 2 is public domain. For more information see http://www.JSON.org/js.html. 42 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | @echo "CubeViz - CLI" 3 | @echo " make install > Setup CubeViz" 4 | @echo "" 5 | @echo " Test Environment" 6 | @echo " make install-test-environment > Setup PHPUnit 3.5.15 using PEAR" 7 | @echo " make purge-test-environment > Purge PHPUnit 3.5.15 in PEAR" 8 | @echo " make test > Test PHP side of CubeViz" 9 | @echo "" 10 | @echo " Package Generation" 11 | @echo " make cubeviz > Generate tar.gz archive in generated-packages folder" 12 | @echo "" 13 | 14 | install: 15 | cp ChartConfig.js.dist ChartConfig.js 16 | cp doap.n3.dist doap.n3 17 | 18 | cubeviz: 19 | sh deployment/scripts/createCubeViz.sh 20 | 21 | # 22 | # Test Environment 23 | # 24 | 25 | install-test-environment: 26 | sudo pear config-set auto_discover 1 27 | sudo pear channel-update pear.php.net 28 | sudo pear install pear.symfony-project.com/YAML-1.0.2 29 | sudo pear install phpunit/PHPUnit_Selenium-1.0.1 30 | sudo pear install phpunit/PHPUnit_MockObject-1.0.3 31 | sudo pear install phpunit/PHP_Timer-1.0.0 32 | sudo pear install phpunit/File_Iterator-1.2.3 33 | sudo pear install phpunit/PHP_CodeCoverage-1.0.2 34 | sudo pear install phpunit/Text_Template-1.1.4 35 | sudo pear install phpunit/DbUnit-1.0.0 36 | sudo pear install phpunit/PHPUnit-3.5.15 37 | 38 | purge-test-environment: 39 | sudo pear uninstall phpunit/PHPUnit 40 | sudo pear uninstall phpunit/DbUnit 41 | sudo pear uninstall phpunit/PHP_CodeCoverage 42 | sudo pear uninstall phpunit/File_Iterator 43 | sudo pear uninstall phpunit/PHPUnit_MockObject 44 | sudo pear uninstall phpunit/Text_Template 45 | sudo pear uninstall phpunit/PHP_Invoker 46 | sudo pear uninstall phpunit/PHP_Timer 47 | sudo pear uninstall phpunit/PHPUnit_Selenium 48 | sudo pear uninstall pear.symfony-project.com/YAML 49 | 50 | test: 51 | phpunit --stderr tests 52 | 53 | -------------------------------------------------------------------------------- /assets/cubeWithHashes.ttl: -------------------------------------------------------------------------------- 1 | @base . 2 | @prefix owl: . 3 | @prefix rdf: . 4 | @prefix rdfs: . 5 | @prefix dc: . 6 | 7 | @prefix cube: . 8 | @prefix ex: . 9 | @prefix exCs: . 10 | @prefix exProp: . 11 | 12 | <> a owl:Ontology ; 13 | rdfs:label "DataCube: Test Hash-Handling in CubeViz" ; 14 | dc:description "Its purpose is to test that CubeViz is able to handle hashed URIs." . 15 | 16 | # 17 | # Data Structure Definitions 18 | # 19 | ex:dsd a cube:DataStructureDefinition ; 20 | rdfs:label "A Data Structure Definition"@en ; 21 | rdfs:comment "Defines the structure of a DataSet or slice." ; 22 | cube:component exCs:geo, 23 | exCs:time, 24 | exCs:unit, 25 | exCs:value . 26 | 27 | # 28 | # Component Specifications 29 | # 30 | exCs:geo a cube:ComponentSpecification ; 31 | rdfs:label "Component Specification of Region" ; 32 | cube:dimension exProp:geo . 33 | 34 | exCs:time a cube:ComponentSpecification ; 35 | rdfs:label "Component Specification of Time" ; 36 | cube:dimension exProp:date . 37 | 38 | exCs:unit a cube:ComponentSpecification ; 39 | rdfs:label "Component Specification of Unit" ; 40 | cube:attribute exProp:unit . 41 | 42 | exCs:value a cube:ComponentSpecification ; 43 | rdfs:label "Component Specification of Value" ; 44 | cube:measure exProp:value . 45 | 46 | # 47 | # Data Set 48 | # 49 | ex:dataset a cube:DataSet ; 50 | rdfs:label "A DataSet"^^ ; 51 | rdfs:comment "Represents a collection of observations and conforming to some common dimensional structure." ; 52 | cube:structure ex:dsd . 53 | 54 | # 55 | # Dimensions, Unit and Measure 56 | # 57 | exProp:geo a cube:DimensionProperty ; 58 | rdfs:label "Region"@en . 59 | 60 | exProp:date a cube:DimensionProperty ; 61 | rdfs:label "Date"@en . 62 | 63 | exProp:unit a cube:AttributeProperty ; 64 | rdfs:label "Unit" ; 65 | rdfs:comment "Lorem ipsum dolor sit amet, consetetur sadipscing elitr." . 66 | 67 | exProp:value a cube:MeasureProperty ; 68 | rdfs:label "Value"@en . 69 | 70 | # 71 | # Observation ################################################################# 72 | # 73 | 74 | # 75 | # Data Set 1 76 | # 77 | ex:obs1 a cube:Observation ; 78 | cube:dataSet ex:dataset ; 79 | exProp:date ex:Y2001 ; 80 | exProp:unit "whatever it is about" ; 81 | exProp:geo ex:Germany ; 82 | exProp:value "1500"^^ ; 83 | rdfs:label "Germany in 2001" . 84 | 85 | ex:obs2 a cube:Observation ; 86 | cube:dataSet ex:dataset ; 87 | exProp:date ex:Y2001 ; 88 | exProp:unit "whatever it is about" ; 89 | exProp:geo ex:England ; 90 | exProp:value "1500"^^ . 91 | 92 | # 93 | # Additional Stuff ############################################################# 94 | # 95 | ex:Germany a exProp:geo ; 96 | rdfs:label "Germany"@en . 97 | 98 | ex:England a exProp:geo ; 99 | rdfs:label "England"@en . 100 | 101 | ex:Y2001 a ex:date ; 102 | rdfs:label "2001"@en . 103 | -------------------------------------------------------------------------------- /assets/worldpopulation.rdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | ]> 11 | 12 | 16 | 17 | 18 | 19 | 21 | 22 | 23 | 26 | 27 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 38 | 39 | 41 | 42 | 43 | 44 | 45 | 47 | 48 | 49 | 50 | 51 | 53 | 54 | 55 | 56 | 57 | 59 | 60 | 61 | 62 | 63 | 65 | 66 | 67 | 68 | 69 | 71 | 72 | 73 | 74 | 75 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 87 | 88 | 91 | 92 | 95 | 96 | 99 | 100 | 103 | 104 | 107 | 108 | 111 | 112 | 115 | 116 | 119 | 120 | 121 | 122 | 123 | -------------------------------------------------------------------------------- /classes/CubeViz/Exception.php: -------------------------------------------------------------------------------- 1 | resources()) !== count($graph2->resources())) { 62 | return null; 63 | } 64 | 65 | // Check grounded statements and collect statements with bnodes 66 | $bnodes1 = array(); 67 | foreach ($graph1->resources() as $resource) { 68 | if ($resource->isBnode()) { 69 | array_push($bnodes1, $resource); 70 | } else { 71 | foreach ($resource->propertyUris() as $property) { 72 | foreach ($resource->all($property) as $value) { 73 | if (!$graph2->hasProperty($property, $value)) { 74 | // $graph1 has a triple that isn't in $graph2 75 | return null; 76 | } 77 | } 78 | } 79 | } 80 | } 81 | 82 | // Collect all the bnodes in the second graph 83 | $bnodes2 = array(); 84 | foreach ($graph2->resources() as $resource) { 85 | array_push($bnodes2, $resource); 86 | 87 | } 88 | 89 | // ?? 90 | return true; 91 | } 92 | 93 | } 94 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Literal/Boolean.php: -------------------------------------------------------------------------------- 1 | _value) === 'true' or $this->_value === '1'; 74 | } 75 | 76 | /** Return true if the value of the literal is 'true' or '1' 77 | * 78 | * @return bool 79 | */ 80 | public function isTrue() 81 | { 82 | return strtolower($this->_value) === 'true' or $this->_value === '1'; 83 | } 84 | 85 | /** Return true if the value of the literal is 'false' or '0' 86 | * 87 | * @return bool 88 | */ 89 | public function isFalse() 90 | { 91 | return strtolower($this->_value) === 'false' or $this->_value === '0'; 92 | } 93 | } 94 | 95 | EasyRdf_Literal::setDatatypeMapping('xsd:boolean', 'EasyRdf_Literal_Boolean'); 96 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Literal/DateTime.php: -------------------------------------------------------------------------------- 1 | format(DateTime::ISO8601); 65 | $value = preg_replace('/[\+\-]00(\:?)00$/', 'Z', $iso); 66 | } 67 | 68 | EasyRdf_Literal::__construct($value, null, $datatype); 69 | } 70 | 71 | /** Parses a string using DateTime and creates a new literal 72 | * 73 | * Example: 74 | * $dt = EasyRdf_Literal_DateTime::parse('Mon 18 Jul 2011 18:45:43 BST'); 75 | * 76 | * @see DateTime 77 | * @param string $value The date and time to parse 78 | * @return object EasyRdf_Literal_DateTime 79 | */ 80 | public static function parse($value) 81 | { 82 | $value = new DateTime($value); 83 | return new EasyRdf_Literal_DateTime($value); 84 | } 85 | 86 | /** 24-hour format of the hour as an integer 87 | * 88 | * @return integer 89 | */ 90 | public function hour() 91 | { 92 | return (int)$this->format('H'); 93 | } 94 | 95 | /** The minutes pasts the hour as an integer 96 | * 97 | * @return integer 98 | */ 99 | public function min() 100 | { 101 | return (int)$this->format('i'); 102 | } 103 | 104 | /** The seconds pasts the minute as an integer 105 | * 106 | * @return integer 107 | */ 108 | public function sec() 109 | { 110 | return (int)$this->format('s'); 111 | } 112 | } 113 | 114 | EasyRdf_Literal::setDatatypeMapping('xsd:dateTime', 'EasyRdf_Literal_DateTime'); 115 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Literal/Decimal.php: -------------------------------------------------------------------------------- 1 | _value; 68 | } 69 | } 70 | 71 | EasyRdf_Literal::setDatatypeMapping('xsd:decimal', 'EasyRdf_Literal_Decimal'); 72 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Literal/HexBinary.php: -------------------------------------------------------------------------------- 1 | _value); 89 | } 90 | } 91 | 92 | EasyRdf_Literal::setDatatypeMapping('xsd:hexBinary', 'EasyRdf_Literal_HexBinary'); 93 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Literal/Integer.php: -------------------------------------------------------------------------------- 1 | _value; 68 | } 69 | } 70 | 71 | EasyRdf_Literal::setDatatypeMapping('xsd:integer', 'EasyRdf_Literal_Integer'); 72 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Parser/Arc.php: -------------------------------------------------------------------------------- 1 | 'RDFXML', 50 | 'turtle' => 'Turtle', 51 | 'ntriples' => 'Turtle', 52 | 'rdfa' => 'SemHTML', 53 | ); 54 | 55 | /** 56 | * Constructor 57 | * 58 | * @return object EasyRdf_Parser_Arc 59 | */ 60 | public function __construct() 61 | { 62 | require_once 'arc/ARC2.php'; 63 | } 64 | 65 | /** 66 | * Parse an RDF document into an EasyRdf_Graph 67 | * 68 | * @param object EasyRdf_Graph $graph the graph to load the data into 69 | * @param string $data the RDF document data 70 | * @param string $format the format of the input data 71 | * @param string $baseUri the base URI of the data being parsed 72 | * @return integer The number of triples added to the graph 73 | */ 74 | public function parse($graph, $data, $format, $baseUri) 75 | { 76 | parent::checkParseParams($graph, $data, $format, $baseUri); 77 | 78 | if (array_key_exists($format, self::$_supportedTypes)) { 79 | $className = self::$_supportedTypes[$format]; 80 | } else { 81 | throw new EasyRdf_Exception( 82 | "EasyRdf_Parser_Arc does not support: $format" 83 | ); 84 | } 85 | 86 | $parser = ARC2::getParser($className); 87 | if ($parser) { 88 | $parser->parse($baseUri, $data); 89 | $rdfphp = $parser->getSimpleIndex(false); 90 | return parent::parse($graph, $rdfphp, 'php', $baseUri); 91 | } else { 92 | throw new EasyRdf_Exception( 93 | "ARC2 failed to get a $className parser." 94 | ); 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Parser/Rapper.php: -------------------------------------------------------------------------------- 1 | /dev/null", $output, $status); 61 | if ($status != 0) { 62 | throw new EasyRdf_Exception( 63 | "Failed to execute the command '$rapperCmd': $result" 64 | ); 65 | } else if (version_compare($result, self::MINIMUM_RAPPER_VERSION) < 0) { 66 | throw new EasyRdf_Exception( 67 | "Version ".self::MINIMUM_RAPPER_VERSION." or higher of rapper is required." 68 | ); 69 | } else { 70 | $this->_rapperCmd = $rapperCmd; 71 | } 72 | } 73 | 74 | /** 75 | * Parse an RDF document into an EasyRdf_Graph 76 | * 77 | * @param object EasyRdf_Graph $graph the graph to load the data into 78 | * @param string $data the RDF document data 79 | * @param string $format the format of the input data 80 | * @param string $baseUri the base URI of the data being parsed 81 | * @return integer The number of triples added to the graph 82 | */ 83 | public function parse($graph, $data, $format, $baseUri) 84 | { 85 | parent::checkParseParams($graph, $data, $format, $baseUri); 86 | 87 | $json = EasyRdf_Utils::execCommandPipe( 88 | $this->_rapperCmd, 89 | array( 90 | '--quiet', 91 | '--input', $format, 92 | '--output', 'json', 93 | '--ignore-errors', 94 | '--input-uri', $baseUri, 95 | '--output-uri', '-', '-' 96 | ), 97 | $data 98 | ); 99 | 100 | // Parse in the JSON 101 | return parent::parse($graph, $json, 'json', $baseUri); 102 | } 103 | } 104 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Parser/RdfPhp.php: -------------------------------------------------------------------------------- 1 | checkParseParams($graph, $data, $format, $baseUri); 71 | 72 | if ($format != 'php') { 73 | throw new EasyRdf_Exception( 74 | "EasyRdf_Parser_RdfPhp does not support: $format" 75 | ); 76 | } 77 | 78 | foreach ($data as $subject => $properties) { 79 | if (substr($subject, 0, 2) === '_:') { 80 | $subject = $this->remapBnode($subject); 81 | } elseif (preg_match('/^\w+$/', $subject)) { 82 | # Cope with invalid RDF/JSON serialisations that 83 | # put the node name in, without the _: prefix 84 | # (such as net.fortytwo.sesametools.rdfjson) 85 | $subject = $this->remapBnode($subject); 86 | } 87 | 88 | foreach ($properties as $property => $objects) { 89 | foreach ($objects as $object) { 90 | if ($object['type'] === 'bnode') { 91 | $object['value'] = $this->remapBnode($object['value']); 92 | } 93 | $this->addTriple($subject, $property, $object); 94 | } 95 | } 96 | } 97 | 98 | return $this->_tripleCount; 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Serialiser.php: -------------------------------------------------------------------------------- 1 | _prefixes[$prefix] = true; 58 | } 59 | 60 | /** 61 | * Check and cleanup parameters passed to serialise() method 62 | * @ignore 63 | */ 64 | protected function checkSerialiseParams(&$graph, &$format) 65 | { 66 | if ($graph == null or !is_object($graph) or 67 | get_class($graph) != 'EasyRdf_Graph') { 68 | throw new InvalidArgumentException( 69 | "\$graph should be an EasyRdf_Graph object and cannot be null" 70 | ); 71 | } 72 | 73 | if ($format == null or $format == '') { 74 | throw new InvalidArgumentException( 75 | "\$format cannot be null or empty" 76 | ); 77 | } else if (is_object($format) and 78 | get_class($format) == 'EasyRdf_Format') { 79 | $format = $format->getName(); 80 | } else if (!is_string($format)) { 81 | throw new InvalidArgumentException( 82 | "\$format should be a string or an EasyRdf_Format object" 83 | ); 84 | } 85 | } 86 | 87 | /** 88 | * Protected method to get the number of reverse properties for a resource 89 | * If a resource only has a single property, the number of values for that 90 | * property is returned instead. 91 | * @ignore 92 | */ 93 | protected function reversePropertyCount($resource) 94 | { 95 | $properties = $resource->reversePropertyUris(); 96 | $count = count($properties); 97 | if ($count == 1) { 98 | $property = $properties[0]; 99 | return $resource->count("^<$property>"); 100 | } else { 101 | return $count; 102 | } 103 | } 104 | 105 | /** 106 | * Sub-classes must follow this protocol 107 | * @ignore 108 | */ 109 | public function serialise($graph, $format) 110 | { 111 | throw new EasyRdf_Exception( 112 | "This method should be overridden by sub-classes." 113 | ); 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Serialiser/Arc.php: -------------------------------------------------------------------------------- 1 | 'RDFXML', 50 | 'turtle' => 'Turtle', 51 | 'ntriples' => 'NTriples', 52 | 'posh' => 'POSHRDF' 53 | ); 54 | 55 | /** 56 | * Constructor 57 | * 58 | * @return object EasyRdf_Serialiser_Arc 59 | */ 60 | public function __construct() 61 | { 62 | require_once 'arc/ARC2.php'; 63 | } 64 | 65 | /** 66 | * Serialise an EasyRdf_Graph into RDF format of choice. 67 | * 68 | * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. 69 | * @param string $format The name of the format to convert to. 70 | * @return string The RDF in the new desired format. 71 | */ 72 | public function serialise($graph, $format) 73 | { 74 | parent::checkSerialiseParams($graph, $format); 75 | 76 | if (array_key_exists($format, self::$_supportedTypes)) { 77 | $className = self::$_supportedTypes[$format]; 78 | } else { 79 | throw new EasyRdf_Exception( 80 | "EasyRdf_Serialiser_Arc does not support: $format" 81 | ); 82 | } 83 | 84 | $serialiser = ARC2::getSer($className); 85 | if ($serialiser) { 86 | return $serialiser->getSerializedIndex( 87 | parent::serialise($graph, 'php') 88 | ); 89 | } else { 90 | throw new EasyRdf_Exception( 91 | "ARC2 failed to get a $className serialiser." 92 | ); 93 | } 94 | } 95 | } 96 | 97 | EasyRdf_Format::register('posh', 'poshRDF'); 98 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Serialiser/Json.php: -------------------------------------------------------------------------------- 1 | /dev/null", $output, $status); 62 | if ($status != 0) { 63 | throw new EasyRdf_Exception( 64 | "Failed to execute the command '$rapperCmd': $result" 65 | ); 66 | } else { 67 | $this->_rapperCmd = $rapperCmd; 68 | } 69 | } 70 | 71 | /** 72 | * Serialise an EasyRdf_Graph to the RDF format of choice. 73 | * 74 | * @param object EasyRdf_Graph $graph An EasyRdf_Graph object. 75 | * @param string $format The name of the format to convert to. 76 | * @return string The RDF in the new desired format. 77 | */ 78 | public function serialise($graph, $format) 79 | { 80 | parent::checkSerialiseParams($graph, $format); 81 | 82 | $ntriples = parent::serialise($graph, 'ntriples'); 83 | 84 | // Hack to produce more concise RDF/XML 85 | if ($format == 'rdfxml') $format = 'rdfxml-abbrev'; 86 | 87 | return EasyRdf_Utils::execCommandPipe( 88 | $this->_rapperCmd, 89 | array( 90 | '--quiet', 91 | '--input', 'ntriples', 92 | '--output', $format, 93 | '-', 'unknown://' 94 | ), 95 | $ntriples 96 | ); 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /classes/foreign/EasyRdf/lib/EasyRdf/Serialiser/RdfPhp.php: -------------------------------------------------------------------------------- 1 | toArray(); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /deployment/additional-files/Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | @echo "" 3 | @echo "CubeViz - Installation" 4 | @echo " make install > setup cubeviz" 5 | @echo "" 6 | 7 | install: 8 | cp ChartConfig.js.dist ChartConfig.js 9 | -------------------------------------------------------------------------------- /deployment/additional-files/config.ini: -------------------------------------------------------------------------------- 1 | ;; 2 | ; OntoWiki user config file 3 | ; 4 | ; Settings here will overwrite values 5 | ; from default.ini. 6 | ; 7 | ; @package application 8 | ; @subpackage config 9 | ; @copyright Copyright (c) 2010, {@link http://aksw.org AKSW} 10 | ; @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL) 11 | ;; 12 | 13 | [private] 14 | 15 | ;; 16 | ; Database setup 17 | ; In most cases you only need to change username, password 18 | ; and database name (dbname). 19 | 20 | store.backend = virtuoso ; zenddb, virtuoso, arc, comparer 21 | 22 | store.virtuoso.dsn = VOS 23 | store.virtuoso.username = "dba" 24 | store.virtuoso.password = "dba" 25 | ; affect the main search: searches <= 4 will be exact search (instead of bif:contains) 26 | store.virtuoso.search_max_length_for_bifcontains = "4" 27 | ;store.virtuoso.use_persistent_connection = true 28 | 29 | ;; 30 | ; Frontend language 31 | ;; 32 | languages.locale = "en" ; en, de, ru, zh (Chinese) 33 | 34 | ; Default index action if called action wasn't found and on startup 35 | index.default.controller = "page" 36 | index.default.action = "index" 37 | 38 | ; cache.enable = true 39 | ; cache.query.enable = true 40 | 41 | ;; 42 | ; 43 | ;; 44 | 45 | debug = false 46 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/ExamplemodelController.php: -------------------------------------------------------------------------------- 1 | _helper->viewRenderer->setNoRender(); 25 | $this->_helper->layout->disableLayout(); 26 | 27 | // set example knowledge base uri (based on the one in static/data/exampleCube.ttl!) 28 | $ns = 'http://example.cubeviz.org/datacube/'; 29 | 30 | // Check if example knowledge base is NOT available yet. 31 | if (false == $this->_erfurt->getStore()->isModelAvailable ($ns)) { 32 | 33 | // set file related stuff 34 | $ttl = file_get_contents ( __DIR__ .'/static/data/exampleCube.ttl' ); 35 | 36 | // echo $ttl; 37 | 38 | // try to create new model 39 | $m = $this->_erfurt->getStore()->getNewModel($ns); 40 | 41 | $filetype = 'ttl'; 42 | $locator = Erfurt_Syntax_RdfParser::LOCATOR_DATASTRING; 43 | 44 | // import given file content 45 | $this->_erfurt->getStore()->importRdf ( $ns, $ttl, $filetype, $locator ); 46 | 47 | // redirect to model select view 48 | $location = $this->_config->staticUrlBase .'page/gettingstarted/'; 49 | header ('Location: '. $location); 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/ExamplemodelModule.php: -------------------------------------------------------------------------------- 1 | 11 | * @copyright Copyright (c) 2012, {@link http://aksw.org AKSW} 12 | * @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL) 13 | */ 14 | class ExamplemodelModule extends OntoWiki_Module 15 | { 16 | protected $session = null; 17 | 18 | public function init() { 19 | $this->session = $this->_owApp->session; 20 | } 21 | 22 | public function getTitle() { 23 | $title = $this->_privateConfig->toArray(); 24 | return 'Examples'; 25 | } 26 | 27 | public function shouldShow(){ 28 | // set example knowledge base uri (based on the one in static/data/exampleCube.ttl!) 29 | $ns = 'http://example.cubeviz.org/datacube/'; 30 | 31 | $allow = $this->_erfurt->getAc()->getAllowedActions (); 32 | $allow = ( true == isset ($allow[0]) && 33 | 'http://ns.ontowiki.net/SysOnt/RegisterNewUser' != $allow[0] ) || 34 | 0 == count($allow) 35 | ? true 36 | : false; 37 | 38 | // Check if example knowledge base is NOT available yet. 39 | if (false == $this->_erfurt->getStore()->isModelAvailable ($ns) && true == $allow) { 40 | return true; 41 | } else { 42 | return false; 43 | } 44 | } 45 | 46 | /** 47 | * Returns the content 48 | */ 49 | public function getContents() { 50 | 51 | $this->view->basePath = $this->_config->staticUrlBase . 'extensions/examplemodel/'; 52 | $this->view->createKnowledgebaseLink = $this->_config->staticUrlBase . 'examplemodel/create'; 53 | 54 | return $this->render('static/templates/examplemodel/Examplemodel'); 55 | } 56 | 57 | public function layoutType(){ 58 | return 'inline'; 59 | } 60 | 61 | } 62 | 63 | 64 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/README.md: -------------------------------------------------------------------------------- 1 | ## Example model 2 | 3 | Simple component and module which creates a new knowledge base with example DataCube information to visualize. 4 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/doap.n3: -------------------------------------------------------------------------------- 1 | @prefix xsd: . 2 | @prefix doap: . 3 | @prefix rdfs: . 4 | @prefix owconfig: . 5 | @prefix extension: . 6 | @prefix foaf: . 7 | @prefix event: . 8 | @prefix : . 9 | 10 | <> foaf:primaryTopic :examplemodel . 11 | :examplemodel a doap:Project ; 12 | 13 | doap:release :v1-0 ; 14 | doap:description "" ; 15 | doap:name "Example model" ; 16 | 17 | owconfig:authorLabel "Konrad Abicht (konrad@inspirito.de)" ; 18 | owconfig:enabled "true"^^xsd:boolean ; 19 | owconfig:hasModule :Default ; 20 | owconfig:privateNamespace ; 21 | owconfig:templates "static/templates" ; 22 | 23 | rdfs:label "Example model" . 24 | 25 | :Default a owconfig:Module ; 26 | 27 | rdfs:label "Example model" ; 28 | 29 | owconfig:caching "false"^^xsd:boolean ; 30 | owconfig:priority "30" ; 31 | owconfig:context "main.sidewindows" . 32 | 33 | :examplemodel doap:release :v1-0 . 34 | 35 | :v1-0 a doap:Version ; 36 | doap:revision "1.0" . 37 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/static/css/base.css: -------------------------------------------------------------------------------- 1 | #examplemodel-link { 2 | font-weight: bold; 3 | vertical-align: middle; 4 | } 5 | 6 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/static/images/icon-implicit-mini.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/examplemodel/static/images/icon-implicit-mini.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/static/templates/examplemodel/Examplemodel.phtml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 11 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/examplemodel/static/templates/examplemodel/index.phtml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/PageController.php: -------------------------------------------------------------------------------- 1 | 11 | * @copyright Copyright (c) 2008, {@link http://aksw.org AKSW} 12 | * @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL) 13 | * @version $Id$ 14 | */ 15 | class PageController extends OntoWiki_Controller_Component 16 | { 17 | /** 18 | * Default action. Forwards to get action. 19 | */ 20 | public function __call($action, $params) 21 | { 22 | $owN = new OntoWiki_Navigation (); 23 | $owN->disableNavigation(); 24 | 25 | $_REQUEST ['urlBase'] = $this->_config->staticUrlBase; 26 | 27 | $this->render(str_replace ( 'Action', '', $action)); 28 | } 29 | 30 | } 31 | 32 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/doap.n3: -------------------------------------------------------------------------------- 1 | @prefix xsd: . 2 | @prefix doap: . 3 | @prefix rdfs: . 4 | @prefix owconfig: . 5 | @prefix extension: . 6 | @prefix foaf: . 7 | @prefix event: . 8 | @prefix : . 9 | 10 | <> foaf:primaryTopic :this . 11 | :this a doap:Project ; 12 | doap:name "page" ; 13 | owconfig:privateNamespace ; 14 | owconfig:templates "." ; 15 | owconfig:enabled "true"^^xsd:boolean ; 16 | rdfs:label "Pages" ; 17 | doap:description "redirect controller actions to template calls. a minimal filesystem-based CMS. see the 'site' extension for a more sophisticated variant" ; 18 | owconfig:authorLabel "AKSW" ; 19 | doap:maintainer ; 20 | owconfig:config [ 21 | a owconfig:Config; 22 | owconfig:id "titles"; 23 | :example "European Commission - Open Data Portal" 24 | ] ; 25 | doap:release :v1-0 . 26 | :v1-0 a doap:Version ; 27 | doap:revision "1.0" . 28 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/border1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/border1.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/border2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/border2.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderBottomCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderBottomCenter.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderBottomLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderBottomLeft.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderBottomRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderBottomRight.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderMiddleLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderMiddleLeft.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderMiddleRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderMiddleRight.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderTopCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderTopCenter.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderTopLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderTopLeft.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderTopRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/ie6/borderTopRight.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/colorbox/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/colorbox/images/loading.gif -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-bar.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-column.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-home-background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-home-background.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-home-polar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-home-polar.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-pie.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-spline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-spline.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-windrose-axisSwitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-windrose-axisSwitch.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-windrose-column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-windrose-column.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/cubeviz-windrose-stacking-logarithm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/cubeviz-windrose-stacking-logarithm.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/data_selection_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/data_selection_dialog.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/data_selection_module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/data_selection_module.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/example1-CubeViz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/example1-CubeViz.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/example1-DAS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/example1-DAS.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/example2-CubeViz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/example2-CubeViz.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/example2-DAS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/example2-DAS.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/page/page/images/tryit-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/deployment/additional-files/extensions/page/page/images/tryit-arrow.png -------------------------------------------------------------------------------- /deployment/additional-files/extensions/staticlinks/README.md: -------------------------------------------------------------------------------- 1 | staticlinks.ontowiki 2 | ==================== 3 | 4 | staticlinks.ontowiki is a module on the left sidebar which can be used to provide configurable static links -------------------------------------------------------------------------------- /deployment/additional-files/extensions/staticlinks/StaticlinksModule.php: -------------------------------------------------------------------------------- 1 | 11 | * @copyright Copyright (c) 2012, {@link http://aksw.org AKSW} 12 | * @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL) 13 | */ 14 | class StaticlinksModule extends OntoWiki_Module 15 | { 16 | protected $session = null; 17 | 18 | public function init() { 19 | $this->session = $this->_owApp->session; 20 | } 21 | 22 | public function getTitle() { 23 | $title = $this->_privateConfig->toArray(); 24 | return ''; // true == isset ( $title ['module']['title'] ) ? $title ['module']['title'] : 'Links'; 25 | } 26 | 27 | public function shouldShow(){ 28 | return true; 29 | } 30 | 31 | /** 32 | * Returns the content 33 | */ 34 | public function getContents() { 35 | 36 | $this->view->basePath = $this->_config->staticUrlBase . "extensions/staticlinks/"; 37 | 38 | $this->view->links = array (); 39 | 40 | foreach ( $this->_privateConfig->toArray() as $key => $entry ) { 41 | if ( false !== strpos ( $key, 'Link_' ) ) { 42 | if ( false === strpos ( $entry ['href'], 'http://' ) ) { 43 | $entry ['href'] = $this->_config->staticUrlBase .'page/'. $entry ['href']; 44 | } 45 | $this->view->links [] = $entry; 46 | } 47 | } 48 | 49 | return $this->render('static/templates/StaticLinksModule'); 50 | } 51 | 52 | public function layoutType(){ 53 | return "inline"; 54 | } 55 | 56 | } 57 | 58 | 59 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/staticlinks/doap.n3: -------------------------------------------------------------------------------- 1 | @prefix xsd: . 2 | @prefix doap: . 3 | @prefix rdfs: . 4 | @prefix owconfig: . 5 | @prefix extension: . 6 | @prefix foaf: . 7 | @prefix event: . 8 | @prefix : . 9 | 10 | <> foaf:primaryTopic :staticlinks . 11 | :staticlinks a doap:Project ; 12 | 13 | doap:release :v1-0 ; 14 | doap:description "" ; 15 | doap:name "Static Links" ; 16 | 17 | owconfig:authorLabel "" ; 18 | owconfig:enabled "true"^^xsd:boolean ; 19 | owconfig:hasModule :Default ; 20 | owconfig:privateNamespace ; 21 | owconfig:templates "static/templates" ; 22 | 23 | rdfs:label "Static Links" . 24 | 25 | :Default a owconfig:Module ; 26 | 27 | rdfs:label "Static Links" ; 28 | 29 | owconfig:caching "false"^^xsd:boolean ; 30 | owconfig:priority "40" ; 31 | owconfig:context "main.sidewindows" . 32 | 33 | :staticlinks doap:release :v1-0 . 34 | 35 | :v1-0 a doap:Version ; 36 | doap:revision "1.0" . 37 | 38 | 39 | 40 | 41 | :staticlinks 42 | owconfig:config [ 43 | a owconfig:Config; 44 | owconfig:id "Link_Index"; 45 | :href "index"; 46 | :label "CubeViz Home"; 47 | :title "CubeViz Home"; 48 | :target "_self" 49 | ] ; 50 | owconfig:config [ 51 | a owconfig:Config; 52 | owconfig:id "Link_HowTo"; 53 | :href "howto"; 54 | :label "HowTo"; 55 | :title "How to use CubeViz"; 56 | :target "_self" 57 | ] ; 58 | owconfig:config [ 59 | a owconfig:Config; 60 | owconfig:id "Link_Examples"; 61 | :href "examples"; 62 | :label "Examples"; 63 | :title "Examples"; 64 | :target "_self" 65 | ] ; 66 | owconfig:config [ 67 | a owconfig:Config; 68 | owconfig:id "Link_Faq"; 69 | :href "faq"; 70 | :label "FAQ"; 71 | :title "Frequently Asked Questions"; 72 | :target "_self" 73 | ] ; 74 | owconfig:config [ 75 | a owconfig:Config; 76 | owconfig:id "Link_AKSW"; 77 | :href "http://aksw.org/Projects/CubeViz.html"; 78 | :label "Project Homepage"; 79 | :title "CubeViz Project Homepage"; 80 | :target "_blank" 81 | ] 82 | . 83 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/staticlinks/static/css/base.css: -------------------------------------------------------------------------------- 1 | #staticLinksModuleContainer { 2 | width: 200px; 3 | height: auto; 4 | font-size: 12px; 5 | } 6 | 7 | #staticLinksModuleContainer a { 8 | color: #7B7B7B; 9 | } 10 | 11 | .staticLinkListItem { 12 | line-height:1.5em; 13 | 14 | } 15 | -------------------------------------------------------------------------------- /deployment/additional-files/extensions/staticlinks/static/templates/StaticLinksModule.phtml: -------------------------------------------------------------------------------- 1 | 4 | 5 |
6 |
7 |
    8 | links as $link) { ?> 9 | 10 |
  • 11 | 12 | 13 |
  • 14 | 15 | 16 |
17 |
18 |
19 | -------------------------------------------------------------------------------- /deployment/debian/Makefile/Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | 3 | prepare: 4 | rm -f ../../Makefile 5 | rm -f ../../classes/foreign/EasyRdf/LICENSE.md 6 | rm -f ../../public/images/semicon/LICENSE.md 7 | cp ../../doap.n3.dist ../../doap.n3 8 | cp ../../ChartConfig.js.dist ../../ChartConfig.js 9 | 10 | clean: 11 | rm -rf ../files 12 | rm -rf ../*.debhelper.log 13 | rm -rf ../*.substvars 14 | rm -rf ../ontowiki-cubeviz 15 | 16 | -------------------------------------------------------------------------------- /deployment/debian/Readme.md: -------------------------------------------------------------------------------- 1 | # manual debian packaging steps 2 | 3 | * clone cubeviz.ontowiki repo to ontowiki-cubeviz directory (name of the package) 4 | * mv deployment/debian to debian in cubeviz root 5 | * cd ./debian/Makefile; make prepare 6 | * cd ./debian/; dch -i (then edit file) 7 | * debuild 8 | 9 | # post processing 10 | 11 | * cd ./debian/Makefile; make clean 12 | * mv debian deployment/debian 13 | * commit and push changes in deployment/debian 14 | 15 | -------------------------------------------------------------------------------- /deployment/debian/changelog: -------------------------------------------------------------------------------- 1 | ontowiki-cubeviz (1.0-2) lod2; urgency=low 2 | 3 | * New legend (Observations and selections) 4 | * User Interface to create mashups of qb Datasets (prototypical) 5 | * reactivate IE8 compatibility 6 | * prototypical D3.js chart integration (cluster visualization) 7 | * BugFixes (removal of unselected dimension elements from legend, reactivation of introspection, configurable amount of selectable dimension elements, reactivation of sort axis functionality) 8 | 9 | -- Michael Martin Thu, 06 Feb 2014 17:48:30 +0200 10 | 11 | ontowiki-cubeviz (1.0-1) lod2; urgency=low 12 | 13 | * initial cubeviz 1.0 package 14 | 15 | -- Sebastian Tramp Wed, 16 Oct 2013 10:48:30 +0200 16 | 17 | ontowiki-cubeviz (0.8.1) lod2; urgency=low 18 | 19 | * Exporter: use is_array before uri check 20 | * Add check which function to get cacheDir is valid 21 | * small modifications on Query.php 22 | 23 | -- Sebastian Tramp Fri, 12 Jul 2013 13:24:06 +0200 24 | 25 | ontowiki-cubeviz (0.5) lod2; urgency=low 26 | 27 | * intitial version of cubeviz for OntoWiki 0.9.6 28 | 29 | -- Sebastian Tramp Wed, 28 Nov 2012 14:17:25 +0100 30 | -------------------------------------------------------------------------------- /deployment/debian/compat: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /deployment/debian/control: -------------------------------------------------------------------------------- 1 | Source: ontowiki-cubeviz 2 | Section: web 3 | Priority: extra 4 | Maintainer: Sebastian Tramp 5 | Build-Depends: debhelper (>= 7.0.50~) 6 | Standards-Version: 3.9.3 7 | Homepage: https://github.com/AKSW/cubeviz.ontowiki/ 8 | Vcs-Git: git://github.com/AKSW/cubeviz.ontowiki.git 9 | Vcs-Browser: https://github.com/AKSW/cubeviz.ontowiki/ 10 | 11 | Package: ontowiki-cubeviz 12 | Architecture: all 13 | Depends: ontowiki-virtuoso, ${misc:Depends} 14 | Description: RDF DataCube Browser 15 | CubeViz is an OntoWiki component providing faceted browsing in statistical 16 | data in the Linked Data Web. It was set up and adopted to be part of the 17 | Data Portal of the European Union. CubeViz utilizing the RDF DataCube 18 | vocabulary which is the state-of-the-art in representing statistical data 19 | in Resource Description Framework (RDF). This vocabulary is compatible with 20 | SDMX and increasingly being adopted. Based on the vocabulary and the encoded 21 | Data Cube, CubeViz is generating a facetted browsing widget that can be used 22 | to filter interactively observations to be visualized in charts. Based on the 23 | selected structure, CubeViz offer beneficiary chart types and options which 24 | can be selected by users. 25 | . 26 | CubeViz is part of the LOD2 Technology Stack. 27 | 28 | -------------------------------------------------------------------------------- /deployment/debian/install: -------------------------------------------------------------------------------- 1 | classes usr/share/ontowiki-cubeviz 2 | CubevizController.php usr/share/ontowiki-cubeviz 3 | CubevizHelper.php usr/share/ontowiki-cubeviz 4 | DataselectionModule.php usr/share/ontowiki-cubeviz 5 | languages usr/share/ontowiki-cubeviz 6 | public usr/share/ontowiki-cubeviz 7 | 8 | doap.n3 etc/ontowiki-cubeviz 9 | ChartConfig.js etc/ontowiki-cubeviz 10 | 11 | README.md usr/share/doc/ontowiki-cubeviz 12 | 13 | -------------------------------------------------------------------------------- /deployment/debian/links: -------------------------------------------------------------------------------- 1 | /etc/ontowiki-cubeviz/doap.n3 usr/share/ontowiki-cubeviz/doap.n3 2 | /etc/ontowiki-cubeviz/ChartConfig.js usr/share/ontowiki-cubeviz/ChartConfig.js 3 | /usr/share/ontowiki-cubeviz /usr/share/ontowiki/extensions/cubeviz 4 | -------------------------------------------------------------------------------- /deployment/debian/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh -e 2 | # postinst script 3 | # 4 | # see: dh_installdeb(1) 5 | 6 | # this will force OntoWiki to reload all extensions 7 | rm -f /var/cache/ontowiki/zend_cache---OW_ow_extensionConfig 8 | 9 | #DEBHELPER# 10 | 11 | -------------------------------------------------------------------------------- /deployment/debian/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # -*- makefile -*- 3 | # Sample debian/rules that uses debhelper. 4 | # This file was originally written by Joey Hess and Craig Small. 5 | # As a special exception, when this file is copied by dh-make into a 6 | # dh-make output file, you may use that output file without restriction. 7 | # This special exception was added by Craig Small in version 0.37 of dh-make. 8 | 9 | # Uncomment this to turn on verbose mode. 10 | #export DH_VERBOSE=1 11 | 12 | %: 13 | dh $@ 14 | -------------------------------------------------------------------------------- /deployment/debian/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /deployment/generated-packages/.gitignore: -------------------------------------------------------------------------------- 1 | *.* 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /deployment/scripts/createCubeViz.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Set variables 4 | cubevizRoot="$PWD" 5 | packageName="cubeviz" 6 | 7 | 8 | # Start the action ... 9 | echo "" 10 | echo "- Delete previously created tar-package folder in generated-packages" 11 | rm -rf $cubevizRoot/deployment/generated-packages/$packageName 12 | 13 | echo "" 14 | echo "- Create tar-package folder in generated-packages" 15 | mkdir $cubevizRoot/deployment/generated-packages/$packageName 16 | 17 | echo "" 18 | echo "- Copy files to tar-package folder:" 19 | echo "" 20 | rsync -av --exclude='.git' \ 21 | --exclude='assets' \ 22 | --exclude='ChartConfig.js' \ 23 | --exclude='data' \ 24 | --exclude='deployment' \ 25 | --exclude='doap.n3' \ 26 | --exclude='Makefile' \ 27 | --exclude='public/javascript/Test.js' \ 28 | --exclude='public/javascript/Main.js' \ 29 | --exclude='README.md' \ 30 | --exclude='tests' \ 31 | --exclude='typescript' \ 32 | $cubevizRoot/* $cubevizRoot/deployment/generated-packages/$packageName 33 | 34 | echo "" 35 | echo "- Copy files (README, adapted Makefile, ChartConfig.js)" 36 | mv $cubevizRoot/deployment/generated-packages/$packageName/LICENSE.md $cubevizRoot/deployment/generated-packages/$packageName/LICENSE.txt 37 | cp $cubevizRoot/deployment/additional-files/Makefile $cubevizRoot/deployment/generated-packages/$packageName 38 | cp $cubevizRoot/README.md $cubevizRoot/deployment/generated-packages/$packageName/README.txt 39 | mv $cubevizRoot/deployment/generated-packages/$packageName/ChartConfig.js.dist $cubevizRoot/deployment/generated-packages/$packageName/ChartConfig.js 40 | mv $cubevizRoot/deployment/generated-packages/$packageName/doap.n3-dist $cubevizRoot/deployment/generated-packages/$packageName/doap.n3 41 | 42 | echo "" 43 | echo "- Generate archive" 44 | cd deployment/generated-packages 45 | rm -f $packageName.tar.gz 46 | tar -pcvzf $packageName.tar.gz $packageName 47 | 48 | echo "" 49 | echo "- Remove folder cubeviz" 50 | rm -rf cubeviz 51 | 52 | echo "" 53 | -------------------------------------------------------------------------------- /public/css/AnalyzeAction/integrityConstraints.css: -------------------------------------------------------------------------------- 1 | .cubeviz-integrityConstraintBox 2 | { 3 | min-width: 70px; 4 | max-width: 120px; 5 | height: 40px; 6 | padding-left: 7px; 7 | padding-top: 9px; 8 | padding-right: 7px; 9 | padding-bottom: 12px; 10 | margin: 0 auto 20px; 11 | background-color: #fff; 12 | border: 1px solid #e5e5e5; 13 | -webkit-border-radius: 5px; 14 | -moz-border-radius: 5px; 15 | border-radius: 5px; 16 | -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05); 17 | -moz-box-shadow: 0 1px 2px rgba(0,0,0,.05); 18 | box-shadow: 0 1px 2px rgba(0,0,0,.05); 19 | } 20 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/attribute.css: -------------------------------------------------------------------------------- 1 | #cubeviz-attribute-label 2 | { 3 | font-size: 13.5px; 4 | } 5 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/component.css: -------------------------------------------------------------------------------- 1 | .cubeviz-component-box 2 | { 3 | clear: both; 4 | padding-top: 5px; 5 | height: auto; 6 | display: block; 7 | } 8 | 9 | #cubviz-component-container 10 | { 11 | clear: both; 12 | display: block; 13 | } 14 | 15 | .cubeviz-legend-componentDimensionInfoList 16 | { 17 | list-style-type: none; 18 | } 19 | 20 | .cubeviz-component-dimensionLabel 21 | { 22 | font-size: 13.5px; 23 | } 24 | 25 | .cubeviz-component-selectedElementsBlock 26 | { 27 | color: #696969; 28 | font-size: 11px; 29 | } 30 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/dataSelectionModule.css: -------------------------------------------------------------------------------- 1 | .cubeviz-dataSelectionModule-blockSeparator 2 | { 3 | clear: both; 4 | margin-bottom: 11px; 5 | } 6 | 7 | #cubeviz-dataSelectionModule-dataSelection 8 | { 9 | margin-top: 0px; 10 | } 11 | 12 | .cubeviz-dataSelectionModule-dialogSortButtonSelected 13 | { 14 | } 15 | 16 | .cubeviz-dataSelectionModule-dialogElements 17 | { 18 | border: 1px solid #D0D0D0; 19 | list-style-type: none; 20 | padding-top: 5px; 21 | padding-left: 10px; 22 | padding-right: 0px; 23 | padding-bottom: 10px; 24 | margin-left: 0px; 25 | margin-top: 10px; 26 | margin-bottom: 10px; 27 | 28 | height: 290px; 29 | max-height: 290px; 30 | min-height: 290px; 31 | 32 | width: 98%; 33 | 34 | overflow-y: scroll; 35 | } 36 | 37 | .cubeviz-dataSelectionModule-dialogElements li 38 | { 39 | margin-top: 4px; 40 | margin-left: 4px; 41 | } 42 | 43 | .cubeviz-dataSelectionModule-dialog-smallDescription 44 | { 45 | color: #696969; 46 | font-size: 11px; 47 | } 48 | 49 | .cubeviz-dataSelectionModule-leftBlock 50 | { 51 | float: left; 52 | height: 30px; 53 | width: 20px; 54 | text-align: center; 55 | margin-top: 3px; 56 | } 57 | 58 | .cubeviz-dataSelectionModule-headline 59 | { 60 | font-size: 12.5px; 61 | font-weight: bold; 62 | margin-left: 10px; 63 | clear: both; 64 | height: 5px; 65 | min-height: 5px; 66 | max-height: 5px; 67 | padding-top: 5px; 68 | padding-bottom: 25px; 69 | } 70 | 71 | .cubeviz-dataSelectionModule-middleBlock 72 | { 73 | float: left; 74 | width: 140px; 75 | margin-left: 20px; 76 | } 77 | 78 | .cubeviz-dataSelectionModule-rightBlock 79 | { 80 | float: left; 81 | width: 60px; 82 | min-width: 60px; 83 | height: 30px; 84 | text-align: right; 85 | padding-top: 4px; 86 | } 87 | 88 | .cubeviz-dataSelectionModule-smallDescription 89 | { 90 | color: #696969; 91 | font-size: 11px; 92 | } 93 | 94 | #cubeviz-dataSelectionModule-spinner 95 | { 96 | display: none; 97 | width: 100%; 98 | text-align: center; 99 | } 100 | 101 | .cubeviz-dataSelectionModule-visualSeparator 102 | { 103 | clear: both; 104 | height: 5px; 105 | min-height: 5px; 106 | max-height: 5px; 107 | padding-top: 1px; 108 | padding-bottom: 25px; 109 | } 110 | 111 | .cubeviz-dataSelectionModule-visualSeparator hr 112 | { 113 | background: #DADADA; 114 | border: 0px; 115 | height: 1px; 116 | margin-top: 20px; 117 | } 118 | 119 | 120 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/dataSet.css: -------------------------------------------------------------------------------- 1 | #cubeviz-dataSet-label 2 | { 3 | font-size: 13.5px; 4 | margin-top: 2px; 5 | } 6 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/footer.css: -------------------------------------------------------------------------------- 1 | #cubeviz-footer-container 2 | { 3 | clear: both; 4 | margin-left: 0px; 5 | margin-bottom: 5px; 6 | margin-right: 0px; 7 | padding: 0px; 8 | width: 100%; 9 | min-width: 100%; 10 | max-width: 100%; 11 | } 12 | 13 | #cubeviz-footer-permaLink 14 | { 15 | font-weight: bold; 16 | vertical-align: middle; 17 | } 18 | 19 | #cubeviz-footer-permaLinkButton 20 | { 21 | } 22 | 23 | #cubeviz-footer-permaLinkMenu 24 | { 25 | background-color: #FFFFFF; 26 | position: absolute; 27 | z-index: 10000; 28 | padding-top: 4px; 29 | padding-left: 8px; 30 | padding-right: 8px; 31 | padding-bottom: 4px; 32 | min-height: 18px; 33 | display: none; 34 | border: 1px solid #BDBDBD; 35 | border-radius: 5px 5px 5px 5px; 36 | -moz-border-radius: 5px 5px 5px 5px; 37 | } 38 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/measure.css: -------------------------------------------------------------------------------- 1 | #cubeviz-measure-label 2 | { 3 | font-size: 13.5px; 4 | margin-top: -1px; 5 | } 6 | -------------------------------------------------------------------------------- /public/css/DataselectionModule/slice.css: -------------------------------------------------------------------------------- 1 | #cubeviz-slice-label 2 | { 3 | font-size: 13.5px; 4 | margin-top: 4px; 5 | } 6 | -------------------------------------------------------------------------------- /public/css/IndexAction/exportArea.css: -------------------------------------------------------------------------------- 1 | #cubeviz-index-exportArea 2 | { 3 | float: right; 4 | padding-right: 20px; 5 | } 6 | -------------------------------------------------------------------------------- /public/css/IndexAction/header.css: -------------------------------------------------------------------------------- 1 | #cubeviz-index-header 2 | { 3 | margin-bottom: 0px; 4 | } 5 | 6 | #cubeviz-index-headerSubheadline 7 | { 8 | margin-bottom: 5px; 9 | } 10 | 11 | #cubeviz-index-headerDialogBoxModelInformation 12 | { 13 | list-style-type: none; 14 | padding: 0px; 15 | margin-left: 0px; 16 | } 17 | 18 | .cubeviz-index-headerDialogBoxEntry 19 | { 20 | margin-top: 20px; 21 | } 22 | 23 | /** 24 | * Questionmark next to Model label 25 | */ 26 | #cubeviz-index-headerQuestionMarkHeadline 27 | { 28 | opacity:0.6; 29 | filter:alpha(opacity=60); 30 | } 31 | 32 | #cubeviz-index-headerQuestionMarkHeadline:hover 33 | { 34 | opacity: 1.0; 35 | filter:alpha(opacity=100); 36 | } 37 | 38 | .cubeviz-index-headerDialogBoxEntryContent { 39 | margin-top: -5px; 40 | } 41 | -------------------------------------------------------------------------------- /public/css/IndexAction/legend.css: -------------------------------------------------------------------------------- 1 | #cubeviz-index-legend 2 | { 3 | margin-bottom: 10px; 4 | float: left; 5 | } 6 | 7 | .cubeviz-legend-componentDimensionList 8 | { 9 | list-style-type: none; 10 | padding: 0px; 11 | margin-left: 0px; 12 | } 13 | 14 | .cubeviz-legend-componentDimensionListEntry 15 | { 16 | clear: both; 17 | } 18 | 19 | #cubeviz-legend-componentList 20 | { 21 | list-style-type: none; 22 | padding: 0px; 23 | margin-left: 0px; 24 | } 25 | 26 | .cubeviz-legend-componentDimensionEntry 27 | { 28 | float: left; 29 | padding-top: 10px; 30 | padding-bottom: 10px; 31 | padding-left: 0px; 32 | padding-right: 10px; 33 | border: 1px solid #BDBDBD; 34 | border-radius: 5px 5px 5px 5px; 35 | -moz-border-radius: 5px 5px 5px 5px; 36 | 37 | margin-top: 2px; 38 | 39 | height: auto; 40 | min-height: 10px; 41 | 42 | min-width: 70%; 43 | width: 70%; 44 | max-width: 70%; 45 | } 46 | 47 | .cubeviz-legend-componentDimensionIcon 48 | { 49 | float: left; 50 | width: 40px; 51 | min-height: 40px; 52 | text-align: center; 53 | } 54 | 55 | .cubeviz-legend-observationLabel 56 | { 57 | font-size: 16px; 58 | } 59 | 60 | .cubeviz-legend-dimensionElementLabelTd 61 | { 62 | 63 | } 64 | 65 | .cubeviz-legend-dimensionIcon 66 | { 67 | font-size: 11px; 68 | } 69 | 70 | .cubeviz-legend-measureTd 71 | { 72 | 73 | } 74 | 75 | .cubeviz-legend-observationIcon 76 | { 77 | float: left; 78 | width: 40px; 79 | min-height: 100px; 80 | text-align: center; 81 | } 82 | 83 | .cubeviz-legend-observationInfoList 84 | { 85 | list-style-type: none; 86 | } 87 | 88 | .cubeviz-legend-observationInfoListEntry 89 | { 90 | border: 0px !important; 91 | margin: 0px; 92 | padding: 0px; 93 | line-height: 3px; 94 | font-size: 14px; 95 | } 96 | 97 | #cubeviz-legend-observations 98 | { 99 | margin-left: 0px; 100 | width: 100%; 101 | min-width: 100%; 102 | } 103 | 104 | #cubeviz-legend-observations li 105 | { 106 | padding-top: 10px; 107 | padding-bottom: 10px; 108 | padding-left: 0px; 109 | padding-right: 0px; 110 | border: 1px solid #BDBDBD; 111 | border-radius: 5px 5px 5px 5px; 112 | -moz-border-radius: 5px 5px 5px 5px; 113 | 114 | margin-top: 2px; 115 | 116 | min-width: 100%; 117 | width: 100%; 118 | max-width: 100%; 119 | } 120 | 121 | #cubeviz-legend-observations li:hover 122 | { 123 | background-color: #F1F1F1; 124 | } 125 | 126 | .cubeviz-legend-observationValue 127 | { 128 | margin-right: 10px; 129 | float: right; 130 | font-size: 15px; 131 | font-weight: bold; 132 | } 133 | -------------------------------------------------------------------------------- /public/css/IndexAction/visualization.css: -------------------------------------------------------------------------------- 1 | #cubeviz-index-visualization 2 | { 3 | clear: both; 4 | margin-bottom: 35px; 5 | } 6 | 7 | #cubeviz-visualization-nothingFoundNotification 8 | { 9 | padding-top: 100px; 10 | } 11 | 12 | #cubeviz-visualization-notificationHightchartsException10 13 | { 14 | padding-top: 100px; 15 | text-align: left; 16 | width: 50%; 17 | } 18 | 19 | #cubeviz-index-visualization circle 20 | { 21 | fill: rgb(31, 119, 180); 22 | fill-opacity: .50; 23 | stroke: #212121; 24 | stroke-width: 1px; 25 | } 26 | 27 | .cubeviz-visualization-d3js-circleLeaf circle 28 | { 29 | fill: #ff7f0e; 30 | fill-opacity: 1; 31 | } 32 | -------------------------------------------------------------------------------- /public/css/IndexAction/visualizationSelector.css: -------------------------------------------------------------------------------- 1 | #cubeviz-visualizationselector-menuItems 2 | { 3 | margin-top: 20px; 4 | } 5 | 6 | #cubeviz-visualizationselector-selector 7 | { 8 | width: auto; 9 | height: 25px; 10 | padding-top: 5px; 11 | padding-right: 5px; 12 | padding-bottom: 5px; 13 | } 14 | 15 | .cubeviz-visualizationselector-selectorItem, 16 | .cubeviz-visualizationselector-selectedSelectorItem 17 | { 18 | opacity: 0.7; 19 | filter: alpha(opacity=70); 20 | margin-left: 4px; 21 | } 22 | 23 | .cubeviz-visualizationselector-selectorItem:hover 24 | { 25 | opacity: 1.0; 26 | filter: alpha(opacity=100); 27 | } 28 | 29 | .cubeviz-visualizationselector-selectedSelectorItem 30 | { 31 | opacity: 1.0; 32 | filter: alpha(opacity=100); 33 | } 34 | 35 | /** 36 | * Menu 37 | */ 38 | #cubeviz-visualizationselector-menu 39 | { 40 | display: none; 41 | position: absolute; 42 | z-index: 101; 43 | padding: 10px; 44 | width: 220px; 45 | height: auto; 46 | box-shadow: 0 0 13px rgba(0, 0, 0, 0.31); 47 | border: 1px solid #C4C4C4; 48 | background-color: #F9F9F9; 49 | } 50 | 51 | #cubeviz-visualizationselector-menuHeader 52 | { 53 | width: 100%; 54 | height: 30px; 55 | margin: 0px; 56 | padding-left: 3px; 57 | font-size: 13px; 58 | font-weight: bold; 59 | } 60 | 61 | .cubeviz-visualizationselector-menuSelectbox 62 | { 63 | min-width: 100px; 64 | max-width: 100px; 65 | width: 100px; 66 | border: 1px solid #CECECE; 67 | } 68 | 69 | /** 70 | * Menu dongle 71 | */ 72 | #cubeviz-visualizationselector-menuDongleDiv 73 | { 74 | position: absolute; 75 | z-index: 100; 76 | } 77 | 78 | 79 | -------------------------------------------------------------------------------- /public/css/foreign/FontAwesome/README.md: -------------------------------------------------------------------------------- 1 | #Font Awesome 3.0.2 2 | ##the iconic font designed for use with Twitter Bootstrap 3 | 4 | The full suite of pictographic icons, examples, and documentation can be found at: 5 | http://fortawesome.github.com/Font-Awesome/ 6 | 7 | 8 | ##License 9 | - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL 10 | - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - http://opensource.org/licenses/mit-license.html 11 | - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ 12 | - Attribution is no longer required in Font Awesome 3.0, but much appreciated: "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" 13 | 14 | ##Contact 15 | - Email: dave@davegandy.com 16 | - Twitter: http://twitter.com/fortaweso_me 17 | - Work: Lead Product Designer @ http://kyru.us 18 | 19 | ##Changelog 20 | - v3.0.0 - all icons redesigned from scratch, optimized for Bootstrap's 14px default 21 | - v3.0.1 - much improved rendering in webkit, various bugfixes 22 | - v3.0.2 - much improved rendering and alignment in IE7 23 | -------------------------------------------------------------------------------- /public/css/foreign/FontAwesome/font/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/css/foreign/FontAwesome/font/FontAwesome.otf -------------------------------------------------------------------------------- /public/css/foreign/FontAwesome/font/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/css/foreign/FontAwesome/font/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/css/foreign/FontAwesome/font/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/css/foreign/FontAwesome/font/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/css/foreign/FontAwesome/font/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/css/foreign/FontAwesome/font/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/css/main.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GENERAL 3 | */ 4 | .cubeviz-clickable { 5 | cursor: pointer; 6 | } 7 | 8 | .cubeviz-label { 9 | color: #2F2F2F; 10 | } 11 | 12 | /** 13 | * ICONS 14 | */ 15 | .cubeviz-icon-small 16 | { 17 | width: 20px; 18 | border: 0px; 19 | vertical-align: middle; 20 | } 21 | .cubeviz-icon-unsized 22 | { 23 | border: 0px; 24 | vertical-align: middle; 25 | } 26 | 27 | /** 28 | * UNORDERED LISTS 29 | */ 30 | .cubeviz-ul-basic { 31 | margin-left: 2px; 32 | list-style-type: none; 33 | } 34 | 35 | .cubeviz-ul-basic li { 36 | margin-top: 5px; 37 | } 38 | 39 | /** 40 | * FORMULAS 41 | */ 42 | .cubeviz-btn 43 | { 44 | display: inline-block; 45 | padding: 2px 10px; 46 | margin-bottom: 0; 47 | line-height: 20px; 48 | color: #161616; 49 | text-align: center; 50 | vertical-align: middle; 51 | cursor: pointer; 52 | background-color: #f5f5f5; 53 | background-image: -moz-linear-gradient(top,#fff,#e6e6e6); 54 | background-image: -webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6)); 55 | background-image: -webkit-linear-gradient(top,#fff,#e6e6e6); 56 | background-image: -o-linear-gradient(top,#fff,#e6e6e6); 57 | background-image: linear-gradient(to bottom,#fff,#e6e6e6); 58 | background-repeat: repeat-x; 59 | border: 1px solid #ccc; 60 | border-color: #e6e6e6 #e6e6e6 #bfbfbf; 61 | border-color: rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25); 62 | border-bottom-color: #b3b3b3; 63 | -webkit-border-radius: 3px; 64 | -moz-border-radius: 3px; 65 | border-radius: 3px; 66 | filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0); 67 | filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); 68 | -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05); 69 | -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05); 70 | box-shadow: inset 0 1px 0 rgba(255,255,255,0.2),0 1px 2px rgba(0,0,0,0.05); 71 | } 72 | 73 | .cubeviz-btn:hover 74 | { 75 | text-decoration: none; 76 | color: #161616; 77 | } 78 | 79 | .hero-unit 80 | { 81 | padding-left: 13px; 82 | padding-top: 6px; 83 | padding-right: 13px; 84 | padding-bottom: 6px; 85 | background-color: #FFFFFF; 86 | border: 1px solid #e5e5e5; 87 | -webkit-border-radius: 5px; 88 | -moz-border-radius: 5px; 89 | border-radius: 5px; 90 | -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05); 91 | -moz-box-shadow: 0 1px 2px rgba(0,0,0,.05); 92 | box-shadow: 0 1px 2px rgba(0,0,0,.05); 93 | } 94 | 95 | .cubeviz-box 96 | { 97 | width: 160px; 98 | min-width: 160px; 99 | max-width: 160px; 100 | padding-left: 10px; 101 | padding-top: 6px; 102 | padding-right: 9px; 103 | padding-bottom: 12px; 104 | margin: 0 auto 20px; 105 | background-color: #fff; 106 | border: 1px solid #909090; 107 | -webkit-border-radius: 5px; 108 | -moz-border-radius: 5px; 109 | border-radius: 5px; 110 | -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.05); 111 | -moz-box-shadow: 0 1px 2px rgba(0,0,0,.05); 112 | box-shadow: 0 1px 2px rgba(0,0,0,.05); 113 | } 114 | -------------------------------------------------------------------------------- /public/images/area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/area.png -------------------------------------------------------------------------------- /public/images/area.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 66 | 72 | 78 | 84 | 92 | 100 | 101 | 102 | -------------------------------------------------------------------------------- /public/images/bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/bar.png -------------------------------------------------------------------------------- /public/images/bar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 48 | 49 | 51 | 52 | 54 | image/svg+xml 55 | 57 | 58 | 59 | 60 | 61 | 65 | 73 | 81 | 89 | 97 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /public/images/bar_stacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/bar_stacked.png -------------------------------------------------------------------------------- /public/images/bar_stacked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 68 | 76 | 84 | 92 | 100 | 108 | 116 | 124 | 125 | 126 | -------------------------------------------------------------------------------- /public/images/circlePacking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/circlePacking.png -------------------------------------------------------------------------------- /public/images/circlePackingForClusters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/circlePackingForClusters.png -------------------------------------------------------------------------------- /public/images/column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/column.png -------------------------------------------------------------------------------- /public/images/column.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 69 | 78 | 87 | 96 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /public/images/column_stacked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/column_stacked.png -------------------------------------------------------------------------------- /public/images/cubevizLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/cubevizLogo.png -------------------------------------------------------------------------------- /public/images/cubevizLogoHuge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/cubevizLogoHuge.png -------------------------------------------------------------------------------- /public/images/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/line.png -------------------------------------------------------------------------------- /public/images/line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 69 | 78 | 87 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /public/images/menuDongle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/menuDongle.png -------------------------------------------------------------------------------- /public/images/menuDongle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 38 | 40 | 41 | 43 | image/svg+xml 44 | 46 | 47 | 48 | 49 | 50 | 55 | 61 | 62 | 63 | -------------------------------------------------------------------------------- /public/images/pie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/pie.png -------------------------------------------------------------------------------- /public/images/pie.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /public/images/polar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/polar.png -------------------------------------------------------------------------------- /public/images/polar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 44 | 46 | 47 | 49 | image/svg+xml 50 | 52 | 53 | 54 | 55 | 56 | 60 | 70 | 79 | 88 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /public/images/semicon/LICENSE.md: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | Semicon is released under the terms of Creative Commons "CC BY-SA" 3.0. 4 | 5 | ## Creative Commons "CC BY-SA" 3.0 6 | 7 | The following text based on the [this page](http://creativecommons.org/licenses/by-sa/3.0/deed.en_US) of Creative 8 | Commons. 9 | 10 | ### You are free 11 | 12 | * to Share — to copy, distribute and transmit the work 13 | * to Remix — to adapt the work 14 | * to make commercial use of the work 15 | 16 | ### Under the following conditions 17 | 18 | * **Attribution** — You must attribute the work in the manner specified by the author or licensor (but not in 19 | any way that suggests that they endorse you or your use of the work). 20 | 21 | * **Share Alike** — If you alter, transform, or build upon this work, you may distribute the resulting work only 22 | under the same or similar license to this one. 23 | 24 | ### With the understanding that 25 | 26 | * Waiver — Any of the above conditions can be waived if you get permission from the copyright holder. 27 | 28 | * Public Domain — Where the work or any of its elements is in the public domain under applicable law, that 29 | status is in no way affected by the license. 30 | 31 | ### Other Rights — In no way are any of the following rights affected by the license 32 | 33 | * Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; 34 | 35 | * The author's moral rights; 36 | 37 | * Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. 38 | 39 | **Notice** — For any reuse or distribution, you must make clear to others the license terms of this work. 40 | The best way to do this is with a link to this web page. 41 | -------------------------------------------------------------------------------- /public/images/semicon/attribute2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/attribute2.png -------------------------------------------------------------------------------- /public/images/semicon/collection4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/collection4.png -------------------------------------------------------------------------------- /public/images/semicon/column.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/column.png -------------------------------------------------------------------------------- /public/images/semicon/csv2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/csv2.png -------------------------------------------------------------------------------- /public/images/semicon/dataset2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/dataset2.png -------------------------------------------------------------------------------- /public/images/semicon/dimension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/dimension.png -------------------------------------------------------------------------------- /public/images/semicon/dimensionElement2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/dimensionElement2.png -------------------------------------------------------------------------------- /public/images/semicon/equalDimensionElements5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/equalDimensionElements5.png -------------------------------------------------------------------------------- /public/images/semicon/measure2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/measure2.png -------------------------------------------------------------------------------- /public/images/semicon/observation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/observation.png -------------------------------------------------------------------------------- /public/images/semicon/slice2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/slice2.png -------------------------------------------------------------------------------- /public/images/semicon/sparql3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/sparql3.png -------------------------------------------------------------------------------- /public/images/semicon/turtle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/turtle.png -------------------------------------------------------------------------------- /public/images/semicon/unequalDimensionElements5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/semicon/unequalDimensionElements5.png -------------------------------------------------------------------------------- /public/images/spline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AKSW/cubeviz.ontowiki/956c2b3110d68d242e6b288e48e1b40a25dc60a9/public/images/spline.png -------------------------------------------------------------------------------- /public/javascript/libraries/javascriptStats-1.0.1.js: -------------------------------------------------------------------------------- 1 | var jsStats={mean:function(arr){if(!jsStatsHelpers.isArray(arr)){return false;} 2 | var i=arr.length;var sum=0;while(i--){sum+=arr[i];} 3 | var mean=sum/arr.length;return mean;},median:function(arr){if(!jsStatsHelpers.isArray(arr)){return false;} 4 | arr.sort(function(a,b){return a- b;});var half=Math.floor(arr.length/2);if(arr.length%2) 5 | return arr[half];else 6 | return(arr[half-1]+ arr[half])/2},mode:function(arr){if(!jsStatsHelpers.isArray(arr)){return false;} 7 | var modes=[];var count=[];var i;var number;var maxIndex=0;for(i=0;imaxIndex){maxIndex=count[number];}} 8 | for(i in count)if(count.hasOwnProperty(i)){if(count[i]===maxIndex){modes.push(Number(i));}} 9 | return modes;},min:function(arr){if(!jsStatsHelpers.isArray(arr)){return false;} 10 | arr.sort(function(a,b){return a- b;});return arr[0];},max:function(arr){if(!jsStatsHelpers.isArray(arr)){return false;} 11 | arr.sort(function(a,b){return a- b;});return arr[arr.length- 1];},range:function(arr){if(!jsStatsHelpers.isArray(arr)){return false;} 12 | arr.sort(function(a,b){return a- b;});return[arr[0],arr[arr.length- 1]];},sum:function(arr){for(var i=0,length=arr.length,sum=0;i=breaks[i].lower&&arr[n]<=breaks[i].upper){breaks[i].numbers.push(arr[n]);}}} 18 | for(i in breaks){breaks[i].numbers=jsStats.sort(breaks[i].numbers);} 19 | return breaks;},goodnessOfFit:function(arrPopulation,arrSample){if(!jsStatsHelpers.isArray(arr)){return false;} 20 | var ssp=jsStats.sumOfSquares(arrPopulation);var sss=jsStats.sumOfSquares(arrSample);return(ssp- sss)/ssp;},};jsStatsHelpers={isArray:function(arr){return Object.prototype.toString.call(arr)==="[object Array]";}}; -------------------------------------------------------------------------------- /public/javascript/libraries/munit.js: -------------------------------------------------------------------------------- 1 | // munit.js // microunit testing for javascript // 2 | // http://github.com/sole/munit.js 3 | var MUNIT = MUNIT || { 4 | VERSION : 3, 5 | RESULT_YAY: 'yay', 6 | RESULT_BOO: 'boo', 7 | 8 | prettyFormat: function(testResults) { 9 | var div = document.createElement('div'), 10 | th = '', 11 | rows = ''; 12 | 13 | ['result', 'test', 'message'].forEach(function(text) { 14 | th += '' + text + ''; 15 | }); 16 | 17 | testResults.forEach(function(result) { 18 | rows += '' 19 | + '' + result.result + '' 20 | + '' + result.test + '' 21 | + '' + result.message + '' 22 | + ''; 23 | }); 24 | 25 | div.innerHTML = '' + th + '' + rows + '
'; 26 | return div; 27 | } 28 | }; 29 | 30 | MUNIT.AssertException = function(message) { 31 | this.message = message; 32 | } 33 | 34 | MUNIT.Test = function(tests) { 35 | 36 | tests = tests || []; 37 | 38 | this.assertTrue = function(value, message) { 39 | if(value !== true) { 40 | var message = message || 'Expected true, got ' + value; 41 | throw new MUNIT.AssertException(message); 42 | } 43 | } 44 | 45 | this.assertEquals = function(expectedValue, actualValue, message) { 46 | if(expectedValue != actualValue) { 47 | var message = message || "Expected " + expectedValue + ", got " + actualValue; 48 | throw new MUNIT.AssertException(message); 49 | } 50 | } 51 | 52 | this.onSetup = function() {} 53 | this.onTearDown = function() {} 54 | 55 | this.runTests = function(params) { 56 | var munitTest = this, 57 | results = tests.map(function(test) { 58 | 59 | var result = MUNIT.RESULT_BOO, 60 | message = '', 61 | stack; 62 | 63 | try { 64 | munitTest.onSetup(); 65 | test.call(munitTest); 66 | munitTest.onTearDown(); 67 | result = MUNIT.RESULT_YAY; 68 | } catch(e) { 69 | message = e.message; 70 | } 71 | 72 | return ({ 73 | test: test.name, 74 | result: result, 75 | message: message, 76 | testCode: test.toString() 77 | }); 78 | }); 79 | 80 | return results; 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /public/templates/cubeviz/modelinfo.phtml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 13 | 14 |
15 |
16 | The dataset you selected provide the title: 17 |
modelTitle ?>
18 | If you dont see a title, but an Url instead, the the dataset do not contain title information. 19 |
20 |
21 | modelDescriptions)): ?> 22 | Description (provided by the dataset)
23 | modelDescriptions as $description): ?> 24 | 25 | 26 | 27 | The model you selected do not provide descriptions about itself. 28 | 29 |
30 |
31 |
32 | The model you selected is received from the data provider. 33 |
sparqlService ?>
34 | All data will be received from this data provider (SPARQL endpoint). In dependence to the workload of this service, data request can take time. 35 |
36 |
37 | containsDataCubeInformation): ?> 38 | 39 |
40 | Success 41 |
42 | 43 | The model you selected contain statistical information. 44 | Please click on the following button to start CubeViz. 45 | 46 |
47 |
48 |
49 | 50 |   Start CubeViz 51 |
52 |
53 |
54 |
55 |
56 | Statistics about the selected model 57 |
58 | 59 | The model you selected contain statistical information.
60 | Please click on the following button to get some insights about what the selected dataset provide.
61 | Please note, that this can take some time (it depends to the workload of the data provider and the size of the dataset). 62 |
63 |
64 |
65 |
66 | 67 |   Show statistics about the selected dataset. 68 |
69 | 70 |

The selected model do not provide statistics in the required representation (RDF DataCube).
71 | Please select an other Sparql endpoint and/or model from the settings panel.

72 | 73 | 74 |
75 |
76 | -------------------------------------------------------------------------------- /typescript/Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | @echo "CubeViz - cli" 3 | @echo " make install-build-tools ............. > install only TypeScript required software" 4 | @echo " make install-all-build-tools ......... > install all necessary software to build and minimize JavaScript files" 5 | @echo " " 6 | @echo " make build-javascript ................ > transform TypeScript files into JavaScript" 7 | @echo " make build-and-minimize-javascript ... > transform TypeScript and minimize generated files afterwards" 8 | 9 | build-javascript: 10 | @echo "Build Javascript files, out of TypeScript files ..." 11 | tsc --out ../public/javascript/Main.js @tsc/Main.txt 12 | #tsc --out ../public/javascript/Test.js @tsc/Test.txt 13 | 14 | build-and-minimize-javascript: 15 | make build-javascript 16 | @echo "" 17 | @echo "Minimize JavaScript file (../public/javascript/Main-production.js)" 18 | node minifier.js 19 | 20 | install-typescript: 21 | # PPA with stable node.js and npm 22 | sudo apt-add-repository ppa:chris-lea/node.js-legacy 23 | 24 | # update package information 25 | sudo apt-get update 26 | 27 | # install node.js and TypeScript 28 | sudo apt-get install nodejs npm && sudo npm install -g typescript@0.8.3 29 | 30 | install-all-build-tools: 31 | 32 | make install-typescript 33 | 34 | # install 35 | sudo apt-get install openjdk-7-jre 36 | 37 | # install node.js modules 38 | sudo npm install -g typescript 39 | sudo npm install -g node-minify 40 | sudo npm link node-minify 41 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/CryptoJs.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the CryptoJs parts: 2 | // + md5-min.js 3 | // + sha512-min.js 4 | 5 | interface CryptoJS { 6 | MD5 (value:string): string; 7 | } 8 | declare var CryptoJS: CryptoJS; 9 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/Highcharts.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the highcharts.js 2 | 3 | interface Highcharts { 4 | Chart (renderedChart:any): any; 5 | } 6 | declare var Highcharts: Highcharts; 7 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/JSON.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the json.js 2 | 3 | interface JSON { 4 | stringify (value:any, replacer:any, space:any): string; 5 | } 6 | declare var JSON: JSON; 7 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/d3js.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the d3js 2 | 3 | interface D3js { 4 | 5 | layout: any; 6 | 7 | append (selector:string): any; 8 | pack (): any; 9 | select (selector:string): D3js; 10 | } 11 | declare var d3: D3js; 12 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/formulaParser.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the json.js 2 | 3 | interface formulaParser { 4 | (): any; 5 | evaluate (): void; 6 | parse (formula:string): any; 7 | } 8 | declare var formulaParser: formulaParser; 9 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/jsStats.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the json.js 2 | 3 | interface jsStats { 4 | max(numbers:number[]) : number; 5 | mean(numbers:number[]) : number; 6 | median(numbers:number[]) : number; 7 | min(numbers:number[]) : number; 8 | mode(numbers:number[]) : number[]; 9 | variance(numbers:number[]) : number; 10 | standardDeviation(numbers:number[]) : number; 11 | } 12 | declare var jsStats: jsStats; 13 | -------------------------------------------------------------------------------- /typescript/declaration/libraries/munit.d.ts: -------------------------------------------------------------------------------- 1 | // Typing for the munit.js 2 | 3 | interface MUNIT { 4 | Test (tests:any[]): any; 5 | RESULT_BOO: string; 6 | RESULT_YAY: string; 7 | runTests (): any; 8 | } 9 | declare var MUNIT: MUNIT; 10 | 11 | interface stacktrace { 12 | (): string; 13 | } 14 | declare var stacktrace: stacktrace; 15 | -------------------------------------------------------------------------------- /typescript/minifier.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This small JavaScript file tells nodejs-minifier module to minify Main.js. 3 | */ 4 | var compressor = require('node-minify'); 5 | 6 | // Using YUI Compressor for JS 7 | new compressor.minify({ 8 | type: 'yui-js', 9 | fileIn: '../public/javascript/Main.js', 10 | fileOut: '../public/javascript/Main-production.js', 11 | callback: function(err){ 12 | console.log(err); 13 | } 14 | }); 15 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/ConfigurationLink.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | class CubeViz_ConfigurationLink 4 | { 5 | /** 6 | * Saves data information to the server, usally in a file. 7 | * @param url string Url to CubeViz 8 | * @param serviceUrl string The current service url, if available 9 | * @param modelIri string Current selected model 10 | * @param hash string MD5 hash over content 11 | * @param content any Object to save 12 | * @param callback Function to call after saving is complete 13 | * @param useObservations bool False, if CubeViz has to get observations by 14 | * itself, true, if it has to use your ones 15 | * @return void 16 | */ 17 | static saveData (url:string, serviceUrl:string, modelIri:string, hash:string, content:any, callback, 18 | useObservations:bool = false) : void 19 | { 20 | // save current ajax setup 21 | var oldAjaxSetup:any = $.ajaxSetup(), 22 | oldSupportOrs:any = $.support.cors, 23 | stringifiedContent:string = JSON.stringify(content); 24 | 25 | // Setup ajax 26 | $.ajaxSetup({async: true, cache: false, type: "POST"}); 27 | $.support.cors = true; 28 | 29 | // Execute Ajax 30 | $.ajax({ 31 | url: url + "savecontenttofile/", 32 | data: { 33 | // Hash to be used as filename for ObjectCache entry 34 | hash: hash, 35 | 36 | modelIri: modelIri, 37 | serviceUrl: serviceUrl, 38 | stringifiedContent: stringifiedContent, 39 | type: "data", 40 | 41 | // If true, CubeViz uses the given observations instead of 42 | // quering the store 43 | useObservations: true === useObservations ? "true" : "false" 44 | } 45 | }) 46 | .error( function (xhr, ajaxOptions, thrownError) { 47 | 48 | // set old ajax config 49 | $.ajaxSetup(oldAjaxSetup); 50 | $.support.cors = oldSupportOrs; 51 | 52 | throw new Error( "save error: " + xhr ["responseText"] ); 53 | }) 54 | .done(function (result){ 55 | 56 | // set old ajax config 57 | $.ajaxSetup(oldAjaxSetup); 58 | $.support.cors = oldSupportOrs; 59 | 60 | callback(); 61 | }); 62 | } 63 | 64 | /** 65 | * Saves ui information to the server, usally in a file. 66 | * @param url string Url to CubeViz 67 | * @param serviceUrl string The current service url, if available 68 | * @param modelIri string Current selected model 69 | * @param hash string MD5 hash over content 70 | * @param content any Object to save 71 | * @param callback Function to call after saving is complete 72 | * @return void 73 | */ 74 | static saveUI (url:string, serviceUrl:string, modelIri:string, hash:string, content:any, callback) : void 75 | { 76 | // save current ajax setup 77 | var oldAjaxSetup:any = $.ajaxSetup(), 78 | oldSupportOrs:any = $.support.cors, 79 | stringifiedContent:string = JSON.stringify(content); 80 | 81 | // Setup ajax 82 | $.ajaxSetup({async: true, cache: false, type: "POST"}); 83 | $.support.cors = true; 84 | 85 | // Execute Ajax 86 | $.ajax({ 87 | url: url + "savecontenttofile/", 88 | data: { 89 | // Hash to be used as filename for ObjectCache entry 90 | hash: hash, 91 | 92 | modelIri: modelIri, 93 | stringifiedContent: JSON.stringify(content), 94 | type: "ui" 95 | } 96 | }) 97 | .error( function (xhr, ajaxOptions, thrownError) { 98 | 99 | // set old ajax config 100 | $.ajaxSetup(oldAjaxSetup); 101 | $.support.cors = oldSupportOrs; 102 | 103 | throw new Error( "save error: " + xhr ["responseText"] ); 104 | }) 105 | .done(function (result){ 106 | 107 | // set old ajax config 108 | $.ajaxSetup(oldAjaxSetup); 109 | $.support.cors = oldSupportOrs; 110 | 111 | callback(); 112 | }); 113 | } 114 | } 115 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/View/Abstract.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | class CubeViz_View_Abstract 5 | { 6 | /** 7 | * Reference to application which called this instance 8 | */ 9 | public app:CubeViz_View_Application; 10 | 11 | /** 12 | * 13 | */ 14 | public autostart:bool; 15 | 16 | /** 17 | * Classname or id of HTML element to attache the view. 18 | */ 19 | public attachedTo:string; 20 | 21 | /** 22 | * 23 | */ 24 | public collection:CubeViz_Collection; 25 | 26 | /** 27 | * 28 | */ 29 | public id:string; 30 | 31 | /** 32 | * 33 | */ 34 | constructor(id:string, attachedTo:string, app:CubeViz_View_Application) 35 | { 36 | // set properties 37 | this.app = app; 38 | this.attachedTo = attachedTo; 39 | this.autostart = false; 40 | this.collection = new CubeViz_Collection; 41 | this.id = id || "view"; 42 | } 43 | 44 | /** 45 | * 46 | */ 47 | public bindGlobalEvents(events:any[]) : CubeViz_View_Abstract 48 | { 49 | this.app.bindGlobalEvents(events, this); 50 | return this; 51 | } 52 | 53 | /** 54 | * Binds events to DOM elements (using $.proxy!) 55 | * @return void 56 | * @throws Error 57 | */ 58 | public bindUserInterfaceEvents (events?:any) : void 59 | { 60 | if(true === _.isUndefined(events) || 0 == _.size(events) ) 61 | return; 62 | 63 | var eventName = "", 64 | selector = "", 65 | self = this; 66 | 67 | // iterate over events's properties: each property/value pair represents 68 | // a event type with event target and the method 69 | _.each(events, function(method, key){ 70 | if (false === _.isFunction(method)) { 71 | method = self[method]; 72 | } 73 | if (!method) { 74 | throw new Error("Method " + method + " does not exist"); 75 | } 76 | 77 | eventName = key.substr(0, key.indexOf(" ")); 78 | selector = key.substr(key.indexOf(" ")+1); 79 | 80 | // bind given event 81 | // want to find out more about the proxy method? 82 | // have a look at: http://www.jimmycuadra.com/posts/understanding-jquery-14s-proxy-method 83 | $(selector).on(eventName, $.proxy(method, self)); 84 | }); 85 | } 86 | 87 | /** 88 | * Unbind all events, empty (empty it, delete all of its elements) element and 89 | * reset its collection . 90 | * @return CubeViz_View_Abstract Itself, for chaining. 91 | */ 92 | public destroy() : CubeViz_View_Abstract 93 | { 94 | var el:any = $(this.attachedTo); 95 | 96 | // Unbind all events 97 | el.off(); 98 | 99 | // if el is a div, empty it 100 | if(true === el.is("div")) { 101 | el.empty(); 102 | 103 | // if el is a select box, delete all of its option's 104 | } else if (true === el.is("select")) { 105 | el.find("option").remove(); 106 | } 107 | // TODO what is with other types? 108 | 109 | this.collection.reset(); 110 | 111 | return this; 112 | } 113 | 114 | /** 115 | * 116 | */ 117 | public initialize() {} 118 | 119 | /** 120 | * 121 | */ 122 | public triggerGlobalEvent(eventName:string, data?:any) : CubeViz_View_Abstract 123 | { 124 | this.app.triggerEvent(eventName, data); 125 | return this; 126 | } 127 | 128 | /** 129 | * 130 | */ 131 | public render() {} 132 | } 133 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization.ts: -------------------------------------------------------------------------------- 1 | class CubeViz_Visualization 2 | { 3 | public name:string = "CubeViz_Visualization"; 4 | public supportedClassNames:string[] = []; 5 | 6 | /** 7 | * 8 | */ 9 | constructor() {} 10 | 11 | /** 12 | * 13 | */ 14 | public getName() 15 | { 16 | return this.name; 17 | } 18 | 19 | /** 20 | * Get list of supported class names. 21 | * @return string[] List of supported class names 22 | */ 23 | public getSupportedClassNames() : string[] 24 | { 25 | return this.supportedClassNames; 26 | } 27 | 28 | /** 29 | * Checks if a given class name is managed by this visualization library wrapper. 30 | * @param className Name of the class to check 31 | * @return bool True if this wrapper is responseable for it, false otherwise. 32 | */ 33 | public isResponsibleFor(className:string) : bool 34 | { 35 | return _.contains( 36 | this.getSupportedClassNames(), 37 | className 38 | ); 39 | } 40 | 41 | /** 42 | * Loads an instance of a particular class, if this wrapper is responseable 43 | * for it. 44 | * @param c Full name of the class to load 45 | * @return CubeViz_Visualization_HighCharts_Chart 46 | * @throws Error If this wrapper is not responseable for given c 47 | */ 48 | public load (c:string) : any 49 | { 50 | if(true === this.isResponsibleFor(c)) { 51 | var chart = null; 52 | eval ("chart = new " + c +"();"); 53 | return chart; 54 | } else { 55 | throw new Error ( "Invalid c (" + c + ") given!" ); 56 | } 57 | } 58 | 59 | /** 60 | * Renders a chart. (Has to be overridden!) 61 | * @param chart any Instance of a library chart 62 | * @return any Initialized chart 63 | */ 64 | public render(chart:any) : any 65 | { 66 | return null; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/D3js.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Head of a collection of classes which wrapps function of D3js library. 3 | */ 4 | class CubeViz_Visualization_D3js extends CubeViz_Visualization 5 | { 6 | /** 7 | * 8 | */ 9 | constructor() 10 | { 11 | super(); 12 | 13 | this.name = "D3js"; 14 | 15 | this.supportedClassNames = [ 16 | "CubeViz_Visualization_D3js_CirclePackingForClusters" 17 | ]; 18 | } 19 | 20 | /** 21 | * Renders a chart. 22 | * @param chart any Instance of a library chart 23 | * @return any Initialized chart 24 | */ 25 | public render(chart:any) : any 26 | { 27 | chart.getRenderResult(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | /** 4 | * Head of a collection of classes which wrapps function of HighCharts library. 5 | */ 6 | class CubeViz_Visualization_HighCharts extends CubeViz_Visualization 7 | { 8 | /** 9 | * 10 | */ 11 | constructor() 12 | { 13 | super(); 14 | 15 | this.name = "HighCharts"; 16 | 17 | this.supportedClassNames = [ 18 | "CubeViz_Visualization_HighCharts_Area", 19 | "CubeViz_Visualization_HighCharts_AreaSpline", 20 | "CubeViz_Visualization_HighCharts_Bar", 21 | "CubeViz_Visualization_HighCharts_Column", 22 | "CubeViz_Visualization_HighCharts_Line", 23 | "CubeViz_Visualization_HighCharts_Pie", 24 | "CubeViz_Visualization_HighCharts_Polar", 25 | "CubeViz_Visualization_HighCharts_Spline" 26 | ]; 27 | } 28 | 29 | /** 30 | * Renders a chart. 31 | * @param chart any Instance of a library chart 32 | * @return any Initialized chart 33 | */ 34 | public render(chart:any) : any 35 | { 36 | return new Highcharts.Chart (chart.getRenderResult()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/Area.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_Area extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/AreaSpline.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_AreaSpline extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/Bar.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_Bar extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/Column.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_Column extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/Line.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_Line extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/Polar.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_Polar extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/CubeViz/Visualization/HighCharts/Spline.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Fits if you have 1 or 2 multiple dimensions. 3 | */ 4 | class CubeViz_Visualization_HighCharts_Spline extends CubeViz_Visualization_HighCharts_Chart 5 | { 6 | } 7 | -------------------------------------------------------------------------------- /typescript/src/Model/DataCube/DataSet.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | class DataCube_DataSet 4 | { 5 | /** 6 | * 7 | */ 8 | static loadAll (url:string, serviceUrl:string, modelIri:string, dsdUrl:string, callback) : void 9 | { 10 | $.ajax({ 11 | url: url + "getdatasets/", 12 | data: { 13 | serviceUrl: serviceUrl, 14 | modelIri: modelIri, 15 | dsdUrl: dsdUrl 16 | } 17 | }) 18 | .error( function (xhr, ajaxOptions, thrownError) { 19 | throw new Error( "loadAll error: " + xhr.responseText ); 20 | }) 21 | .success(function(entries){ 22 | // check if everything is set 23 | if(false === _.isUndefined(entries) 24 | && false === _.isUndefined(entries.content)) { 25 | callback (entries.content); 26 | } 27 | }); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /typescript/src/Model/DataCube/DataStructureDefinition.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | class DataCube_DataStructureDefinition 4 | { 5 | /** 6 | * @result JSON 7 | */ 8 | static loadAll (url:string, serviceUrl:string, modelIri:string, callback) : void 9 | { 10 | $.ajax({ 11 | url: url + "getdatastructuredefinitions/", 12 | data: { 13 | serviceUrl: serviceUrl, 14 | modelIri: modelIri 15 | } 16 | }) 17 | .error( function (xhr, ajaxOptions, thrownError) { 18 | throw new Error( "loadAll error: " + xhr.responseText ); 19 | }) 20 | .done( function (entries) { 21 | DataCube_DataStructureDefinition.prepareLoadedDataStructureDefinitions (entries, callback); 22 | }); 23 | } 24 | 25 | /** 26 | * Set default values, sort objects by label etc. 27 | */ 28 | static prepareLoadedDataStructureDefinitions ( entries, callback ) : void 29 | { 30 | entries = JSON.parse (entries); 31 | 32 | // sort objects by label, ascending 33 | entries.sort(function(a, b) { 34 | return a["label"].toUpperCase().localeCompare(b["label"].toUpperCase()); 35 | }); 36 | 37 | // call callback function with prepared entries 38 | callback ( entries ); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /typescript/src/Model/DataCube/Slice.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | /** 4 | * Represents a slice. 5 | */ 6 | class DataCube_Slice 7 | { 8 | /** 9 | * Loads all slices. 10 | */ 11 | static loadAll (url:string, serviceUrl:string, modelIri:string, dsdUrl:string, dsUrl:string, callback) 12 | { 13 | $.ajax({ 14 | url: url + "getslices", 15 | data: { 16 | serviceUrl: serviceUrl, 17 | modelIri: modelIri, 18 | dsdUrl: dsdUrl, 19 | dsUrl: dsUrl 20 | } 21 | }) 22 | .error( function (xhr, ajaxOptions, thrownError) { 23 | throw new Error ("DataCube_Slice > loadAll: " + xhr.responseText); 24 | }) 25 | .success( function (entries) { 26 | // check if everything is set 27 | if(false === _.isUndefined(entries) 28 | && false === _.isUndefined(entries.content)) { 29 | callback(entries.content); 30 | } 31 | }); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /typescript/src/Test/TestSuite.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | /// 4 | 5 | declare var cubeVizApp:any; 6 | 7 | var cubeVizAppDataCopy, 8 | cubeViz_testCounter = 0, 9 | cubeViz_testFailCounter = 0, 10 | cubeViz_tests:any[] = [], 11 | cubeViz_outputBy = 20, 12 | cubeViz_outputTestsFinished = ".", 13 | cubeViz_tmpStr = ""; 14 | 15 | /** 16 | * will be called before a test starts 17 | */ 18 | var cubeviz_setupTest = function(){ 19 | ++cubeViz_testCounter; 20 | 21 | // Reset data 22 | cubeVizApp.restoreDataCopy(cubeVizAppDataCopy); 23 | 24 | // Reset whole application 25 | cubeVizApp.reset(); 26 | 27 | if(0 === cubeViz_testCounter % cubeViz_outputBy) { 28 | for(var i=0;i Message: " + test.message 62 | ); ++cubeViz_testFailCounter; 63 | } 64 | }); 65 | 66 | for(var i=0;i<(cubeViz_testCounter-cubeViz_outputBy);++i){ 67 | cubeViz_tmpStr += cubeViz_outputTestsFinished; 68 | } console.log(cubeViz_tmpStr); 69 | 70 | // output summary 71 | console.log( "\n" + cubeViz_testCounter + " tests run, " + 72 | cubeViz_testFailCounter + " failed"); 73 | }; 74 | -------------------------------------------------------------------------------- /typescript/src/Test/View/DataselectionModule/DataSet.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Test if something is in the selectbox on the startup 3 | */ 4 | cubeViz_tests.push(function(){ 5 | 6 | // real test function 7 | var t = function() 8 | { 9 | var listEntries = $("#cubeviz-dataSet-list").children(), 10 | givenDSs = _.keys(cubeVizApp._.data.dataSets); 11 | 12 | this.assertTrue( 13 | listEntries.length == givenDSs.length, 14 | listEntries.length + " == " + givenDSs.length 15 | ); 16 | }; 17 | 18 | // Bind real test function to a global event and trigger application start 19 | cubeVizApp.bindGlobalEvents([{ 20 | name: "onStart_application", handler: $.proxy(t, this) 21 | }]).triggerEvent("onStart_application"); 22 | }); 23 | 24 | 25 | /** 26 | * Test questionMark dialog is open on click of the icon 27 | */ 28 | cubeViz_tests.push(function(){ 29 | 30 | // test if dialog is closed 31 | var t_dialogIsClosed = function() 32 | { 33 | var hasDialog = $("#cubeviz-dataSet-dialog").data("hasDialog"), 34 | isDialogOpen = $("#cubeviz-dataSet-dialog").data("isDialogOpen"); 35 | 36 | this.assertTrue( hasDialog === true, "DS: hasDialog: " + hasDialog); 37 | this.assertTrue( isDialogOpen !== true, "DS: isDialogOpen: " + isDialogOpen); 38 | 39 | // set click handler for test function and simulate click afterwards 40 | $("#cubeviz-dataSet-questionMark").click( 41 | $.proxy(t_dialogIsOpen, this) 42 | ); 43 | 44 | $("#cubeviz-dataSet-questionMark").click(); 45 | }; 46 | 47 | // test if dialog was opened after click to questionmark 48 | var t_dialogIsOpen = function() 49 | { 50 | var isDialogOpen = $("#cubeviz-dataSet-dialog").data("isDialogOpen"); 51 | this.assertTrue( isDialogOpen === true, "DS: isDialogOpen: " + isDialogOpen); 52 | }; 53 | 54 | // Bind real test function to a global event and trigger application start 55 | cubeVizApp.bindGlobalEvents([{ 56 | name: "onAfterRender_dataSet", handler: $.proxy(t_dialogIsClosed, this) 57 | }]).triggerEvent("onStart_application"); 58 | }); 59 | -------------------------------------------------------------------------------- /typescript/src/Test/View/DataselectionModule/DataStructureDefinition.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Test if something is in the selectbox on the startup 3 | */ 4 | cubeViz_tests.push(function(){ 5 | 6 | // real test function 7 | var t = function() 8 | { 9 | var listEntries = $("#cubeviz-dataStructureDefinition-list").children(), 10 | givenDSDs = _.keys(cubeVizApp._.data.dataStructureDefinitions); 11 | 12 | this.assertTrue( 13 | listEntries.length == givenDSDs.length, 14 | listEntries.length + " == " + givenDSDs.length 15 | ); 16 | }; 17 | 18 | // Bind real test function to a global event and trigger application start 19 | cubeVizApp.bindGlobalEvents([{ 20 | name: "onStart_application", handler: $.proxy(t, this) 21 | }]).triggerEvent("onStart_application"); 22 | }); 23 | 24 | /** 25 | * Test questionMark dialog is open on click of the icon 26 | */ 27 | cubeViz_tests.push(function(){ 28 | 29 | // test if dialog is closed 30 | var t_dialogIsClosed = function() 31 | { 32 | var hasDialog = $("#cubeviz-dataStructureDefinition-dialog").data("hasDialog"), 33 | isDialogOpen = $("#cubeviz-dataStructureDefinition-dialog").data("isDialogOpen"); 34 | 35 | this.assertTrue( hasDialog === true, "DSD: hasDialog: " + hasDialog); 36 | this.assertTrue( isDialogOpen !== true, "DSD: isDialogOpen: " + isDialogOpen); 37 | 38 | // set click handler for test function and simulate click afterwards 39 | $("#cubeviz-dataStructureDefinition-questionMark").click( 40 | $.proxy(t_dialogIsOpen, this) 41 | ); 42 | 43 | $("#cubeviz-dataStructureDefinition-questionMark").click(); 44 | }; 45 | 46 | // test if dialog was opened after click to questionmark 47 | var t_dialogIsOpen = function() 48 | { 49 | var isDialogOpen = $("#cubeviz-dataStructureDefinition-dialog").data("isDialogOpen"); 50 | this.assertTrue( isDialogOpen === true, "DSD: isDialogOpen: " + isDialogOpen); 51 | }; 52 | 53 | // Bind real test function to a global event and trigger application start 54 | cubeVizApp.bindGlobalEvents([{ 55 | name: "onAfterRender_dataStructureDefinition", handler: $.proxy(t_dialogIsClosed, this) 56 | }]).triggerEvent("onStart_application"); 57 | }); 58 | -------------------------------------------------------------------------------- /typescript/src/View/CompareAction/ModelSelection.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | class View_CompareAction_ModelSelection extends CubeViz_View_Abstract 5 | { 6 | /** 7 | * 8 | */ 9 | constructor(attachedTo:string, app:CubeViz_View_Application) 10 | { 11 | super("View_CompareAction_ModelSelection", attachedTo, app); 12 | 13 | // publish event handlers to application: 14 | // if one of these events get triggered, the associated handler will 15 | // be executed to handle it 16 | this.bindGlobalEvents([ 17 | { 18 | name: "onStart_application", 19 | handler: this.onStart_application 20 | } 21 | ]); 22 | } 23 | 24 | /** 25 | * 26 | */ 27 | public destroy () : CubeViz_View_Abstract 28 | { 29 | super.destroy(); 30 | return this; 31 | } 32 | 33 | /** 34 | * Handles changes in both model selectors 35 | * @param modelNr string Number of the model as string 36 | * @return 37 | * @throw 38 | */ 39 | public handleModelSelectorChanges(modelNr:string) 40 | { 41 | // extract model information 42 | var selectedModelLabel = _.str.trim($("#cubeviz-compare-modelSelector" + modelNr + " option:selected").text()), 43 | selectedModelUri = $("#cubeviz-compare-modelSelector" + modelNr).val(); 44 | 45 | // model was selected 46 | if ('' != selectedModelUri) { 47 | 48 | // save selected model 49 | this.app._.compareAction.models [modelNr] = { 50 | __cv_compareNr: modelNr, 51 | __cv_uri: selectedModelUri, 52 | __cv_niceLabel: selectedModelLabel 53 | }; 54 | 55 | this.triggerGlobalEvent("onSelect_model" + modelNr); 56 | 57 | // there are two models selected 58 | if ('' != this.app._.compareAction.models[1] 59 | && '' != this.app._.compareAction.models[2]) { 60 | this.triggerGlobalEvent ("onSelect_model1AndModel2"); 61 | } 62 | 63 | // specific model is empty (again) 64 | } else { 65 | 66 | // nullify model instance 67 | this.app._.compareAction.models[modelNr] = null; 68 | 69 | // 70 | this.triggerGlobalEvent ("onSelect_noModel" + modelNr); 71 | } 72 | } 73 | 74 | /** 75 | * 76 | */ 77 | public initialize() : void 78 | { 79 | this.collection.reset("__cv_uri"); 80 | this.render(); 81 | } 82 | 83 | /** 84 | * 85 | */ 86 | public onChange_modelSelector1() 87 | { 88 | this.handleModelSelectorChanges ("1"); 89 | } 90 | 91 | /** 92 | * 93 | */ 94 | public onChange_modelSelector2() 95 | { 96 | this.handleModelSelectorChanges ("2"); 97 | } 98 | 99 | /** 100 | * 101 | */ 102 | public onStart_application() 103 | { 104 | this.initialize(); 105 | } 106 | 107 | /** 108 | * 109 | */ 110 | public render() : CubeViz_View_Abstract 111 | { 112 | this.bindUserInterfaceEvents({ 113 | "change #cubeviz-compare-modelSelector1": this.onChange_modelSelector1, 114 | "change #cubeviz-compare-modelSelector2": this.onChange_modelSelector2 115 | }); 116 | 117 | return this; 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /typescript/src/View/IndexAction/ExportArea.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | class View_IndexAction_ExportArea extends CubeViz_View_Abstract 5 | { 6 | /** 7 | * 8 | */ 9 | constructor(attachedTo:string, app:CubeViz_View_Application) 10 | { 11 | super("View_IndexAction_ExportArea", attachedTo, app); 12 | 13 | // publish event handlers to application: 14 | // if one of these events get triggered, the associated handler will 15 | // be executed to handle it 16 | this.bindGlobalEvents([ 17 | { 18 | name: "onReRender_visualization", 19 | handler: this.onReRender_visualization 20 | }, 21 | { 22 | name: "onStart_application", 23 | handler: this.onStart_application 24 | }, 25 | { 26 | name: "onUpdate_componentDimensions", 27 | handler: this.onUpdate_componentDimensions 28 | } 29 | ]); 30 | } 31 | 32 | /** 33 | * 34 | */ 35 | public destroy() : CubeViz_View_Abstract 36 | { 37 | super.destroy(); 38 | return this; 39 | } 40 | 41 | /** 42 | * 43 | */ 44 | public initialize() : void 45 | { 46 | this.render(); 47 | } 48 | 49 | /** 50 | * 51 | */ 52 | public onReRender_visualization() 53 | { 54 | this.initialize(); 55 | } 56 | 57 | /** 58 | * 59 | */ 60 | public onStart_application() 61 | { 62 | this.initialize(); 63 | } 64 | 65 | /** 66 | * 67 | */ 68 | public onUpdate_componentDimensions() 69 | { 70 | this.initialize(); 71 | } 72 | 73 | /** 74 | * 75 | */ 76 | public render() : CubeViz_View_Abstract 77 | { 78 | this.setUrlToDownload(); 79 | 80 | return this; 81 | } 82 | 83 | /** 84 | * 85 | */ 86 | public setUrlToDownload() : void 87 | { 88 | // set download path 89 | var urlToDownload = this.app._.backend.url + "export/dataselection/" 90 | + this.app._.backend.dataHash 91 | + "/?serviceUrl=" + encodeURIComponent(this.app._.backend.serviceUrl); 92 | 93 | /** 94 | * update a-href's 95 | */ 96 | // type=turtle 97 | $("#cubeviz-index-exportArea-btnTurtle").attr ("href", urlToDownload); 98 | // type=csv 99 | $("#cubeviz-index-exportArea-btnCsv").attr ("href", urlToDownload + "&type=csv"); 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /typescript/src/View/ModelinfoAction/Footer.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | class View_ModelinfoAction_Footer extends CubeViz_View_Abstract 5 | { 6 | /** 7 | * 8 | */ 9 | constructor(attachedTo:string, app:CubeViz_View_Application) 10 | { 11 | super("View_Modelinfo_Footer", attachedTo, app); 12 | 13 | // publish event handlers to application: 14 | // if one of these events get triggered, the associated handler will 15 | // be executed to handle it 16 | this.bindGlobalEvents([ 17 | { 18 | name: "onStart_application", 19 | handler: this.onStart_application 20 | } 21 | ]); 22 | } 23 | 24 | /** 25 | * 26 | */ 27 | public initialize() : void 28 | { 29 | this.render(); 30 | } 31 | 32 | /** 33 | * 34 | */ 35 | public onClick_showAnalyzeBtn() 36 | { 37 | window.location.href = this.app._.backend.url + "analyze/"; 38 | } 39 | 40 | /** 41 | * 42 | */ 43 | public onClick_showVisualizationBtn() 44 | { 45 | $("#cubeviz-footer-showVisualizationButton").click(); 46 | } 47 | 48 | /** 49 | * 50 | */ 51 | public onStart_application() 52 | { 53 | this.initialize(); 54 | } 55 | 56 | /** 57 | * 58 | */ 59 | public render() : CubeViz_View_Abstract 60 | { 61 | /** 62 | * Delegate events to new items of the template 63 | */ 64 | this.bindUserInterfaceEvents({ 65 | "click #cubeviz-modelinfo-showAnalyzeBtn": 66 | this.onClick_showAnalyzeBtn, 67 | 68 | "click #cubeviz-modelinfo-showVisualizationBtn": 69 | this.onClick_showVisualizationBtn 70 | }); 71 | 72 | return this; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /typescript/src/View/Run.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | var cubeVizApp = new CubeViz_View_Application; 4 | 5 | $(document).ready(function(){ 6 | 7 | // show intern data only if context is development 8 | if(0 < _.size(cubeVizApp._) && "development" == cubeVizApp._.backend.context) { 9 | console.log("CubeViz - Development Information:"); 10 | console.log(cubeVizApp._); 11 | } 12 | 13 | // trigger event that application has to start 14 | cubeVizApp.triggerEvent("onStart_application"); 15 | }); 16 | -------------------------------------------------------------------------------- /typescript/tsc/Main.txt: -------------------------------------------------------------------------------- 1 | src/Model/CubeViz/ConfigurationLink.ts 2 | src/Model/CubeViz/Collection.ts 3 | src/Model/CubeViz/Visualization.ts 4 | src/Model/CubeViz/View/Abstract.ts 5 | src/Model/CubeViz/View/Application.ts 6 | src/Model/CubeViz/View/Helper.ts 7 | 8 | src/Model/CubeViz/Visualization/Controller.ts 9 | 10 | src/Model/CubeViz/Visualization/D3js.ts 11 | src/Model/CubeViz/Visualization/D3js/CirclePackingForClusters.ts 12 | 13 | src/Model/CubeViz/Visualization/HighCharts.ts 14 | src/Model/CubeViz/Visualization/HighCharts/Chart.ts 15 | src/Model/CubeViz/Visualization/HighCharts/Area.ts 16 | src/Model/CubeViz/Visualization/HighCharts/AreaSpline.ts 17 | src/Model/CubeViz/Visualization/HighCharts/Bar.ts 18 | src/Model/CubeViz/Visualization/HighCharts/Column.ts 19 | src/Model/CubeViz/Visualization/HighCharts/Line.ts 20 | src/Model/CubeViz/Visualization/HighCharts/Pie.ts 21 | src/Model/CubeViz/Visualization/HighCharts/Polar.ts 22 | src/Model/CubeViz/Visualization/HighCharts/Spline.ts 23 | 24 | 25 | src/Model/DataCube/ClusteringDataCube.ts 26 | src/Model/DataCube/Component.ts 27 | src/Model/DataCube/DataCubeMerger.ts 28 | src/Model/DataCube/DataSet.ts 29 | src/Model/DataCube/DataStructureDefinition.ts 30 | src/Model/DataCube/Observation.ts 31 | src/Model/DataCube/Slice.ts 32 | 33 | src/View/CompareAction/ModelSelection.ts 34 | src/View/CompareAction/DatasetSelection.ts 35 | src/View/CompareAction/GeneralDatasetInformation.ts 36 | src/View/CompareAction/DimensionOverview.ts 37 | src/View/CompareAction/MeasureAndAttributeInformation.ts 38 | src/View/CompareAction/VisualizationSetup.ts 39 | src/View/CompareAction/ClusterVisualization.ts 40 | 41 | src/View/DataselectionModule/DataSet.ts 42 | src/View/DataselectionModule/Slice.ts 43 | src/View/DataselectionModule/Measure.ts 44 | src/View/DataselectionModule/Attribute.ts 45 | src/View/DataselectionModule/Component.ts 46 | src/View/DataselectionModule/Footer.ts 47 | 48 | src/View/IndexAction/ExportArea.ts 49 | src/View/IndexAction/Header.ts 50 | src/View/IndexAction/Legend.ts 51 | src/View/IndexAction/Visualization.ts 52 | src/View/IndexAction/VisualizationSelector.ts 53 | 54 | src/View/ModelinfoAction/Footer.ts 55 | 56 | src/View/Run.ts 57 | -------------------------------------------------------------------------------- /typescript/tsc/Test.txt: -------------------------------------------------------------------------------- 1 | src/Test/TestSuite.ts 2 | 3 | src/Model/CubeViz/Collection.ts 4 | src/Test/Model/CubeViz/Collection.ts 5 | 6 | src/Model/CubeViz/View/Helper.ts 7 | src/Test/Model/CubeViz/View/Helper.ts 8 | 9 | src/Test/View/DataselectionModule/DataStructureDefinition.ts 10 | src/Test/View/DataselectionModule/DataSet.ts 11 | src/Test/View/DataselectionModule/Component.ts 12 | 13 | src/Test/View/IndexAction/VisualizationSelector.ts 14 | --------------------------------------------------------------------------------