├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── basic-configuration.ttl ├── build.bat ├── build.sh ├── docker-compose.yml ├── docs ├── BUILD-LICENSE.md ├── BUILD.md ├── Content-negotiation.md ├── Context-determination.md ├── DEPLOY.md ├── DOCKER.md ├── InfoProductInterface.md ├── KEYSTORE.md ├── LDT.archimate ├── LINUX_SETUP.md ├── MIGRATION.md ├── PRODUCTION.md ├── PROXY.md ├── RDFa.md ├── RELEASE.md ├── Read-Write-API.md ├── Read-Write-API.xlsx ├── SECURE.md ├── plaatjes.pptx └── resources.png ├── examples ├── Example excel.xlsx ├── README.md ├── Tabular-Data.xlsx ├── api-calls │ ├── content.ttl │ ├── get-select-formats.bat │ ├── upload-archi.bat │ └── upload-with-params.bat ├── concepts │ ├── arbeidscontract.ttl │ ├── asbest.ttl │ ├── concepts.ttl │ ├── config.zip │ ├── containers.ttl │ ├── deploy.sh │ ├── home.ttl │ ├── hypotheek.ttl │ ├── rechtzaak.ttl │ ├── resource.ttl │ ├── scheme.ttl │ └── skoslex.ttl ├── data2model │ ├── acts.ttl │ ├── advanced.ttl │ ├── class.ttl │ ├── clean-copy.ttl │ ├── compare.ttl │ ├── concept.ttl │ ├── config.zip │ ├── containers.ttl │ ├── context.ttl │ ├── data.ttl │ ├── data2model.ttl │ ├── deploy.sh │ ├── downloads.ttl │ ├── example-uml-model.eap │ ├── example-uml-model.xml │ ├── extensions │ │ └── README.md │ ├── fbm2model.ttl │ ├── fbm2scheme.ttl │ ├── graph.ttl │ ├── home.ttl │ ├── import-vocabs.sh │ ├── ldm2model.ttl │ ├── mim.ttl │ ├── mim2model.ttl │ ├── model.ttl │ ├── model2mim.ttl │ ├── model2model.ttl │ ├── model2scheme.ttl │ ├── namespaces.ttl │ ├── owl2shacl.ttl │ ├── resource.ttl │ ├── scheme.ttl │ ├── search.ttl │ ├── tabel.ttl │ ├── temp.ttl │ ├── uml.ttl │ ├── uml2mim.ttl │ ├── uml2scheme.ttl │ ├── uritemplates.ttl │ ├── vocabs.txt │ ├── vocabularies.ttl │ └── xmi.ttl ├── data2viz │ ├── concepts.ttl │ ├── config.zip │ ├── containers.ttl │ ├── deploy.sh │ ├── home.ttl │ ├── model.ttl │ ├── subjects.ttl │ └── triples.ttl ├── deploy-basic-configuration-virtuoso.bat ├── deploy-basic-configuration.bat ├── deploy-basic-configuration.sh ├── deploy-examples.bat ├── deploy-examples.sh ├── deploy-tests-jetty.bat ├── deploy-tests-virtuoso.bat ├── deploy-tests-virtuoso.sh ├── deploy-tests.bat ├── deploy-tests.sh ├── empty.ttl ├── example-xmi.xml ├── example.csv ├── example.eap ├── example.xsd ├── excel2rdf │ ├── compare.ttl │ ├── container.ttl │ ├── deploy.bat │ ├── deploy.sh │ ├── download.ttl │ ├── excel2rdf.ttl │ ├── productions.ttl │ ├── showdata.ttl │ └── tabular.ttl ├── keystore │ ├── ldt.jks │ └── properties-local.xml ├── tests.zip ├── tests │ ├── Archimate.ttl │ ├── BlankNodes.ttl │ ├── Character.ttl │ ├── ChartAppearance.ttl │ ├── ContainerPresentations.ttl │ ├── Containers.ttl │ ├── ContentAppearance.ttl │ ├── DefaultResource.ttl │ ├── EditorAppearance.ttl │ ├── ElmoVocabulary.ttl │ ├── FederatedQuery.ttl │ ├── FooterAppearance.ttl │ ├── FormAppearance.ttl │ ├── FormAppearanceAjax.ttl │ ├── FormAppearanceDbPedia.ttl │ ├── Formats.ttl │ ├── FrameAppearance.ttl │ ├── GeoAppearance.ttl │ ├── GeoAppearanceBrt.ttl │ ├── GeoAppearanceBrtFeature.ttl │ ├── GeoAppearancePointer.ttl │ ├── GlobalLinks.ttl │ ├── GraphAppearance.ttl │ ├── GraphAppearanceParameters.ttl │ ├── GraphAppearanceSimple.ttl │ ├── Graphql-service.ttl │ ├── HeaderAppearance.ttl │ ├── HtmlAppearance.ttl │ ├── ImageAppearance.ttl │ ├── ImageAppearance2.ttl │ ├── MarkdownAppearance.ttl │ ├── MarkdownFormat.ttl │ ├── MissingAppearance.ttl │ ├── ModelAppearance.ttl │ ├── ModelTemplateTests.ttl │ ├── NavBarSearchAppearance.ttl │ ├── Parameters.ttl │ ├── Production.ttl │ ├── ProductionCreateShape.ttl │ ├── Search.ttl │ ├── Service-duo.ttl │ ├── Service.ttl │ ├── Sesame-Formats.ttl │ ├── SimpleImageAppearance.ttl │ ├── SiteWelcome.ttl │ ├── SparqlQueries.ttl │ ├── StylesheetTest.ttl │ ├── TableAppearance.ttl │ ├── TableAppearanceConstruct.ttl │ ├── Testdata.ttl │ ├── TestdataAmersfoort.ttl │ ├── TestdataTemperature.ttl │ ├── TextAppearance.ttl │ ├── TextdataDocument.ttl │ ├── VirtualSparql.ttl │ ├── VocabularyAppearance.ttl │ ├── Webpage.ttl │ └── XPLTreeview.ttl └── tutorial │ ├── amersfoort.ttl │ ├── amersfoort2.ttl │ ├── buienradar.ttl │ ├── dbpedia.ttl │ ├── dbpediaresource.ttl │ ├── excelContainer.ttl │ ├── geo.ttl │ ├── helloWorld.ttl │ ├── menu.ttl │ ├── musicbrainz.ttl │ ├── production.ttl │ ├── search.ttl │ ├── showContainer.ttl │ ├── showExcel.ttl │ ├── showGraphs.ttl │ ├── showGraphs2.ttl │ ├── simpleContainer.ttl │ └── vocabulary.ttl ├── ext-resources ├── .gitignore ├── README.md └── pom.xml ├── license-builder ├── .gitignore ├── README.md ├── pom.xml └── src │ ├── main │ ├── java │ │ └── nl │ │ │ └── architolk │ │ │ └── ldt │ │ │ └── license │ │ │ ├── GitLookUp.java │ │ │ ├── GitPathResolver.java │ │ │ └── LicenseProvider.java │ └── resources │ │ └── META-INF │ │ └── services │ │ └── com.mycila.maven.plugin.license.PropertiesProvider │ └── test │ └── java │ └── nl │ └── architolk │ └── ldt │ └── processors │ ├── ExcelConverterTest.java │ ├── ExcelSerializerTest.java │ ├── WordSerializerTest.java │ └── XMLFOProcessorTest.java ├── orbeon ├── .gitignore ├── README.md └── pom.xml ├── pom.xml ├── processors ├── .gitignore ├── jsoup-1.10.1.jar ├── maven-install-orbeon-jar.bat ├── maven-install-orbeon-jar.sh ├── maven-install-virtuoso-jar.bat ├── maven-install-virtuoso-jar.sh ├── pom.xml ├── processors-1.25.0.jar └── src │ ├── etc │ └── license │ │ └── ldt.txt │ ├── main │ └── java │ │ └── nl │ │ └── architolk │ │ └── ldt │ │ ├── processors │ │ ├── ExcelConverter.java │ │ ├── ExcelSerializer.java │ │ ├── HttpClientProcessor.java │ │ ├── HttpClientProperties.java │ │ ├── MarkDownConverter.java │ │ ├── RDF4JProcessor.java │ │ ├── RDF4JProperties.java │ │ ├── RDFWhitelist.java │ │ ├── SparqlParser.java │ │ ├── SparqlProcessor.java │ │ ├── WordSerializer.java │ │ └── XMLFOProcessor.java │ │ ├── rtf │ │ ├── RtfControlSymbol.java │ │ ├── RtfControlWord.java │ │ ├── RtfElement.java │ │ ├── RtfGroup.java │ │ ├── RtfHtml.java │ │ ├── RtfParseException.java │ │ ├── RtfReader.java │ │ ├── RtfState.java │ │ └── RtfText.java │ │ └── utils │ │ ├── Hasher.java │ │ ├── Rtf2html.java │ │ └── Uuid5.java │ └── test │ └── java │ └── nl │ └── architolk │ └── ldt │ └── processors │ ├── ExcelConverterTest.java │ ├── ExcelSerializerTest.java │ ├── HttpClientProcessorTest.java │ ├── WordSerializerTest.java │ └── XMLFOProcessorTest.java ├── rdf4j ├── .gitignore ├── README.md └── pom.xml ├── scripts ├── create_tomcat_admin_user.sh └── run.sh ├── src ├── etc │ └── license │ │ └── ldt.txt ├── main │ └── webapp │ │ ├── META-INF │ │ └── context.xml │ │ └── WEB-INF │ │ ├── classes │ │ └── fop-userconfig.xml │ │ ├── resources │ │ ├── apps │ │ │ ├── css │ │ │ │ ├── codemirror.css │ │ │ │ ├── icons.css │ │ │ │ ├── ldt-theme.css │ │ │ │ ├── signin.css │ │ │ │ └── slickgrid-ldt.css │ │ │ ├── images │ │ │ │ ├── back_disabled.png │ │ │ │ ├── back_enabled.png │ │ │ │ ├── back_enabled_hover.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── forward_disabled.png │ │ │ │ ├── forward_enabled.png │ │ │ │ ├── forward_enabled_hover.png │ │ │ │ ├── layers-2x.png │ │ │ │ ├── layers.png │ │ │ │ ├── ldt-logo.png │ │ │ │ ├── marker-icon-2x.png │ │ │ │ ├── marker-icon.png │ │ │ │ ├── marker-shadow.png │ │ │ │ ├── planboard.png │ │ │ │ ├── rdflogo.png │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ └── sort_desc_disabled.png │ │ │ ├── js │ │ │ │ ├── chart.js │ │ │ │ ├── chosen.ajax.js │ │ │ │ ├── d3graphs-inner.js │ │ │ │ ├── ldt.js │ │ │ │ ├── leaflet-tilelayer-wmts.js │ │ │ │ ├── leaflet.label.js │ │ │ │ ├── linkeddatamap.js │ │ │ │ ├── linkedmodel.js │ │ │ │ ├── rdfmap.js │ │ │ │ ├── slick.ldt-grid.js │ │ │ │ ├── slick.ldt-remotemodel.js │ │ │ │ └── uuid.js │ │ │ ├── ldt │ │ │ │ ├── config.xml │ │ │ │ ├── namespaces.xml │ │ │ │ ├── page-flow.xml │ │ │ │ ├── pipelines │ │ │ │ │ ├── container.xpl │ │ │ │ │ ├── edit.xpl │ │ │ │ │ ├── error.xpl │ │ │ │ │ ├── favicon.xpl │ │ │ │ │ ├── git.xpl │ │ │ │ │ ├── header.xpl │ │ │ │ │ ├── info.xpl │ │ │ │ │ ├── jsonheader.xpl │ │ │ │ │ ├── not-found.xpl │ │ │ │ │ ├── query.xpl │ │ │ │ │ ├── redirect.xpl │ │ │ │ │ ├── sparql.xpl │ │ │ │ │ ├── sparqlheader.xpl │ │ │ │ │ ├── svg2document.xpl │ │ │ │ │ ├── unauthorized.xpl │ │ │ │ │ ├── update.xpl │ │ │ │ │ ├── url.xpl │ │ │ │ │ ├── version.xpl │ │ │ │ │ └── xmlheader.xpl │ │ │ │ ├── representations │ │ │ │ │ ├── BackstageExport.xml │ │ │ │ │ ├── BackstageMenu.xml │ │ │ │ │ ├── BackstageRepresentation.xml │ │ │ │ │ ├── BackstageVocabularyRepresentation.xml │ │ │ │ │ ├── ExitRepresentation.xml │ │ │ │ │ ├── LoginErrorRepresentation.xml │ │ │ │ │ ├── LoginRepresentation.xml │ │ │ │ │ └── SPARQLRepresentation.xml │ │ │ │ ├── services.xml │ │ │ │ ├── transformations │ │ │ │ │ ├── appearances │ │ │ │ │ │ ├── CesiumAppearance.xsl │ │ │ │ │ │ ├── ChartAppearance.xsl │ │ │ │ │ │ ├── EditorAppearance.xsl │ │ │ │ │ │ ├── FormAppearance.xsl │ │ │ │ │ │ ├── FrameAppearance.xsl │ │ │ │ │ │ ├── GeoAppearance.xsl │ │ │ │ │ │ ├── GraphAppearance.xsl │ │ │ │ │ │ ├── HtmlAppearance.xsl │ │ │ │ │ │ ├── LoginAppearance.xsl │ │ │ │ │ │ ├── MarkdownAppearance.xsl │ │ │ │ │ │ ├── ModelAppearance.xsl │ │ │ │ │ │ ├── ModelTemplates.xsl │ │ │ │ │ │ ├── SimpleImageAppearance.xsl │ │ │ │ │ │ ├── TextAppearance.xsl │ │ │ │ │ │ ├── TreeAppearance.xsl │ │ │ │ │ │ ├── TurtleAppearance.xsl │ │ │ │ │ │ ├── VocabularyAppearance.xsl │ │ │ │ │ │ └── dmn │ │ │ │ │ │ │ ├── Debug.xsl │ │ │ │ │ │ │ ├── DecisionTableAppearance.xsl │ │ │ │ │ │ │ └── LogicAppearance.xsl │ │ │ │ │ ├── context.xsl │ │ │ │ │ ├── context2info.xsl │ │ │ │ │ ├── csv2xml.xsl │ │ │ │ │ ├── error2html.xsl │ │ │ │ │ ├── header2html.xsl │ │ │ │ │ ├── header2json.xsl │ │ │ │ │ ├── merge-parameters.xsl │ │ │ │ │ ├── obj2xmi.xsl │ │ │ │ │ ├── param2query.xsl │ │ │ │ │ ├── post2xmldoc.xsl │ │ │ │ │ ├── rdf2config.xsl │ │ │ │ │ ├── rdf2csv.xsl │ │ │ │ │ ├── rdf2doc.xsl │ │ │ │ │ ├── rdf2fo.xsl │ │ │ │ │ ├── rdf2graphjson.xsl │ │ │ │ │ ├── rdf2graphml.xsl │ │ │ │ │ ├── rdf2html.xsl │ │ │ │ │ ├── rdf2jsonld.xsl │ │ │ │ │ ├── rdf2jsonldcontext.xsl │ │ │ │ │ ├── rdf2md.xsl │ │ │ │ │ ├── rdf2plainjson.xsl │ │ │ │ │ ├── rdf2qrcode.xsl │ │ │ │ │ ├── rdf2rdfa.xsl │ │ │ │ │ ├── rdf2svgi.xsl │ │ │ │ │ ├── rdf2ttl.xsl │ │ │ │ │ ├── rdf2turtle.xsl │ │ │ │ │ ├── rdf2txt.xsl │ │ │ │ │ ├── rdf2view.xsl │ │ │ │ │ ├── rdf2xls.xsl │ │ │ │ │ ├── rdf2xmi.xsl │ │ │ │ │ ├── rdf2yed.xsl │ │ │ │ │ ├── result2rdfa.xsl │ │ │ │ │ ├── sparql2obj.xsl │ │ │ │ │ ├── sparql2rdfa.xsl │ │ │ │ │ ├── sparql2rdfaform.xsl │ │ │ │ │ ├── sql2rdf.xsl │ │ │ │ │ ├── svg2fo.xsl │ │ │ │ │ └── ttl2rdfaform.xsl │ │ │ │ ├── translators │ │ │ │ │ ├── AnchorTranslator.xsl │ │ │ │ │ ├── ArchiTranslator.xsl │ │ │ │ │ ├── ArchimateTranslator.xsl │ │ │ │ │ ├── BAGWFSTranslator.xsl │ │ │ │ │ ├── BuienradarTranslator.xsl │ │ │ │ │ ├── DMNPlusTranslator.xsl │ │ │ │ │ ├── DMNTranslator.xsl │ │ │ │ │ ├── DirectTranslator.xsl │ │ │ │ │ ├── FBMTranslator.xsl │ │ │ │ │ ├── GenericCSVTranslator.xsl │ │ │ │ │ ├── GenericExcelTranslator.xsl │ │ │ │ │ ├── GenericXMLTranslator.xsl │ │ │ │ │ ├── GenericodeTranslator.xsl │ │ │ │ │ ├── GraphQLTranslator.xsl │ │ │ │ │ ├── GraphmlTranslator.xsl │ │ │ │ │ ├── LDMTranslator.xsl │ │ │ │ │ ├── MusicbrainzTranslator.xsl │ │ │ │ │ ├── SimpleExcelTranslator.xsl │ │ │ │ │ ├── SimpleTranslator.xsl │ │ │ │ │ ├── TableExcelTranslator.xsl │ │ │ │ │ ├── WowTranslator.xsl │ │ │ │ │ ├── XMATranslator.xsl │ │ │ │ │ ├── XMI21Translator.xsl │ │ │ │ │ ├── XPLTranslator.xsl │ │ │ │ │ └── XSDTranslator.xsl │ │ │ │ └── version.xml │ │ │ └── robots.txt │ │ ├── config │ │ │ ├── forbidden.html │ │ │ ├── not-found.html │ │ │ ├── processors-local.xml │ │ │ ├── properties-local-prod.xml │ │ │ └── properties-local.xml │ │ └── page-flow.xml │ │ └── web.xml └── test │ ├── expected-results │ ├── result001.plain │ ├── result002.html │ ├── result003.html │ ├── result004.html │ ├── result005.xml │ ├── result006.unknown │ ├── result007.sparql-results+xml │ ├── result008.sparql-results+xml │ ├── result009.ld+json │ ├── result010.unknown │ ├── result011.unknown │ ├── result012.rdf+xml │ ├── result013.unknown │ ├── result014.rdf+xml │ ├── result015.ld+json │ ├── result016.ld+json │ ├── result017.turtle │ ├── result018.html │ ├── result019.plain │ ├── result020.ld+json │ ├── result021.plain │ ├── result022.turtle │ ├── result023.plain │ ├── result024.plain │ ├── result025.html │ ├── result026.html │ ├── result027.html │ ├── result028.html │ ├── result029.sparql-results+xml │ ├── result030.html │ ├── result031.html │ └── result032.html │ ├── jetty │ └── jetty.xml │ └── jmeter │ └── FunctionalTestPlan.jmx ├── stored-procs ├── create_procedures.sql ├── dump-graphs.bat ├── dump_graphs.sql ├── dumped-graphs-list.bat ├── install-dump-graphs.bat └── install.bat ├── virtuoso ├── Dockerfile └── run.sh └── vocabulary ├── deploy-vocabulary.bat ├── detailvoorbeeld.ttl ├── elmo.ttl ├── elmo2.png └── elmo2.ttl /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | /webapps/ 3 | /virtuoso_data/ 4 | /local/ 5 | docs/*.bak 6 | examples/excel2rdf/config.zip 7 | examples/data2model/extensions/*.ttl 8 | examples/data2model/extensions/config.zip 9 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # NAME Dockerfile 3 | # VERSION 1.25.0 4 | # DATE 2020-07-19 5 | # 6 | # Copyright 2012-2020 7 | # 8 | # This file is part of the Linked Data Theatre. 9 | # 10 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | # it under the terms of the GNU General Public License as published by 12 | # the Free Software Foundation, either version 3 of the License, or 13 | # (at your option) any later version. 14 | # 15 | # The Linked Data Theatre is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | # GNU General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with the Linked Data Theatre. If not, see . 22 | # 23 | 24 | FROM cloudesire/java:7 25 | MAINTAINER ClouDesire 26 | 27 | RUN apt-get update \ 28 | && apt-get install -yq --no-install-recommends wget pwgen ca-certificates \ 29 | && apt-get clean \ 30 | && rm -rf /var/lib/apt/lists/* 31 | 32 | ENV TOMCAT_MAJOR_VERSION 7 33 | ENV TOMCAT_MINOR_VERSION 7.0.62 34 | ENV CATALINA_HOME /tomcat 35 | 36 | # INSTALL TOMCAT 37 | RUN wget -q https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \ 38 | wget -qO- https://archive.apache.org/dist/tomcat/tomcat-${TOMCAT_MAJOR_VERSION}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz.md5 | md5sum -c - && \ 39 | tar zxf apache-tomcat-*.tar.gz && \ 40 | rm apache-tomcat-*.tar.gz && \ 41 | mv apache-tomcat* tomcat 42 | 43 | ADD scripts/create_tomcat_admin_user.sh /create_tomcat_admin_user.sh 44 | ADD scripts/run.sh /run.sh 45 | RUN chmod +x /*.sh 46 | 47 | EXPOSE 8080 48 | CMD ["/run.sh"] 49 | -------------------------------------------------------------------------------- /build.bat: -------------------------------------------------------------------------------- 1 | :: 2 | :: NAME build.bat 3 | :: VERSION 1.17.1-SNAPSHOT 4 | :: DATE 2017-05-05 5 | :: 6 | :: Copyright 2012-2017 7 | :: 8 | :: This file is part of the Linked Data Theatre. 9 | :: 10 | :: The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | :: it under the terms of the GNU General Public License as published by 12 | :: the Free Software Foundation, either version 3 of the License, or 13 | :: (at your option) any later version. 14 | :: 15 | :: The Linked Data Theatre is distributed in the hope that it will be useful, 16 | :: but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | :: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | :: GNU General Public License for more details. 19 | :: 20 | :: You should have received a copy of the GNU General Public License 21 | :: along with the Linked Data Theatre. If not, see . 22 | :: 23 | 24 | @echo off 25 | :: Update the TOMCAT_ROOT variable if you are using a docroot for your Linked Data Theatre installation 26 | set TOMCAT_ROOT="%CATALINA_HOME%\webapps\ROOT" 27 | cd target 28 | del /F /Q * 29 | cd ..\orbeon 30 | call mvn package 31 | cd ..\ext-resources 32 | call mvn package 33 | cd ..\license-builder 34 | call mvn clean install 35 | cd ..\orbeon 36 | call mvn clean package 37 | cd ..\processors 38 | call maven-install-orbeon-jar.bat 39 | call maven-install-virtuoso-jar.bat 40 | call mvn clean install 41 | cd .. 42 | call mvn clean package 43 | cd target 44 | cd ldt* 45 | call xcopy /E /Y * "%TOMCAT_ROOT%" -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | # 2 | # NAME build.sh 3 | # VERSION 1.25.0 4 | # DATE 2020-07-19 5 | # 6 | # Copyright 2012-2020 7 | # 8 | # This file is part of the Linked Data Theatre. 9 | # 10 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | # it under the terms of the GNU General Public License as published by 12 | # the Free Software Foundation, either version 3 of the License, or 13 | # (at your option) any later version. 14 | # 15 | # The Linked Data Theatre is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | # GNU General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with the Linked Data Theatre. If not, see . 22 | # 23 | 24 | # package all dependencies (TODO: should be done by Maven) 25 | cd license-builder/ 26 | mvn clean install 27 | cd .. 28 | cd orbeon/ 29 | mvn package 30 | cd .. 31 | cd ext-resources 32 | mvn package 33 | cd .. 34 | cd processors 35 | bash maven-install-orbeon-jar.bat 36 | bash maven-install-virtuoso-jar.bat 37 | mvn clean install 38 | cd .. 39 | # package ldt 40 | mvn clean package 41 | # cp files to tomcat webapps dir 42 | cp -R target/ldt*/ webapps/ROOT/ 43 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | ldt: 5 | container_name: ldt 6 | image: tomcat:7-jre8 7 | hostname: ldt.local 8 | ports: 9 | - "8080:8080" 10 | volumes: 11 | - ./webapps:/usr/local/tomcat/webapps 12 | - ./shared_import:/usr/local/tomcat/temp:z 13 | networks: 14 | - ldt 15 | 16 | virtuoso: 17 | container_name: virtuoso 18 | build: 19 | context: virtuoso 20 | hostname: virtuoso.local 21 | ports: 22 | - "1111:1111" 23 | - "8890:8890" 24 | environment: 25 | DBA_PASSWORD: "dba" 26 | SPARQL_UPDATE: "true" 27 | VIRTUOSO_DBA_PWD: dba 28 | volumes: 29 | - ./virtuoso_data:/var/lib/virtuoso/db:z 30 | - ./shared_import:/var/lib/virtuoso/usr/local/tomcat/temp:z 31 | networks: 32 | - ldt 33 | 34 | networks: 35 | ldt: 36 | external: 37 | name: ldt 38 | -------------------------------------------------------------------------------- /docs/BUILD-LICENSE.md: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | ## Prerequisite 4 | To use the license builder, please compile and install the license builder subproject. 5 | 6 | ## Usage 7 | As the Linked Data Theatre is open source software, every file should contain a reference to the license. 8 | 9 | It is not needed to manually place the license header, this can be done with the maven instruction: 10 | 11 | mvn license:format 12 | 13 | This will check any file for the right license header. The header contains a reference to the file name, the file date and the project version. 14 | 15 | This has two side effects: 16 | 17 | - The file date will always be the date at which the license is checked, even if the original file date was earlier (because the header will be updated, which means the filedate changes); 18 | - If the project version changes, all files are updated to the current date. 19 | 20 | **So: don't update the license header if you don't want this behavior!!** 21 | 22 | To check which files are out-of-date, you can use: 23 | 24 | mvn license:check 25 | 26 | ## Update version without updating all files 27 | It is possible to update the project version without updating all files. For this purpose the main POM contains the properties release.version and release.date. The file-headers are considered out of date only if: 28 | 29 | - The file date is older than the release data, AND 30 | - The file version is not the same as the release version. 31 | 32 | If the file data is newer than the release data, the file version should be the same as the project version. -------------------------------------------------------------------------------- /docs/InfoProductInterface.md: -------------------------------------------------------------------------------- 1 | # Information Product Interface 2 | The information product factory creates workers that implement the information product interface. This document describes this interface. 3 | 4 | - INPUT: An InformationProductRequest class 5 | - OUPUT: An InformationProduct class 6 | 7 | ## Information Product Request 8 | The information Product Request contains the following properties: 9 | 10 | - `identifier`: (mandatory) the IRI that identifies the particular information product 11 | - `subject`: (optional) the IRI that identifies the "subject" of an information product. In a RESTful or Linked Data dereferenceable URL, this is the URL that originally is provided by the client. This value can be used as {$SUBJECT} in a template. 12 | - `parameters` (optional) a name-value list containing the parameters that are passed to the information product. The values can be used as {$} in a template. 13 | 14 | ## Information Product 15 | The information Product contains the following properties: 16 | 17 | - `type`: (optional) the class/interface of the the information product. At this moment, classtype can have the values `org.eclipse.rdf4j.model.Model` (for set of triples - CONSTRUCT/DESCRIBE) or `org.eclipse.rdf4j.query.BindingSet` (for a set of tuples - SELECT/ASK). An empty values means that some error has occurred. 18 | - `data`: (mandatory) a class that contains the data. The type should be compatible with the type set in the `type` property. 19 | - `error`: (optional) in case of an error: a class containing the error. 20 | -------------------------------------------------------------------------------- /docs/KEYSTORE.md: -------------------------------------------------------------------------------- 1 | # Accessing remote endpoints via https with unsecure certificate 2 | If you are using the Linked Data Theatre and want to access a secure (https) endpoint, in some cases the certificate is not trusted (for example: self-signed certificates, or certificates has no chain to a trusted ROOT certificate in the default Java keystore). 3 | 4 | The Linked Data Theatre is capable of trusting certificates in its own keystore, via the SSL functionality of Orbeon. 5 | (see: [http://doc.orbeon.com/configuration/properties/index.html](http://doc.orbeon.com/configuration/properties/index.html) and [http://wiki.orbeon.com/forms/how-to/use-ssl-https](http://wiki.orbeon.com/forms/how-to/use-ssl-https)) 6 | 7 | ## Steps 8 | Go to the https website and export the certificate (most browsers have the option to export a certificate without trusting it). You should end up with a `.crt` file. 9 | 10 | Import the certificate into a newly created keystore (you will be prompted to specify the password for the keystore): 11 | 12 | "%JAVA_HOME%/bin/keytool" -import -alias {CERTIFICATE-ALIAS} -keystore ldt.jks -file {CERTIFICATE-FILENAME} 13 | 14 | Replace `{CERTIFICATE-FILENAME}` with the name of the exported certificate file. Choose a name for `{CERTIFICATE-ALIAS`} that is unique in this keystore for the certificate. Move the keystore file `ldt.jks` to the `\WEB-INF\resources\config` directory. 15 | 16 | Create the file `properties-local.xml` in the directory `\WEB-INF\resources\config`. This file should look something like: 17 | 18 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | Replace `{TOMCAT-DIR}` with the path to the tomcat directory (including drive letter on windows). Replace `{PASSWORD}` with the password of the keystore. 27 | 28 | Remember to restart the server after you have made the changes. 29 | -------------------------------------------------------------------------------- /docs/MIGRATION.md: -------------------------------------------------------------------------------- 1 | # Migration from an older version of the Linked Data Theatre 2 | -------------------------------------------------------------------------------- /docs/PROXY.md: -------------------------------------------------------------------------------- 1 | # Accessing remote endpoints via a proxy 2 | If you are using the Linked Data Theatre behind a corporate firewall, changes are that the LInked Data Theatre cannot access a remote endpoint directly. Sometimes it is necessary to use a proxy server. 3 | 4 | The Linked Data Theatre is capable of using a proxy server via the proxy-access functionality of Orbeon. 5 | (see: [http://doc.orbeon.com/configuration/properties/index.html](http://doc.orbeon.com/configuration/properties/index.html)) 6 | 7 | ## Steps 8 | Create the file `properties-local.xml` in the directory `\WEB-INF\resources\config`. This file should look something like: 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | Replace `{PROXY-HOST-NAME}` with the address of your proxy, and `{PROXY-PORT}` with the port number at which the proxy server listens. Optionally, you could change the proxy.exlude value. This is a regex expression that defines which address should not use the proxy (normally: any local address). 19 | 20 | Remember to restart the server after you have made the changes. -------------------------------------------------------------------------------- /docs/RDFa.md: -------------------------------------------------------------------------------- 1 | # RDFa in a HTML page describing a vocabulary 2 | 3 | Het LDT ondersteunt met de VocabularyAppearance de mogelijkheid om een een ontologie volledig te representeren als een HTML pagina. Deze HTML pagina bevat echter op zichzelf ook weer Linked Data, in de vorm van RDFa. Dit zorgt ervoor dat de HTML pagina zelf gelezen kan worden als RDF, hoewel via content-negotiation ook direct de RDF opgehaald kan worden. 4 | 5 | Dit document geeft een specificatie van de wijze waarop de RDFa in het document wordt gebracht. Via de Html2Rdf transformator kan ook de omgekeerde route worden genomen: inlezen van een Html pagina waarin RDFa is verwerkt. Van dergelijke pagina's wordt verwacht dat ze zich aan de specificatie houden zoals in dit document geformuleerd 6 | 7 | ## Basics 8 | 9 | The body of the html pagina should contain the following `prefix` attribute: 10 | 11 | 12 | 13 | ## Class 14 | A class description should appear as: 15 | 16 |
17 |
18 |

Some class

19 | Some broader class 20 |
21 |
22 | some attribute 23 |
24 |
25 |
26 |
27 | -------------------------------------------------------------------------------- /docs/Read-Write-API.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/docs/Read-Write-API.xlsx -------------------------------------------------------------------------------- /docs/plaatjes.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/docs/plaatjes.pptx -------------------------------------------------------------------------------- /docs/resources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/docs/resources.png -------------------------------------------------------------------------------- /examples/Example excel.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/Example excel.xlsx -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | #Examples 2 | This folder contains a list of examples for the Linked Data Theatre. It contains all the features that are available in the Linked Data Theatre. 3 | 4 | ##Regression test 5 | This folder also contains a couple of tests to check if all functionality of the LDT is working correctly. 6 | 7 | ##Prerequisites 8 | To execute the tests, please have: 9 | 10 | - A Tomcat server at http://localhost:8080; 11 | - A Virtuoso sparql endpoint at http://localhost:8890; 12 | - A sesame endpoint at http://localhost:7200. 13 | 14 | ##Starting the tests 15 | On a Windows machine: execute `deploy-tests.bat` to insert the configuration and testdata into the triplestore. 16 | For *nix systems, you can execute `deploy-tests.sh`. 17 | 18 | For the sesame tests, insert the `testdata.ttl` triples into a repository with the name `data`. 19 | -------------------------------------------------------------------------------- /examples/Tabular-Data.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/Tabular-Data.xlsx -------------------------------------------------------------------------------- /examples/api-calls/content.ttl: -------------------------------------------------------------------------------- 1 | @prefix container: . @prefix void: . container:defquery rdfs:label "mytitle". -------------------------------------------------------------------------------- /examples/api-calls/get-select-formats.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | curl -X GET -H "accept: application/xml" http://localhost:8080/query/SelectFormats 3 | pause 4 | -------------------------------------------------------------------------------- /examples/api-calls/upload-archi.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | curl -X PUT -T ../../docs/LDT.archimate http://localhost:8080/container/archi 3 | pause 4 | -------------------------------------------------------------------------------- /examples/api-calls/upload-with-params.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | curl -H "accept:application/json" -X POST -F title=mytitle -F file=@content.ttl -F container=http://localhost:8080/container/defquery http://localhost:8080/container/defquery 3 | pause 4 | -------------------------------------------------------------------------------- /examples/concepts/arbeidscontract.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdfs: . 2 | @prefix skos: . 3 | @prefix skosthes: . 4 | @prefix skoslex: . 5 | @prefix owl: . 6 | @prefix dcterms: . 7 | 8 | @prefix ex: . 9 | 10 | ex:InDienstNemen a skoslex:Act; 11 | rdfs:label "In dienst nemen"; 12 | skoslex:actor ex:Werkgever; 13 | skoslex:actor ex:Werknemer; 14 | skoslex:record ex:Arbeidscontract; 15 | . 16 | 17 | ex:ArbeidscontractOpstellen a skoslex:Act; 18 | rdfs:label "Arbeidscontract opstellen"; 19 | skoslex:actor ex:Werkgever; 20 | skoslex:object ex:Arbeidscontract; 21 | . 22 | 23 | ex:Werkgever a skoslex:Actor; 24 | rdfs:label "Werkgever"; 25 | . 26 | 27 | ex:Werknemer a skoslex:Agent; 28 | rdfs:label "Werknemer"; 29 | . 30 | 31 | ex:Arbeidscontract a skoslex:Record; 32 | rdfs:label "Arbeidscontract"; 33 | . 34 | -------------------------------------------------------------------------------- /examples/concepts/asbest.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdfs: . 2 | @prefix skos: . 3 | @prefix skosthes: . 4 | @prefix skoslex: . 5 | @prefix owl: . 6 | @prefix dcterms: . 7 | 8 | @prefix ex: . 9 | 10 | ex:Asbest a skos:Concept; 11 | rdfs:label "Asbest"; 12 | . 13 | 14 | ex:Asbestvrijwaring a skoslex:Object; 15 | rdfs:label "Asbestvrijwaring"; 16 | skosthes:broaderGeneric ex:Vrijwaring; 17 | skos:semanticRelation ex:Asbest; 18 | . 19 | 20 | ex:Aansprakelijkheid a skoslex:Object; 21 | rdfs:label "Aansprakelijkheid"; 22 | . 23 | 24 | ex:Vrijwaring a skoslex:Object; 25 | rdfs:label "Vrijwaring"; 26 | skos:semanticRelation ex:Aansprakelijkheid; 27 | . 28 | 29 | ex:VrijwarenVanAansprakelijkheidAsbest a skoslex:Act; 30 | rdfs:label "Vrijwaren van aansprakelijkheid m.b.t. asbest"; 31 | skoslex:actor ex:Koper; 32 | skoslex:actor ex:Verkoper; 33 | skoslex:object ex:Asbestvrijwaring; 34 | skoslex:object ex:Woning; 35 | skosthes:broaderPartitive ex:Koop; 36 | . 37 | 38 | ex:Koop a skoslex:Act; 39 | rdfs:label "Koop"; 40 | skoslex:actor ex:Koper; 41 | skoslex:actor ex:Verkoper; 42 | skoslex:agent ex:Makelaar; 43 | skoslex:object ex:Woning; 44 | skoslex:record ex:Koopovereenkomst; 45 | . 46 | 47 | ex:Woning a skoslex:Object; 48 | rdfs:label "Woning"; 49 | . 50 | 51 | ex:Verkoper a skoslex:Actor; 52 | rdfs:label "Verkoper"; 53 | . 54 | 55 | ex:Koper a skoslex:Actor; 56 | rdfs:label "Koper"; 57 | . 58 | 59 | ex:Makelaar a skoslex:Agent; 60 | rdfs:label "Makelaar"; 61 | . 62 | 63 | ex:Koopovereenkomst a skoslex:Record; 64 | rdfs:label "Koopovereenkomst"; 65 | skos:narrowerPartitive ex:AsbestClausule; 66 | . 67 | 68 | ex:AsbestClausule a skoslex:Record; 69 | rdfs:label "Asbestclausule"; 70 | skoslex:isAbout ex:Asbestvrijwaring; 71 | . 72 | -------------------------------------------------------------------------------- /examples/concepts/concepts.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdfs: . 2 | @prefix skos: . 3 | @prefix skosthes: . 4 | @prefix skoslex: . 5 | @prefix owl: . 6 | @prefix dcterms: . 7 | 8 | @prefix ex: . 9 | 10 | ex:Concept a skos:Concept; 11 | rdfs:label "Concept"; 12 | . 13 | 14 | ex:Act a skoslex:Act; 15 | rdfs:label "Act"; 16 | skoslex:object ex:Object; 17 | skoslex:actor ex:Actor; 18 | skoslex:agent ex:Agent; 19 | skoslex:record ex:Record; 20 | skosthes:broaderGeneric ex:Concept; 21 | . 22 | ex:ActOfRecording a skoslex:Act; 23 | rdfs:label "Act of recording"; 24 | skoslex:actor ex:Agent; 25 | skoslex:object ex:Act; 26 | skoslex:object ex:Record; 27 | . 28 | 29 | ex:Object a skoslex:Object; 30 | rdfs:label "Object"; 31 | skosthes:broaderGeneric ex:Concept; 32 | . 33 | ex:Record a skoslex:Record; 34 | rdfs:label "Record"; 35 | skoslex:about ex:Concept; 36 | skosthes:broaderGeneric ex:Object; 37 | . 38 | ex:Actor a skoslex:Actor; 39 | rdfs:label "Actor"; 40 | skosthes:broaderGeneric ex:Concept; 41 | . 42 | ex:Agent a skoslex:Agent; 43 | rdfs:label "Agent"; 44 | skosthes:broaderGeneric ex:Actor; 45 | . 46 | -------------------------------------------------------------------------------- /examples/concepts/config.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/concepts/config.zip -------------------------------------------------------------------------------- /examples/concepts/containers.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix containerlocal: . 6 | 7 | #Container for upload data 8 | containerlocal:data a elmo:Container; 9 | rdfs:label "Upload data"; 10 | elmo:contains stage:Menu; 11 | elmo:representation elmo:UploadRepresentation; 12 | . 13 | -------------------------------------------------------------------------------- /examples/concepts/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -f config.zip 3 | zip config.zip *.ttl 4 | curl -X PUT -H "Content-Type: multipart/x-zip" -T config.zip http://localhost:8080/concepts/backstage/import 5 | -------------------------------------------------------------------------------- /examples/concepts/hypotheek.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdfs: . 2 | @prefix skos: . 3 | @prefix skosthes: . 4 | @prefix skoslex: . 5 | @prefix owl: . 6 | @prefix dcterms: . 7 | 8 | @prefix ex: . 9 | 10 | ex:RechtVanHypotheek a skoslex:Object; 11 | rdfs:label "Recht van hypotheek"; 12 | . 13 | ex:VestigingHypotheek a skoslex:Act; 14 | rdfs:label "Vestiging van een hypotheek"; 15 | skoslex:actor ex:Hypotheeknemer; 16 | skoslex:actor ex:Hypotheekgever; 17 | skoslex:agent ex:Notaris; 18 | skoslex:record ex:Hypotheekakte; 19 | skoslex:object ex:OnroerendeZaak; 20 | skoslex:object ex:RechtVanHypotheek; 21 | . 22 | 23 | ex:OpstellenHypotheekakte a skoslex:Act; 24 | rdfs:label "Opstellen hypotheekakte"; 25 | skoslex:actor ex:Notaris; 26 | skoslex:object ex:Hypotheekakte; 27 | . 28 | 29 | ex:Hypotheeknemer a skoslex:Actor; 30 | rdfs:label "Hypotheeknemer"; 31 | . 32 | 33 | ex:Hypotheekgever a skoslex:Actor; 34 | rdfs:label "Hypotheekgever"; 35 | . 36 | 37 | ex:Notaris a skoslex:Agent; 38 | rdfs:label "Notaris"; 39 | . 40 | 41 | ex:Hypotheekakte a skoslex:Record; 42 | rdfs:label "Hypotheekakte"; 43 | skoslex:about ex:Opslagbedrag; 44 | . 45 | 46 | ex:OnroerendeZaak a skoslex:Object; 47 | rdfs:label "Onroerende zaak"; 48 | . 49 | 50 | ex:Opslagbedrag a skos:Concept; 51 | rdfs:label "Opslagbedrag"; 52 | . 53 | -------------------------------------------------------------------------------- /examples/concepts/rechtzaak.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdfs: . 2 | @prefix skos: . 3 | @prefix skosthes: . 4 | @prefix skoslex: . 5 | @prefix owl: . 6 | @prefix dcterms: . 7 | 8 | @prefix ex: . 9 | 10 | ex:BeslechtenGeschil a skoslex:Act; 11 | rdfs:label "Beslechten van een geschil"; 12 | skoslex:actor ex:Partij; 13 | skoslex:agent ex:Advocaat; 14 | . 15 | 16 | ex:HoudenPleidooi a skoslex:Act; 17 | rdfs:label "Houden van een pleidooi"; 18 | skoslex:actor ex:Advocaat; 19 | . 20 | 21 | ex:Partij a skoslex:Actor; 22 | rdfs:label "Partij"; 23 | . 24 | 25 | ex:Advocaat a skoslex:Agent; 26 | rdfs:label "Advocaat"; 27 | . 28 | -------------------------------------------------------------------------------- /examples/concepts/resource.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix dcterms: . 5 | @prefix void: . 6 | @prefix geo: . 7 | @prefix stage: . 8 | 9 | stage:Resource a elmo:Representation; 10 | elmo:url-pattern "/resource$"; 11 | elmo:url-pattern "/doc/[^/]+$"; 12 | elmo:contains stage:Menu; 13 | elmo:appearance elmo:GraphAppearance; 14 | elmo:index "1"; 15 | elmo:query ''' 16 | PREFIX elmo: 17 | PREFIX html: 18 | CONSTRUCT { 19 | <@SUBJECT@> rdfs:label ?slabel. 20 | <@SUBJECT@> ?p ?o. 21 | <@SUBJECT@> html:img ?img. 22 | ?o rdfs:label ?olabel. 23 | ?o html:img ?oimg. 24 | ?o elmo:style elmo:Style. # Needed in case no label exists 25 | ?sr ?pr <@SUBJECT@>. 26 | ?sr rdfs:label ?srlabel. 27 | ?sr html:img ?srimg. 28 | ?p rdfs:label ?plabel. 29 | ?pr rdfs:label ?prlabel. 30 | } 31 | WHERE { 32 | { 33 | <@SUBJECT@> rdfs:label ?slabel 34 | OPTIONAL {<@SUBJECT@> rdf:type/html:img ?img} 35 | } 36 | UNION 37 | { 38 | <@SUBJECT@> ?p ?o 39 | FILTER (isIRI(?o)) 40 | OPTIONAL {?o rdfs:label ?olabel} 41 | OPTIONAL {?o rdf:type/html:img ?oimg} 42 | OPTIONAL {?p rdfs:label ?plabel} 43 | } 44 | UNION 45 | { 46 | ?sr ?pr <@SUBJECT@> 47 | OPTIONAL {?sr rdfs:label ?srlabel} 48 | OPTIONAL {?sr rdf:type/html:img ?srimg} 49 | OPTIONAL {?pr rdfs:label ?prlabel} 50 | } 51 | } 52 | ''' 53 | . 54 | -------------------------------------------------------------------------------- /examples/concepts/skoslex.ttl: -------------------------------------------------------------------------------- 1 | @prefix rdfs: . 2 | @prefix skoslex: . 3 | @prefix html: . 4 | @prefix skosthes: . 5 | 6 | skoslex:Act html:img "/images/skoslex/act.png". 7 | skoslex:Object html:img "/images/skoslex/object.png". 8 | skoslex:Actor html:img "/images/skoslex/actor.png". 9 | skoslex:Agent html:img "/images/skoslex/agent.png". 10 | skoslex:Record html:img "/images/skoslex/record.png". 11 | 12 | skosthes:broaderGeneric rdfs:label "is a". 13 | -------------------------------------------------------------------------------- /examples/data2model/advanced.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix dcterms: . 5 | @prefix void: . 6 | @prefix geo: . 7 | @prefix stage: . 8 | 9 | stage:Advanced a elmo:Representation; 10 | elmo:url-pattern "/query/advanced$"; 11 | elmo:contains stage:Menu; 12 | elmo:appearance elmo:HtmlAppearance; 13 | elmo:data [ 14 | rdfs:label "Advanced"@en; 15 | rdfs:label "Extra opties"@nl; 16 | elmo:html ''' 17 |
18 | 22 |

More extensions can be found at: extensions

23 |
24 | '''; 25 | ] 26 | . 27 | -------------------------------------------------------------------------------- /examples/data2model/compare.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdf: . 4 | @prefix rdfs: . 5 | @prefix owl: . 6 | @prefix yed: . 7 | @prefix skos: . 8 | @prefix stage: . 9 | 10 | stage:Compare a elmo:Representation; 11 | elmo:url-pattern "/query/compare$"; 12 | elmo:contains stage:Menu; 13 | elmo:fragment [ 14 | elmo:applies-to "s"; 15 | rdfs:label "Subject"; 16 | ]; 17 | elmo:fragment [ 18 | elmo:applies-to "pold"; 19 | rdfs:label "Verwijderde eigenschap"@nl; 20 | rdfs:label "Deleted property"@en; 21 | ]; 22 | elmo:fragment [ 23 | elmo:applies-to "oold"; 24 | rdfs:label "Verwijderde waarde"@nl; 25 | rdfs:label "Deleted value"@en; 26 | ]; 27 | elmo:fragment [ 28 | elmo:applies-to "pnew"; 29 | rdfs:label "Toegevoegde eigenschap"@nl; 30 | rdfs:label "Added property"@en; 31 | ]; 32 | elmo:fragment [ 33 | elmo:applies-to "onew"; 34 | rdfs:label "Toegevoegde waarde"@nl; 35 | rdfs:label "Added value"@en; 36 | ]; 37 | elmo:query ''' 38 | select ?s ?pold ?oold ?pnew ?onew 39 | where { 40 | { 41 | graph { 42 | ?s ?pold ?oold 43 | } 44 | FILTER NOT EXISTS { 45 | graph { 46 | ?s ?pold ?oold 47 | } 48 | } 49 | } 50 | UNION 51 | { 52 | graph { 53 | ?s ?pnew ?onew 54 | } 55 | FILTER NOT EXISTS { 56 | graph { 57 | ?s ?pnew ?onew 58 | } 59 | } 60 | } 61 | } 62 | '''; 63 | . 64 | -------------------------------------------------------------------------------- /examples/data2model/config.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/data2model/config.zip -------------------------------------------------------------------------------- /examples/data2model/context.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix dcterms: . 5 | @prefix void: . 6 | @prefix geo: . 7 | @prefix stage: . 8 | 9 | stage:Context a elmo:Representation; 10 | elmo:url-pattern "/api/context/model$"; 11 | elmo:contains stage:Menu; 12 | elmo:appearance elmo:VocabularyAppearance; 13 | elmo:query ''' 14 | construct { 15 | ?s ?p ?o. 16 | } 17 | where { 18 | { graph {?s ?p ?o}} 19 | } 20 | '''; 21 | . 22 | -------------------------------------------------------------------------------- /examples/data2model/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -f config.zip 3 | zip config.zip *.ttl 4 | cd extensions 5 | zip ../config.zip *.ttl 6 | cd .. 7 | curl -X PUT -H "Content-Type: multipart/x-zip" -T config.zip http://localhost:8080/data2model/backstage/import 8 | -------------------------------------------------------------------------------- /examples/data2model/example-uml-model.eap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/data2model/example-uml-model.eap -------------------------------------------------------------------------------- /examples/data2model/extensions/README.md: -------------------------------------------------------------------------------- 1 | # extensions 2 | 3 | This folder may contain extensions to the datamodel example. These extensions will not be committed to the github tree! 4 | -------------------------------------------------------------------------------- /examples/data2model/import-vocabs.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | for vocab in $(cat vocabs.txt) 3 | do 4 | echo $vocab 5 | curl -s -X GET -L -H "Accept: text/turtle,application/rdf+xml" "$vocab" > vocab 6 | if file vocab | grep -qi "XML\|SGML" 7 | then 8 | echo "(XML)" 9 | mv vocab vocab.xml 10 | curl -X PUT -H "Content-Type: application/rdf+xml" -T vocab.xml http://localhost:8080/data2model/container/import 11 | rm -f vocab.xml 12 | else 13 | echo "(Turtle)" 14 | mv vocab vocab.ttl 15 | curl -X PUT -H "Accept: text/plain" -H "Content-Type: text/turtle" -T vocab.ttl http://localhost:8080/data2model/container/import 16 | rm -f vocab.ttl 17 | fi 18 | done 19 | -------------------------------------------------------------------------------- /examples/data2model/namespaces.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix dcterms: . 5 | @prefix void: . 6 | @prefix geo: . 7 | @prefix stage: . 8 | 9 | stage:Namespaces a elmo:Representation; 10 | elmo:url-pattern "/query/namespaces$"; 11 | elmo:contains stage:Menu; 12 | elmo:contains stage:Namespaces_tree; 13 | elmo:contains stage:Namespaces_tabel 14 | . 15 | 16 | stage:Namespaces_tree a elmo:Part; 17 | elmo:appearance elmo:TreeAppearance; 18 | elmo:query ''' 19 | CONSTRUCT { 20 | ?ns rdfs:label ?ns_label. 21 | ?s rdfs:isDefinedBy ?ns. 22 | ?s rdfs:label ?s_label 23 | } 24 | WHERE { 25 | SELECT distinct (iri(?ns_label) as ?ns) ?ns_label ?s ?s_label 26 | WHERE { 27 | GRAPH { 28 | <@SUBJECT@> a ?t. 29 | ?s ?p ?o 30 | BIND (replace(str(?s),"(^.*[/|#])([^(/|#)]+)$","$1") as ?ns_label) 31 | BIND (replace(str(?s),"(^.*[/|#])([^(/|#)]+)$","$2") as ?s_label) 32 | FILTER (isIRI(?s) && ?s_label!=?ns_label) 33 | } 34 | } 35 | } 36 | '''; 37 | . 38 | 39 | stage:Namespaces_tabel a elmo:Part; 40 | elmo:fragment [ 41 | elmo:applies-to "ns"; 42 | rdfs:label "Namespace"; 43 | ]; 44 | elmo:fragment [ 45 | elmo:applies-to "s"; 46 | rdfs:label "Resource"; 47 | elmo:name "SUBJECT" 48 | ]; 49 | elmo:fragment [ 50 | elmo:applies-to "type"; 51 | rdfs:label "Type"; 52 | ]; 53 | elmo:query ''' 54 | SELECT distinct (iri(?ns_label) as ?ns) ?ns_label ?s ?s_label ?type 55 | WHERE { 56 | GRAPH { 57 | ?s ?p ?o 58 | OPTIONAL {?s a ?type} 59 | BIND (replace(str(?s),"(^.*[/|#])([^(/|#)]+)$","$1") as ?ns_label) 60 | BIND (replace(str(?s),"(^.*[/|#])([^(/|#)]+)$","$2") as ?s_label) 61 | FILTER (isIRI(?s) && ?s_label!=?ns_label) 62 | } 63 | } 64 | '''; 65 | . 66 | -------------------------------------------------------------------------------- /examples/data2model/search.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix dcterms: . 5 | @prefix void: . 6 | @prefix geo: . 7 | @prefix stage: . 8 | 9 | stage:Search a elmo:Representation; 10 | elmo:url-pattern "/search$"; 11 | elmo:contains stage:Menu; 12 | elmo:fragment [ 13 | elmo:applies-to "location"; 14 | rdfs:label "Locatie"@nl; 15 | rdfs:label "Location"@en; 16 | ]; 17 | elmo:fragment [ 18 | elmo:applies-to "t"; 19 | rdfs:label "Type"@nl; 20 | rdfs:label "Type"@en; 21 | ]; 22 | elmo:fragment [ 23 | elmo:applies-to "s"; 24 | rdfs:label "Zoekresultaat"@nl; 25 | rdfs:label "Search result"@en; 26 | ]; 27 | elmo:query ''' 28 | PREFIX rdfs: 29 | select distinct (replace(str(?g),".+/([a-zA-z0-9_]+)$","$1") as ?location) ?t ?s ?s_label 30 | where { 31 | GRAPH ?g { 32 | OPTIONAL {?s a ?t} 33 | ?s rdfs:label ?s_label. 34 | FILTER (REGEX(?s_label,"@TERM@","i")) 35 | } 36 | FILTER (?g = || 37 | ?g = 38 | ) 39 | } 40 | '''; 41 | . 42 | -------------------------------------------------------------------------------- /examples/data2model/vocabs.txt: -------------------------------------------------------------------------------- 1 | http://purl.org/dc/elements/1.1/ 2 | http://purl.org/dc/terms/ 3 | http://purl.org/iso25964/skos-thes# 4 | http://www.w3.org/1999/02/22-rdf-syntax-ns# 5 | http://www.w3.org/2000/01/rdf-schema# 6 | http://www.w3.org/2002/07/owl# 7 | http://www.w3.org/2004/02/skos/core# 8 | http://www.w3.org/ns/adms# 9 | http://www.w3.org/ns/dcat# 10 | http://www.w3.org/ns/org# 11 | http://www.w3.org/ns/prov# 12 | http://www.w3.org/ns/shacl# 13 | http://www.w3.org/ns/sparql-service-description# 14 | http://xmlns.com/foaf/0.1/ 15 | -------------------------------------------------------------------------------- /examples/data2model/vocabularies.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix dcterms: . 5 | @prefix void: . 6 | @prefix geo: . 7 | @prefix stage: . 8 | 9 | stage:Vocabularies a elmo:Representation; 10 | elmo:url-pattern "/query/vocabularies$"; 11 | elmo:contains stage:Menu; 12 | elmo:contains stage:Vocabularies_tree; 13 | elmo:contains stage:Vocabularies_tabel 14 | . 15 | 16 | stage:Vocabularies_tree a elmo:Part; 17 | elmo:appearance elmo:TreeAppearance; 18 | elmo:query ''' 19 | CONSTRUCT { 20 | ?voc rdfs:label ?voc_label. 21 | ?o rdfs:isDefinedBy ?voc. 22 | ?o rdfs:label ?o_label 23 | } 24 | WHERE { 25 | SELECT distinct (iri(?voc_label) as ?voc) ?voc_label ?o ?o_label 26 | WHERE { 27 | GRAPH { 28 | ?s ?p ?o 29 | BIND (replace(str(?o),"(^.*[/|#])([^(/|#)]+)$","$1") as ?voc_label) 30 | BIND (replace(str(?o),"(^.*[/|#])([^(/|#)]+)$","$2") as ?o_label) 31 | FILTER (isIRI(?o) && ?o_label!=?voc_label) 32 | } 33 | } 34 | } 35 | '''; 36 | . 37 | 38 | stage:Vocabularies_tabel a elmo:Part; 39 | elmo:appearance elmo:ShortTableAppearance; 40 | elmo:fragment [ 41 | elmo:applies-to "voc"; 42 | rdfs:label "Vocabulary"; 43 | html:link "/data2model/query/vocabulary"; 44 | ]; 45 | elmo:query ''' 46 | SELECT distinct (iri(?voc_label) as ?voc) ?voc_label 47 | WHERE { 48 | GRAPH { 49 | ?s ?p ?o 50 | BIND (replace(str(?o),"(^.*[/|#])([^(/|#)]+)$","$1") as ?voc_label) 51 | BIND (replace(str(?o),"(^.*[/|#])([^(/|#)]+)$","$2") as ?o_label) 52 | FILTER (isIRI(?o) && ?o_label!=?voc_label) 53 | } 54 | } 55 | '''; 56 | . 57 | 58 | stage:Vocabulary a elmo:Representation; 59 | elmo:url-pattern "/query/vocabulary$"; 60 | elmo:appearance elmo:TurtleAppearance; 61 | elmo:webpage "@SUBJECT@" 62 | . 63 | -------------------------------------------------------------------------------- /examples/data2viz/config.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/data2viz/config.zip -------------------------------------------------------------------------------- /examples/data2viz/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rm -f config.zip 3 | zip config.zip *.ttl 4 | curl -X PUT -H "Content-Type: multipart/x-zip" -T config.zip http://localhost:8080/data2viz/backstage/import 5 | -------------------------------------------------------------------------------- /examples/data2viz/subjects.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdf: . 4 | @prefix rdfs: . 5 | @prefix owl: . 6 | @prefix yed: . 7 | @prefix skos: . 8 | @prefix stage: . 9 | 10 | stage:Subjects a elmo:Representation; 11 | elmo:url-pattern "/query/subjects(|\.ttl|\.json|\.xml|\.yed)$"; 12 | elmo:contains stage:Menu; 13 | elmo:appearance elmo:TurtleAppearance; 14 | elmo:query ''' 15 | PREFIX container: 16 | PREFIX yed: 17 | CONSTRUCT { 18 | ?s a ?t. 19 | ?s ?p ?o. 20 | ?s rdfs:label ?l. 21 | ?s rdfs:comment ?c. 22 | ?p rdfs:label ?pl. 23 | ?s yed:geometry ?ds. 24 | ?ds ?dp ?do. 25 | } 26 | WHERE { 27 | { 28 | GRAPH container:data { 29 | { 30 | ?s a ?t. 31 | ?s rdfs:label ?l 32 | } 33 | UNION 34 | { 35 | ?s a ?t. 36 | ?s ?p ?o. 37 | OPTIONAL {?p rdfs:label ?pl} 38 | FILTER (isIri(?o)) 39 | } 40 | UNION 41 | { 42 | select ?s (group_concat(concat(?plabel," ",?o); separator="\\n") as ?c) 43 | where { 44 | { 45 | ?s a ?t. 46 | ?t rdfs:label ?o. 47 | rdf:type rdfs:label ?plabel 48 | } 49 | UNION 50 | { 51 | ?s a ?t. 52 | ?s ?p ?o. 53 | ?p rdfs:label ?plabel. 54 | FILTER (isLiteral(?o) && ?p!=rdfs:label) 55 | } 56 | } 57 | group by ?s 58 | } 59 | } 60 | } 61 | UNION 62 | { 63 | GRAPH container:data { 64 | ?s a ?t 65 | } 66 | GRAPH container:diagram { 67 | ?s yed:geometry ?ds. 68 | ?ds ?dp ?do 69 | } 70 | } 71 | 72 | } 73 | '''; 74 | . 75 | -------------------------------------------------------------------------------- /examples/deploy-basic-configuration-virtuoso.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Deploying basic configuration... 3 | curl.exe -X PUT -T ../basic-configuration.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8080/stage 4 | echo Done. 5 | pause 6 | -------------------------------------------------------------------------------- /examples/deploy-basic-configuration.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Deploying basic configuration... 3 | curl.exe -X PUT -T ../basic-configuration.ttl http://localhost:8080/ldt/backstage/import 4 | echo Done. 5 | pause 6 | -------------------------------------------------------------------------------- /examples/deploy-basic-configuration.sh: -------------------------------------------------------------------------------- 1 | echo Deploying basic configuration... 2 | curl -X PUT -T ../basic-configuration.ttl http://localhost:8080/ldt/backstage/import 3 | echo Done. 4 | -------------------------------------------------------------------------------- /examples/deploy-examples.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd tutorial 3 | "C:\Program Files\7-Zip\7z.exe" a ..\tutorial.zip *.ttl 4 | cd .. 5 | curl.exe -X PUT -H "Content-Type: multipart/x-zip" -T tutorial.zip http://localhost:8080/ldt/backstage/import 6 | del tutorial.zip 7 | pause 8 | -------------------------------------------------------------------------------- /examples/deploy-examples.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo Empty graph 3 | curl -X PUT -T empty.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8080/stage 4 | cd tutorial 5 | shopt -s nullglob 6 | for FILE in *.ttl 7 | do 8 | echo "$FILE" 9 | curl -X POST -T "$FILE" "http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8080/stage" 10 | done 11 | echo Done 12 | -------------------------------------------------------------------------------- /examples/deploy-tests-jetty.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd tests 3 | "C:\Program Files\7-Zip\7z.exe" a ..\tests.zip *.ttl 4 | cd .. 5 | curl.exe -X PUT -H "Content-Type: multipart/x-zip" -T tests.zip http://localhost:8888/backstage/import 6 | del tests.zip 7 | pause 8 | -------------------------------------------------------------------------------- /examples/deploy-tests-virtuoso.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Empty graph 3 | curl.exe -X PUT -T empty.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8888/stage 4 | cd tests 5 | for %%y in (*.ttl) do ( 6 | echo %%~ny 7 | curl.exe -X POST -T %%y http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8888/stage 8 | ) 9 | echo Site check 10 | curl.exe -X PUT -T SiteWelcome.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8888/stagename/substagename/stage 11 | pause 12 | 13 | -------------------------------------------------------------------------------- /examples/deploy-tests-virtuoso.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo Elmo vocabulary 3 | curl -X PUT -T ../vocabulary/elmo.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://bp4mc2.org/elmo/def 4 | echo Empty graph 5 | curl -X PUT -T empty.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8080/stage 6 | curl -X PUT -T empty.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8888/stage 7 | 8 | cd tests 9 | shopt -s nullglob 10 | for FILE in *.ttl 11 | do 12 | echo "Test file: $FILE" 13 | curl -X POST -T "$FILE" "http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8080/stage" 14 | curl -X POST -T "$FILE" "http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8888/stage" 15 | done 16 | echo Site check 17 | curl -X PUT -T "SiteWelcome.ttl" "http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8080/stagename/substagename/stage" 18 | curl -X PUT -T "SiteWelcome.ttl" "http://localhost:8890/sparql-graph-crud?graph-uri=http://localhost:8888/stagename/substagename/stage" 19 | -------------------------------------------------------------------------------- /examples/deploy-tests.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | cd tests 3 | "C:\Program Files\7-Zip\7z.exe" a ..\tests.zip *.ttl 4 | cd .. 5 | curl.exe -X PUT -H "Content-Type: multipart/x-zip" -T tests.zip http://localhost:8080/ldt/backstage/import 6 | pause 7 | -------------------------------------------------------------------------------- /examples/deploy-tests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd tests 3 | zip ../tests.zip *.ttl 4 | cd .. 5 | curl -X PUT -H "Content-Type: multipart/x-zip" -T tests.zip http://localhost:8080/ldt/backstage/import -------------------------------------------------------------------------------- /examples/empty.ttl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/empty.ttl -------------------------------------------------------------------------------- /examples/example.csv: -------------------------------------------------------------------------------- 1 | concept;definition;broader-concept;comments 2 | bicycle;A vehicle with two wheels, propelled by human power;vehicle;This column will not be processed, because it has no header which is defined in the sheet 'Properties' 3 | vehicle;A transportation device; ;Cell C3 contains spaces, but will not generate a broader-concept 4 | car;;vehicle;Cell B4 contains nothing and will not generate a definition 5 | car; ;vehicle;Cell B5 contains spaces and will generate a definition (containing spaces) 6 | -------------------------------------------------------------------------------- /examples/example.eap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/example.eap -------------------------------------------------------------------------------- /examples/example.xsd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /examples/excel2rdf/compare.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix xhtml: . 4 | @prefix rdfs: . 5 | 6 | stage:Compare a elmo:Representation; 7 | elmo:url-pattern "/compare$"; 8 | elmo:contains stage:Menu; 9 | elmo:contains stage:Compare_added; 10 | elmo:contains stage:Compare_removed 11 | . 12 | stage:Compare_added a elmo:Part; 13 | elmo:index "1"; 14 | elmo:fragment [ 15 | elmo:applies-to "s"; 16 | rdfs:label "Added triples"; 17 | ]; 18 | elmo:query ''' 19 | PREFIX containerlocal: 20 | SELECT ?s ?p ?o 21 | WHERE { 22 | GRAPH { 23 | ?s ?p ?o 24 | } 25 | FILTER NOT EXISTS { 26 | GRAPH { 27 | ?s ?p ?o 28 | } 29 | } 30 | } 31 | ''' 32 | . 33 | stage:Compare_removed a elmo:Part; 34 | elmo:index "1"; 35 | elmo:fragment [ 36 | elmo:applies-to "s"; 37 | rdfs:label "Removed triples"; 38 | ]; 39 | elmo:query ''' 40 | PREFIX containerlocal: 41 | SELECT ?s ?p ?o 42 | WHERE { 43 | GRAPH { 44 | ?s ?p ?o 45 | } 46 | FILTER NOT EXISTS { 47 | GRAPH { 48 | ?s ?p ?o 49 | } 50 | } 51 | } 52 | ''' 53 | . 54 | -------------------------------------------------------------------------------- /examples/excel2rdf/deploy.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | "C:\Program Files\7-Zip\7z.exe" a config.zip *.ttl 3 | curl.exe -X PUT -H "Content-Type: multipart/x-zip" -T config.zip http://localhost:8080/excel2rdf/backstage/import 4 | pause 5 | -------------------------------------------------------------------------------- /examples/excel2rdf/deploy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | zip config.zip *.ttl 3 | curl -X PUT -H "Content-Type: multipart/x-zip" -T config.zip http://localhost:8080/excel2rdf/backstage/import 4 | -------------------------------------------------------------------------------- /examples/excel2rdf/download.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix xhtml: . 4 | @prefix rdfs: . 5 | 6 | stage:Download a elmo:Representation; 7 | elmo:url-pattern "/query/download$"; 8 | elmo:contains stage:Menu; 9 | elmo:index "1"; 10 | elmo:appearance elmo:HtmlAppearance; 11 | elmo:data [ 12 | rdfs:label "Download data"; 13 | elmo:html ''' 14 |

Turtle

15 |

RDF/XML

16 |

JSON-LD

17 | '''; 18 | ] 19 | . 20 | 21 | stage:DownloadData a elmo:Representation; 22 | elmo:url-pattern "/query/data.(ttl|xml|json)$"; 23 | elmo:query ''' 24 | CONSTRUCT { 25 | ?s ?p ?o 26 | } 27 | WHERE { 28 | GRAPH { 29 | ?s ?p ?o 30 | } 31 | } 32 | '''; 33 | . 34 | -------------------------------------------------------------------------------- /examples/excel2rdf/productions.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix xhtml: . 4 | @prefix rdfs: . 5 | @prefix updatestage: . 6 | 7 | #Production for root installations 8 | updatestage:move a elmo:Production; 9 | elmo:contains stage:Menu; 10 | elmo:contains stage:Move_scene1; 11 | elmo:contains stage:Move_scene2; 12 | . 13 | stage:Move_scene1 a elmo:Scene; 14 | elmo:index "1"; 15 | rdfs:label "Clear graph"; 16 | elmo:query "clear graph "; 17 | . 18 | stage:Move_scene2 a elmo:Scene; 19 | elmo:index "1"; 20 | rdfs:label "Copy data"; 21 | elmo:query ''' 22 | INSERT { 23 | GRAPH { 24 | ?s ?p ?o 25 | } 26 | } 27 | WHERE { 28 | GRAPH { 29 | ?s ?p ?o 30 | } 31 | } 32 | ''' 33 | . 34 | -------------------------------------------------------------------------------- /examples/excel2rdf/showdata.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix xhtml: . 4 | @prefix rdfs: . 5 | 6 | stage:ShowData a elmo:Representation; 7 | elmo:url-pattern "/query/data$"; 8 | elmo:appearance elmo:TurtleAppearance; 9 | elmo:contains stage:Menu; 10 | elmo:index "1"; 11 | elmo:query ''' 12 | PREFIX containerlocal: 13 | CONSTRUCT { 14 | ?s ?p ?o 15 | } 16 | WHERE { 17 | GRAPH containerlocal:upload { 18 | ?s ?p ?o 19 | } 20 | } 21 | ''' 22 | . 23 | -------------------------------------------------------------------------------- /examples/excel2rdf/tabular.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix xhtml: . 4 | @prefix rdfs: . 5 | 6 | stage:Tabular a elmo:Representation; 7 | elmo:url-pattern "/query/tabular$"; 8 | elmo:contains stage:Menu; 9 | elmo:index "1"; 10 | elmo:contains stage:Tabular_tables 11 | . 12 | 13 | stage:Table a elmo:Representation; 14 | elmo:url-pattern "/query/tab$"; 15 | elmo:contains stage:Menu; 16 | elmo:index "1"; 17 | elmo:contains stage:Tabular_tables; 18 | elmo:contains stage:Tabular_table; 19 | . 20 | 21 | stage:Tabular_tables a elmo:Part; 22 | elmo:appearance elmo:TreeAppearance; 23 | elmo:fragment [ 24 | elmo:applies-to elmo:Appearance; 25 | xhtml:link "/excel2rdf/query/tab"; 26 | ]; 27 | elmo:query ''' 28 | prefix csvw: 29 | prefix rdfs: 30 | CONSTRUCT { 31 | ?table rdfs:label ?tablename 32 | } 33 | WHERE { 34 | graph { 35 | ?table a csvw:Table. 36 | ?table rdfs:label ?tablename 37 | } 38 | } 39 | '''; 40 | . 41 | 42 | stage:Tabular_table a elmo:Part; 43 | elmo:appearance elmo:TableAppearance; 44 | elmo:query ''' 45 | prefix csvw: 46 | CONSTRUCT { 47 | ?s ?p ?o 48 | } 49 | WHERE { 50 | graph { 51 | <@SUBJECT@> csvw:row ?row. 52 | ?row csvw:describes ?s. 53 | ?s ?p ?o 54 | } 55 | } 56 | '''; 57 | . 58 | -------------------------------------------------------------------------------- /examples/keystore/ldt.jks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/keystore/ldt.jks -------------------------------------------------------------------------------- /examples/keystore/properties-local.xml: -------------------------------------------------------------------------------- 1 | 6 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /examples/tests.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/examples/tests.zip -------------------------------------------------------------------------------- /examples/tests/Archimate.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:ArchiComponents a elmo:Representation; 7 | elmo:url-pattern "/query/archicomponents"; 8 | elmo:contains stage:HeaderAppearance; 9 | elmo:contains stage:NavbarSearchAppearance; 10 | elmo:fragment [ 11 | elmo:applies-to "type"; 12 | rdfs:label "Type"; 13 | ]; 14 | elmo:fragment [ 15 | elmo:applies-to "comp"; 16 | rdfs:label "Element"; 17 | elmo:name "SUBJECT"; 18 | ]; 19 | elmo:fragment [ 20 | elmo:applies-to "rel"; 21 | rdfs:label "Realized by"; 22 | ]; 23 | elmo:query ''' 24 | prefix archi: 25 | select ?type ?comp ?comp_label ?rel ?rel_label 26 | where { 27 | graph { 28 | ?comp rdf:type ?type. 29 | ?comp rdfs:label ?comp_label. 30 | OPTIONAL { 31 | ?rel archi:realizes ?comp. 32 | ?rel rdfs:label ?rel_label 33 | } 34 | } 35 | } 36 | '''; 37 | . 38 | -------------------------------------------------------------------------------- /examples/tests/Character.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix lotro: . 6 | 7 | stage:CharacterResource a elmo:Representation; 8 | elmo:applies-to [rdf:type lotro:Wizard]; 9 | elmo:index "1"; 10 | elmo:contains stage:HeaderAppearance; 11 | elmo:contains stage:NavbarSearchAppearance; 12 | elmo:query ''' 13 | prefix wdrs: 14 | construct { 15 | <@IDSUBJECT@> ?p ?o. 16 | ?o rdfs:label ?olabel. 17 | <@IDSUBJECT@> wdrs:isDescribedBy <@DOCSUBJECT@> 18 | } 19 | where { 20 | graph <@STAGE@> { 21 | <@IDSUBJECT@> ?p ?o 22 | OPTIONAL { 23 | ?o rdfs:label ?olabel 24 | FILTER (lang(?olabel)="@LANGUAGE@" or lang(?olabel)="") 25 | } 26 | } 27 | } 28 | '''; 29 | . 30 | -------------------------------------------------------------------------------- /examples/tests/ContentAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix dbo: . 6 | @prefix dbpedia: . 7 | @prefix dbp: . 8 | 9 | stage:ContentAppearance a elmo:Representation; 10 | elmo:fragment [ 11 | elmo:applies-to rdf:type; 12 | html:meta rdf:nil; 13 | elmo:index "3"; 14 | ]; 15 | elmo:fragment [ 16 | elmo:applies-to rdfs:label; 17 | html:meta ; 18 | elmo:index "1"; 19 | ]; 20 | elmo:fragment [ 21 | elmo:applies-to dbp:east; 22 | rdfs:label "Oost"@nl; 23 | rdfs:label "East"@en; 24 | rdfs:comment "Cities to the east of this city"@en; 25 | rdfs:comment "Steden ten oosten van deze stad"@nl; 26 | html:meta "/vocabulary"; 27 | elmo:index "2"; 28 | ]; 29 | elmo:url-pattern "/query/ContentAppearance"; 30 | elmo:contains stage:HeaderAppearance; 31 | elmo:contains stage:NavbarSearchAppearance; 32 | elmo:query stage:ContentAppearanceQuery; 33 | . 34 | 35 | stage:ContentAppearanceQuery a elmo:Query; 36 | rdfs:label "Amersfoort"; 37 | elmo:query ''' 38 | prefix dbo: 39 | prefix testo: 40 | construct { 41 | ?s?p?o. 42 | ?w ?wp ?wo. 43 | } 44 | where { 45 | graph <@STAGE@> { 46 | ?s?p?o. 47 | OPTIONAL { 48 | ?s dbo:isPartOf ?w. 49 | ?w ?wp ?wo 50 | FILTER (?wp!=testo:largestCities 51 | && ?wp!=dbo:populationTotal 52 | ) 53 | } 54 | FILTER (?s = ) 55 | FILTER (?p != testo:districtNames) 56 | } 57 | } 58 | '''; 59 | . 60 | -------------------------------------------------------------------------------- /examples/tests/FooterAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:FooterAppearance a elmo:Part; 7 | elmo:appearance elmo:FooterAppearance; 8 | elmo:index "~"; 9 | elmo:data [ 10 | elmo:html '''
11 |
12 |

Links

13 | 21 |
22 |
23 |

Demo configuration

24 |

This demo configuration is designed to function as a regression test. It should depict all configuration options of the LDT.

25 |
26 |
27 |

License

28 |

GPL 3.0 / CC-BY-SA

29 |
30 |
'''^^rdf:HTML 31 | ]; 32 | . 33 | -------------------------------------------------------------------------------- /examples/tests/FrameAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:FrameAppearance a elmo:Representation; 7 | elmo:url-pattern "/query/FrameAppearance"; 8 | elmo:contains stage:HeaderAppearance; 9 | elmo:contains stage:NavbarSearchAppearance; 10 | elmo:contains stage:FrameAppearance_Frame; 11 | . 12 | 13 | stage:FrameAppearance_Frame a elmo:Part; 14 | elmo:appearance elmo:FrameAppearance; 15 | elmo:data [ 16 | elmo:data [ 17 | html:link "/query/FrameLeft"; 18 | elmo:index "1"; 19 | ]; 20 | elmo:data [ 21 | html:link "/query/FrameRight"; 22 | elmo:index "2"; 23 | ] 24 | ] 25 | . 26 | 27 | stage:FrameAppearance_Left a elmo:Representation; 28 | elmo:url-pattern "/query/FrameLeft$"; 29 | elmo:appearance elmo:HtmlAppearance; 30 | elmo:data [ 31 | rdfs:label "Left"; 32 | elmo:html ''' 33 |

Frame left

34 | Refresh right frame 35 | '''; 36 | ] 37 | . 38 | 39 | stage:FrameAppearance_Right a elmo:Representation; 40 | elmo:url-pattern "/query/FrameRight$"; 41 | elmo:appearance elmo:HtmlAppearance; 42 | elmo:data [ 43 | rdfs:label "Right"; 44 | elmo:html ''' 45 |

Frame right

46 | '''; 47 | ] 48 | . 49 | 50 | stage:FrameAppearance_Right2 a elmo:Representation; 51 | elmo:url-pattern "/query/FrameRight2$"; 52 | elmo:appearance elmo:HtmlAppearance; 53 | elmo:data [ 54 | rdfs:label "Right (new content)"; 55 | elmo:html ''' 56 |

Frame right (new content)

57 | '''; 58 | ] 59 | . 60 | -------------------------------------------------------------------------------- /examples/tests/GeoAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:GeoAppearance a elmo:Representation; 7 | elmo:url-pattern "/query/GeoAppearance$"; 8 | elmo:contains stage:HeaderAppearance; 9 | elmo:contains stage:NavbarSearchAppearance; 10 | elmo:appearance elmo:GeoAppearance; 11 | elmo:query ''' 12 | prefix geosparql: 13 | prefix brt: 14 | prefix geo: 15 | construct { 16 | ?municipal geo:geometry ?wkt. 17 | ?municipal rdfs:label ?label. 18 | } 19 | WHERE { 20 | select * 21 | where { 22 | ?municipal a brt:Gemeente. 23 | ?municipal rdfs:label ?label. 24 | ?municipal geosparql:hasGeometry ?geo. 25 | ?geo geosparql:asWKT ?wkt. 26 | } 27 | limit 1 28 | } 29 | '''; 30 | . -------------------------------------------------------------------------------- /examples/tests/GeoAppearanceBrt.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:GeoAppearanceBrt a elmo:Representation; 7 | elmo:url-pattern "/query/GeoAppearanceBrt$"; 8 | elmo:contains stage:HeaderAppearance; 9 | elmo:contains stage:NavbarSearchAppearance; 10 | elmo:appearance elmo:GeoAppearance; 11 | elmo:fragment [ 12 | elmo:applies-to elmo:Appearance; 13 | elmo:backmap "brt"; 14 | ]; 15 | elmo:fragment [ 16 | elmo:applies-to elmo:Appearance; 17 | elmo:appearance elmo:TransparantOverlay; 18 | elmo:service "https://geodata.nationaalgeoregister.nl/kadastralekaartv2/wms"; 19 | elmo:layer "perceel"; 20 | elmo:layer "perceelnummer"; 21 | ]; 22 | elmo:fragment [ 23 | elmo:applies-to elmo:Appearance; 24 | elmo:appearance elmo:TransparantOverlay; 25 | elmo:service "https://geodata.nationaalgeoregister.nl/bag/wms"; 26 | elmo:layer "pand"; 27 | ]; 28 | elmo:fragment [ 29 | elmo:applies-to "gemeente"; 30 | html:stylesheet ''' 31 | fill: red; 32 | fill-opacity: .3; 33 | stroke: #666; 34 | '''; 35 | ]; 36 | elmo:query ''' 37 | prefix geosparql: 38 | prefix brt: 39 | prefix geo: 40 | prefix elmo: 41 | construct { 42 | ?municipal geo:geometry ?wkt. 43 | ?municipal rdfs:label ?label. 44 | ?municipal elmo:style brt:Gemeente. 45 | brt:Gemeente elmo:name "gemeente". 46 | } 47 | WHERE { 48 | select * 49 | where { 50 | ?municipal a brt:Gemeente. 51 | ?municipal rdfs:label ?label. 52 | ?municipal geosparql:hasGeometry ?geo. 53 | ?geo geosparql:asWKT ?wkt. 54 | } 55 | limit 1 56 | } 57 | '''; 58 | . 59 | -------------------------------------------------------------------------------- /examples/tests/GeoAppearanceBrtFeature.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix geosparql: . 6 | 7 | stage:GeoAppearanceBrtFeature a elmo:Representation; 8 | elmo:applies-to [rdf:type geosparql:Feature]; 9 | elmo:contains stage:HeaderAppearance; 10 | elmo:contains stage:NavbarSearchAppearance; 11 | elmo:appearance elmo:GeoAppearance; 12 | elmo:fragment [ 13 | elmo:applies-to elmo:Appearance; 14 | elmo:backmap "brt"; 15 | ]; 16 | html:stylesheet "/css/Symboolcodelijst.css"; 17 | elmo:query ''' 18 | prefix geosparql: 19 | prefix geo: 20 | prefix xhtml: 21 | construct { 22 | ?geo geo:geometry ?wkt. 23 | ?geo rdfs:label ?label. 24 | ?geo xhtml:stylesheet ?stylesheet. 25 | } 26 | WHERE { 27 | { 28 | ?feature geosparql:hasGeometry ?geo. 29 | ?geo geosparql:asWKT ?wkt. 30 | OPTIONAL {?feature rdfs:label ?label} 31 | OPTIONAL {?feature xhtml:stylesheet ?stylesheet} 32 | FILTER (?feature = <@SUBJECT@>) 33 | } 34 | UNION 35 | { 36 | <@SUBJECT@> geosparql:sfContains ?feature. 37 | ?feature geosparql:hasGeometry ?geo. 38 | OPTIONAL {?feature rdfs:label ?label} 39 | OPTIONAL {?feature xhtml:stylesheet ?stylesheet} 40 | ?geo geosparql:asWKT ?wkt. 41 | } 42 | } 43 | '''; 44 | . -------------------------------------------------------------------------------- /examples/tests/GeoAppearancePointer.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix geo: . 6 | @prefix elmo: . 7 | 8 | stage:GeoAppearancePointer a elmo:Representation; 9 | elmo:url-pattern "/query/GeoAppearancePointer$"; 10 | elmo:contains stage:HeaderAppearance; 11 | elmo:contains stage:NavbarSearchAppearance; 12 | elmo:appearance elmo:GeoAppearance; 13 | elmo:query ''' 14 | prefix stage: 15 | construct { 16 | stage:GeoAppearancePointerData ?p ?o 17 | } 18 | WHERE { 19 | stage:GeoAppearancePointerData ?p ?o 20 | } 21 | '''; 22 | . 23 | stage:GeoAppearancePointerData a elmo:GeoLocator; 24 | geo:lat "52.155"; 25 | geo:long "5.38"; 26 | rdfs:label '''Here! 27 | '"<\\'''; 28 | rdf:value "Amersfoort"; 29 | . -------------------------------------------------------------------------------- /examples/tests/GlobalLinks.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix exont: . 6 | 7 | stage:GlobalLinks a elmo:Representation; 8 | elmo:url-pattern "/query/GlobalLinks$"; 9 | elmo:index "1"; 10 | elmo:contains stage:HeaderAppearance; 11 | elmo:contains stage:NavbarSearchAppearance; 12 | elmo:fragment [ 13 | elmo:applies-to exont:link; 14 | elmo:appearance elmo:GlobalLink; 15 | ]; 16 | elmo:fragment [ 17 | elmo:applies-to exont:linklabel; 18 | elmo:appearance elmo:GlobalLink; 19 | ]; 20 | elmo:fragment [ 21 | elmo:applies-to exont:linkmulti; 22 | elmo:appearance elmo:GlobalLink; 23 | ]; 24 | elmo:fragment [ 25 | elmo:applies-to exont:linkdef; 26 | elmo:appearance elmo:GlobalLink; 27 | ]; 28 | elmo:fragment [ 29 | elmo:applies-to exont:linkhttps; 30 | elmo:appearance elmo:GlobalLink; 31 | ]; 32 | elmo:fragment [ 33 | elmo:applies-to exont:linkhttpslabel; 34 | elmo:appearance elmo:GlobalLink; 35 | ]; 36 | elmo:query ''' 37 | prefix ex: 38 | prefix exont: 39 | prefix dbpedia: 40 | prefix dbpedias: 41 | construct { 42 | ex:t1 a exont:Example. 43 | ex:t1 rdfs:label "Global link test". 44 | ex:t1 exont:link dbpedia:Amsterdam. 45 | ex:t1 exont:linklabel dbpedia:Amersfoort. 46 | dbpedia:Amersfoort rdfs:label "Amersfoort". 47 | ex:t1 exont:linkmulti dbpedia:Amersfoort. 48 | ex:t1 exont:linkmulti dbpedia:Amsterdam. 49 | ex:t1 exont:linkdef rdfs:label. 50 | ex:t1 exont:ref ex:t2. 51 | ex:t1 exont:ref dbpedia:Amersfoort. 52 | ex:t1 exont:linkhttps dbpedias:Amsterdam. 53 | ex:t1 exont:linkhttpslabel dbpedias:Amersfoort. 54 | dbpedias:Amersfoort rdfs:label "Amersfoort(s)". 55 | } 56 | where {} 57 | '''; 58 | . 59 | -------------------------------------------------------------------------------- /examples/tests/GraphAppearanceSimple.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:GraphAppearanceSimple a elmo:Representation; 7 | elmo:url-pattern "/query/GraphAppearanceSimple$"; 8 | elmo:contains stage:HeaderAppearance; 9 | elmo:contains stage:NavbarSearchAppearance; 10 | elmo:appearance elmo:GraphAppearance; 11 | elmo:query ''' 12 | construct { 13 | <@SUBJECT@> rdfs:label ?subjectlabel. 14 | 15 | <@SUBJECT@> ?torelation ?toperson. 16 | ?toperson rdfs:label ?topersonlabel. 17 | 18 | ?fromperson ?fromrelation <@SUBJECT@>. 19 | ?fromperson rdfs:label ?frompersonlabel. 20 | } 21 | where { 22 | { 23 | <@SUBJECT@> rdfs:label ?subjectlabel. 24 | } 25 | UNION 26 | { 27 | <@SUBJECT@> ?torelation ?toperson. 28 | ?toperson rdfs:label ?topersonlabel. 29 | } 30 | UNION 31 | { 32 | ?fromperson ?fromrelation <@SUBJECT@>. 33 | ?fromperson rdfs:label ?frompersonlabel. 34 | } 35 | } 36 | '''; 37 | . 38 | -------------------------------------------------------------------------------- /examples/tests/Graphql-service.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix foaf: . 6 | @prefix shape: . 7 | @prefix sh: . 8 | @prefix graphql: . 9 | 10 | # Query: 11 | # 12 | #{ 13 | # userOne(filter: { age: 18 }, sort: _ID_ASC) { 14 | # name 15 | # languages { 16 | # language 17 | # skill 18 | # } 19 | # contacts { 20 | # email 21 | # } 22 | # gender 23 | # age 24 | # salaryDecimal 25 | # } 26 | #} 27 | 28 | 29 | shape:Data a sh:NodeShape; 30 | graphql:name "data"; 31 | sh:property [ 32 | graphql:name "userOne"; 33 | sh:node shape:User; 34 | ]; 35 | . 36 | shape:User a sh:NodeShape; 37 | graphql:uriTemplate "http://example.org/id/user/{$name}"; 38 | sh:property [ 39 | graphql:name "name"; 40 | sh:path foaf:name; 41 | ]; 42 | sh:property [ 43 | graphql:name "gender"; 44 | sh:path foaf:gender; 45 | ]; 46 | sh:property [ 47 | graphql:name "age"; 48 | sh:path foaf:age; 49 | ] 50 | . 51 | 52 | stage:GraphQLService a elmo:Representation; 53 | elmo:url-pattern "/query/graphql-service$"; 54 | elmo:index "1"; 55 | elmo:contains stage:HeaderAppearance; 56 | elmo:contains stage:NavbarSearchAppearance; 57 | elmo:service "http://graphql-compose.herokuapp.com/user/"; 58 | elmo:accept "application/json"; 59 | elmo:content "application/json"; 60 | elmo:translator elmo:GraphQLTranslator; 61 | elmo:shape shape:Data; 62 | elmo:post '''{"query":" { userOne(filter: { age: 18 }, sort: _ID_ASC) { name languages { language skill } contacts { email } gender age salaryDecimal } } "}'''; 63 | . 64 | -------------------------------------------------------------------------------- /examples/tests/HeaderAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:HeaderAppearance a elmo:Part; 7 | elmo:appearance elmo:HeaderAppearance; 8 | elmo:index "~"; 9 | elmo:without-parameter "jmetertest"; 10 | elmo:data [ elmo:html ""^^rdf:HTML]; 11 | . 12 | -------------------------------------------------------------------------------- /examples/tests/ImageAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix dcterms: . 6 | @prefix void: . 7 | @prefix geo: . 8 | 9 | stage:ImageAppearance a elmo:Representation; 10 | elmo:url-pattern "/query/ImageAppearance$"; 11 | elmo:contains stage:HeaderAppearance; 12 | elmo:contains stage:NavbarSearchAppearance; 13 | elmo:appearance elmo:ImageAppearance; 14 | elmo:container ; 15 | elmo:query ''' 16 | prefix html: 17 | prefix geo: 18 | prefix elmo: 19 | prefix testo: 20 | construct { 21 | html:img "/images/planboard.png". 22 | html:width "3440.640". 23 | html:height "1720.320". 24 | html:top "0". 25 | html:left "0". 26 | ?item rdfs:label ?itemlabel. 27 | ?item geo:geometry ?previousgeox. 28 | ?current geo:geometry ?currentgeox. 29 | ?item testo:status ?current. 30 | } 31 | where { 32 | graph <@STAGE@> { 33 | ?item rdf:type testo:UserStory. 34 | ?item rdfs:label ?itemlabel. 35 | ?item testo:status ?current. 36 | ?current geo:geometry ?currentgeo. 37 | ?item testo:prevStatus ?previous. 38 | ?previous geo:geometry ?previousgeo. 39 | } 40 | OPTIONAL { 41 | graph { 42 | ?current geo:geometry ?currentedit 43 | } 44 | } 45 | OPTIONAL { 46 | graph { 47 | ?item geo:geometry ?previousedit 48 | } 49 | } 50 | BIND(if(bound(?currentedit),?currentedit,?currentgeo) as ?currentgeox) 51 | BIND(if(bound(?previousedit),?previousedit,?previousgeo) as ?previousgeox) 52 | } 53 | '''; 54 | . 55 | -------------------------------------------------------------------------------- /examples/tests/MissingAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:MissingAppearance a elmo:Representation; 7 | elmo:url-pattern "/query/MissingAppearance$"; 8 | elmo:endpoint ; 9 | elmo:query ''' 10 | construct {?s?p?o} 11 | where {} 12 | ''' 13 | . 14 | -------------------------------------------------------------------------------- /examples/tests/ModelAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:ModelAppearance a elmo:Representation; 7 | elmo:url-pattern "/query/ModelAppearance"; 8 | elmo:index "1"; 9 | elmo:contains stage:HeaderAppearance; 10 | elmo:contains stage:NavbarSearchAppearance; 11 | elmo:appearance elmo:ModelAppearance; 12 | elmo:query ''' 13 | prefix shacl: 14 | CONSTRUCT { 15 | ?c?cp?co. 16 | ?s ?sp ?so. 17 | ?pc ?pcp ?pco. 18 | ?prop rdf:type rdf:Property. 19 | ?prop rdfs:label ?proplabel. 20 | } 21 | WHERE { 22 | GRAPH { 23 | ?c rdf:type owl:Class. 24 | ?c ?cp ?co. 25 | OPTIONAL { 26 | ?s shacl:targetClass ?c. 27 | ?s ?sp ?so. 28 | ?s shacl:property ?pc. 29 | ?pc ?pcp ?pco. 30 | ?pc shacl:predicate ?prop. 31 | OPTIONAL { 32 | ?prop rdfs:label ?proplabel 33 | } 34 | } 35 | } 36 | } 37 | '''; 38 | . 39 | -------------------------------------------------------------------------------- /examples/tests/Parameters.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix dbo: . 6 | @prefix dbpedia: . 7 | @prefix dbp: . 8 | 9 | stage:Parameters a elmo:Representation; 10 | elmo:uri-pattern "^http://localhost:8080/ldt/(id|doc)/parameters$"; 11 | elmo:contains stage:HeaderAppearance; 12 | elmo:contains stage:NavbarSearchAppearance; 13 | elmo:contains stage:Parameters_index; 14 | elmo:index "2"; 15 | elmo:query ''' 16 | prefix para: 17 | construct { 18 | <@DOCSUBJECT@> para:Subject "@SUBJECT@". 19 | <@DOCSUBJECT@> para:DocumentSubject "@DOCSUBJECT@". 20 | <@DOCSUBJECT@> para:Language "@LANGUAGE@". 21 | <@DOCSUBJECT@> para:User "@USER@". 22 | <@DOCSUBJECT@> para:CurrentMoment "@CURRENTMOMENT@". 23 | <@DOCSUBJECT@> para:Stage "@STAGE@". 24 | <@DOCSUBJECT@> para:Timestamp "@TIMESTAMP@". 25 | <@DOCSUBJECT@> para:Date "@DATE@". 26 | <@DOCSUBJECT@> para:Para1 "@PARA1@". 27 | } 28 | where {} 29 | '''; 30 | . 31 | stage:Parameters_index a elmo:Part; 32 | elmo:index "1"; 33 | elmo:appearance elmo:IndexAppearance; 34 | elmo:query ''' 35 | prefix html: 36 | select ( as ?direct) 37 | ( as ?dereferenced) 38 | ( as ?document) 39 | where {} 40 | '''; 41 | . -------------------------------------------------------------------------------- /examples/tests/Search.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix exont: . 6 | 7 | stage:Search a elmo:Representation; 8 | elmo:url-pattern "/query/search$"; 9 | elmo:index "1"; 10 | elmo:contains stage:HeaderAppearance; 11 | elmo:contains stage:NavbarSearchAppearance; 12 | elmo:fragment [ 13 | elmo:applies-to "s"; 14 | elmo:name "SUBJECT"; 15 | rdfs:label "Search results"@en; 16 | rdfs:label "Zoekresultaten"@nl; 17 | ]; 18 | elmo:fragment [ 19 | elmo:applies-to "type"; 20 | rdfs:label "Type"; 21 | elmo:name "type"; 22 | html:link "/type"; 23 | ]; 24 | elmo:query ''' 25 | select ?type ?s ?s_label ("@TERM@" as ?search) 26 | where { 27 | graph <@STAGE@> { 28 | ?s rdfs:label ?s_label. 29 | OPTIONAL {?s rdf:type ?type} 30 | FILTER regex(?s_label,"@TERM@","i") 31 | } 32 | } 33 | '''; 34 | . 35 | -------------------------------------------------------------------------------- /examples/tests/Service-duo.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:ServiceDuo a elmo:Representation; 7 | elmo:url-pattern "/query/service-duo$"; 8 | elmo:index "1"; 9 | elmo:contains stage:HeaderAppearance; 10 | elmo:contains stage:NavbarSearchAppearance; 11 | # elmo:service "http://api.duo.nl/v0/search"; 12 | # elmo:service "http://api.duo.nl/v0/datasets/01.-hoofdvestigingen-vo/search?brin=18BR" 13 | elmo:query ''' 14 | construct { 15 | ?s ?p ?o 16 | } 17 | where { 18 | service { 19 | ?s rdfs:isDefinedBy . 20 | ?s ?p ?o 21 | } 22 | FILTER (?p!=) 23 | } 24 | '''; 25 | . -------------------------------------------------------------------------------- /examples/tests/SimpleImageAppearance.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix dcterms: . 6 | @prefix void: . 7 | @prefix geo: . 8 | 9 | stage:SimpleImageAppearance a elmo:Representation; 10 | elmo:url-pattern "/query/SimpleImageAppearance$"; 11 | elmo:contains stage:HeaderAppearance; 12 | elmo:contains stage:NavbarSearchAppearance; 13 | elmo:appearance elmo:SimpleImageAppearance; 14 | elmo:query ''' 15 | prefix html: 16 | prefix geo: 17 | prefix elmo: 18 | prefix testo: 19 | construct { 20 | html:img "/images/planboard.png". 21 | rdfs:label "Simple image". 22 | rdfs:label "Area #1"; 23 | html:link "/test"; 24 | html:left 0; 25 | html:top 100; 26 | html:width 300; 27 | html:height 100 28 | . 29 | } 30 | where { 31 | } 32 | '''; 33 | . 34 | -------------------------------------------------------------------------------- /examples/tests/SiteWelcome.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:HtmlAppearance a elmo:Representation; 7 | elmo:url-pattern "^http://localhost:(8080|8888)/stagename/substagename/welcome$"; 8 | elmo:index "1"; 9 | elmo:appearance elmo:HtmlAppearance; 10 | elmo:data [ 11 | rdfs:label "Stage test (en)"@en; 12 | elmo:html ''' 13 |

This is a test for a specific stage. The stagename containts a slash, and is available at "/stagename/substagename".

14 | '''; 15 | ] 16 | . 17 | -------------------------------------------------------------------------------- /examples/tests/SparqlQueries.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:QueryAllGraphs a elmo:Query; 7 | rdfs:label "All named graphs"; 8 | elmo:query ''' 9 | select distinct ?graph 10 | where { 11 | graph ?graph { 12 | ?s ?p ?o 13 | } 14 | } 15 | '''; 16 | . -------------------------------------------------------------------------------- /examples/tests/StylesheetTest.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix dbo: . 6 | @prefix dbpedia: . 7 | @prefix dbp: . 8 | 9 | stage:StylesheetTest a elmo:Representation; 10 | elmo:url-pattern "/query/StylesheetTest"; 11 | elmo:contains stage:HeaderAppearance; 12 | elmo:contains stage:NavbarSearchAppearance; 13 | elmo:name "city"; 14 | rdfs:label "City: "@en; 15 | rdfs:label "Stad: "@nl; 16 | html:stylesheet "/css/icons.css"; 17 | elmo:index "1"; 18 | elmo:query ''' 19 | prefix dbo: 20 | construct { 21 | ?s?p?o 22 | } 23 | where { 24 | ?s rdf:type dbo:City. 25 | ?s?p?o. 26 | } 27 | '''; 28 | . 29 | -------------------------------------------------------------------------------- /examples/tests/TableAppearanceConstruct.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | @prefix dbo: . 6 | @prefix dbpedia: . 7 | @prefix dbp: . 8 | 9 | stage:TableAppearanceConstruct a elmo:Representation; 10 | elmo:fragment [ 11 | elmo:applies-to rdf:type; 12 | rdfs:label "TYPE"; 13 | elmo:index "3"; 14 | ]; 15 | elmo:fragment [ 16 | elmo:applies-to rdfs:label; 17 | elmo:index "1"; 18 | ]; 19 | elmo:fragment [ 20 | elmo:applies-to dbp:east; 21 | elmo:index "2"; 22 | ]; 23 | elmo:url-pattern "/query/TableAppearanceConstruct$"; 24 | elmo:appearance elmo:TableAppearance; 25 | elmo:contains stage:HeaderAppearance; 26 | elmo:contains stage:NavbarSearchAppearance; 27 | elmo:query stage:ContentAppearanceQuery; 28 | . 29 | -------------------------------------------------------------------------------- /examples/tests/VirtualSparql.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:VirtualSparql a elmo:Representation; 7 | elmo:url-pattern "/query/VirtualSparql$"; 8 | elmo:index "1"; 9 | elmo:contains stage:HeaderAppearance; 10 | elmo:contains stage:NavbarSearchAppearance; 11 | elmo:contains stage:VirtualSparql_resource; 12 | elmo:contains stage:VirtualSparql_dataset; 13 | elmo:contains stage:VirtualSparql_resource2; 14 | . 15 | stage:VirtualSparql_resource a elmo:Part; 16 | elmo:index "1"; 17 | elmo:query ''' 18 | construct { 19 | ?p ?o. 20 | } 21 | where { 22 | service { 23 | graph { 24 | ?p ?o. 25 | } 26 | } 27 | } 28 | ''' 29 | . 30 | stage:VirtualSparql_dataset a elmo:Part; 31 | elmo:index "2"; 32 | elmo:query ''' 33 | select * 34 | where { 35 | service { 36 | graph { 37 | ?class a rdfs:Class. 38 | ?class rdfs:label ?class_label 39 | } 40 | } 41 | } 42 | ''' 43 | . 44 | stage:VirtualSparql_resource2 a elmo:Part; 45 | elmo:index "3"; 46 | elmo:query ''' 47 | construct { 48 | ?p ?o. 49 | } 50 | where { 51 | service { 52 | ?p ?o. 53 | FILTER (?p = rdfs:label || ?p = rdfs:comment) 54 | FILTER (lang(?o)="" or lang(?o)="@LANGUAGE@") 55 | } 56 | } 57 | ''' 58 | . 59 | -------------------------------------------------------------------------------- /examples/tests/Webpage.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:Webpage a elmo:Representation; 7 | elmo:url-pattern "/query/webpage$"; 8 | elmo:appearance elmo:VocabularyAppearance; 9 | elmo:index "1"; 10 | elmo:contains stage:HeaderAppearance; 11 | elmo:contains stage:NavbarSearchAppearance; 12 | elmo:webpage "http://www.w3.org/2000/01/rdf-schema"; 13 | . 14 | 15 | stage:Webpage2 a elmo:Representation; 16 | elmo:url-pattern "/query/webpage2$"; 17 | elmo:index "1"; 18 | elmo:contains stage:HeaderAppearance; 19 | elmo:contains stage:NavbarSearchAppearance; 20 | elmo:webpage "https://bag.basisregistraties.overheid.nl/doc/begrip/Pand?format=ttl" 21 | . 22 | -------------------------------------------------------------------------------- /examples/tests/XPLTreeview.ttl: -------------------------------------------------------------------------------- 1 | @prefix stage: . 2 | @prefix elmo: . 3 | @prefix html: . 4 | @prefix rdfs: . 5 | 6 | stage:XPLTreeview a elmo:Representation; 7 | elmo:url-pattern "/query/xpl/treeview"; 8 | elmo:index "1"; 9 | elmo:contains stage:HeaderAppearance; 10 | elmo:contains stage:NavbarSearchAppearance; 11 | elmo:appearance elmo:TreeAppearance; 12 | elmo:query ''' 13 | prefix container: 14 | prefix xpl: 15 | prefix html: 16 | construct { 17 | ?pipeline rdfs:label ?pipeline_label. 18 | ?filter rdfs:label ?filter_label. 19 | ?filter html:link ?node. 20 | ?branche rdfs:label ?branche_label. 21 | ?branche html:link ?choose. 22 | } 23 | where { 24 | graph container:xpl { 25 | { 26 | ?pipeline rdf:type xpl:Config. 27 | ?pipeline rdfs:label ?pipeline_label. 28 | } 29 | UNION 30 | { 31 | ?node xpl:filter ?filter. 32 | ?filter rdfs:label ?filter_label. 33 | } 34 | UNION 35 | { 36 | ?choose xpl:when|xpl:otherwise ?branche. 37 | ?branche rdfs:label ?branche_label 38 | } 39 | } 40 | } 41 | '''; 42 | . 43 | -------------------------------------------------------------------------------- /examples/tutorial/amersfoort.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:amersfoort a elmo:Representation; 5 | elmo:url-pattern "query/amersfoort$"; 6 | elmo:endpoint ; 7 | elmo:query ''' 8 | CONSTRUCT { 9 | ?p ?o 10 | } 11 | WHERE { 12 | ?p ?o 13 | } 14 | ''' 15 | . 16 | -------------------------------------------------------------------------------- /examples/tutorial/amersfoort2.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix rdfs: . 3 | @prefix stage: . 4 | 5 | stage:amersfoort2 a elmo:Representation; 6 | elmo:fragment [ 7 | elmo:applies-to elmo:Fragment; 8 | elmo:appearance elmo:HiddenAppearance; 9 | ]; 10 | elmo:fragment [ 11 | elmo:applies-to rdfs:comment; 12 | rdfs:label "description"@en; 13 | rdfs:label "omschrijving"@nl; 14 | ]; 15 | elmo:fragment [ 16 | elmo:applies-to ; 17 | rdfs:label "Het postcodegebied" 18 | ]; 19 | elmo:url-pattern "query/amersfoort2$"; 20 | elmo:endpoint ; 21 | elmo:query ''' 22 | CONSTRUCT { 23 | ?p ?o 24 | } 25 | WHERE { 26 | ?p ?o 27 | } 28 | ''' 29 | . 30 | -------------------------------------------------------------------------------- /examples/tutorial/buienradar.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:buienradar a elmo:Representation; 5 | elmo:url-pattern "/query/buienradar$"; 6 | elmo:appearance elmo:GeoAppearance; 7 | elmo:service "http://xml.buienradar.nl"; 8 | elmo:accept "application/xml"; 9 | elmo:translator elmo:BuienradarTranslator; 10 | . 11 | -------------------------------------------------------------------------------- /examples/tutorial/dbpedia.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix rdfs: . 3 | @prefix stage: . 4 | 5 | stage:dbpedia a elmo:Representation; 6 | elmo:url-pattern "/query/dbpedia$"; 7 | elmo:endpoint ; 8 | elmo:fragment [ 9 | elmo:applies-to "type"; 10 | rdfs:label "Classes at nl.dbpedia"@en; 11 | rdfs:label "Aanwezige klassen in nl.dbpedia"@nl; 12 | ]; 13 | elmo:query ''' 14 | SELECT DISTINCT ?type ?type_label (count(?s) as ?type_count) 15 | WHERE { 16 | ?s rdf:type ?type. 17 | OPTIONAL {?type rdfs:label ?type_label} 18 | } 19 | LIMIT 100 20 | '''; 21 | . -------------------------------------------------------------------------------- /examples/tutorial/dbpediaresource.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:dbpediaNLResource a elmo:Representation; 5 | elmo:uri-pattern "^http://nl.dbpedia.org/"; 6 | elmo:endpoint ; 7 | elmo:query stage:ResourceQuery; 8 | elmo:index "1"; 9 | elmo:contains stage:dbpediaNLResourceGraph; 10 | . 11 | stage:dbpediaResource a elmo:Representation; 12 | elmo:uri-pattern "^http://dbpedia.org/"; 13 | elmo:endpoint ; 14 | elmo:query stage:ResourceQuery; 15 | . 16 | stage:ResourceQuery a elmo:Query; 17 | elmo:query ''' 18 | CONSTRUCT { 19 | <@SUBJECT@> ?p ?o. 20 | ?o rdfs:label ?olabel 21 | } 22 | WHERE { 23 | <@SUBJECT@> ?p ?o 24 | FILTER (isIri(?o) or lang(?o)="" or lang(?o)="@LANGUAGE@") 25 | OPTIONAL { 26 | ?o rdfs:label ?olabel. 27 | FILTER (lang(?olabel) or lang(?olabel)="@LANGUAGE@") 28 | } 29 | } 30 | ''' 31 | . 32 | 33 | stage:dbpediaNLResourceGraph a elmo:Part; 34 | elmo:appearance elmo:GraphAppearance; 35 | elmo:index "2"; 36 | elmo:endpoint ; 37 | elmo:query ''' 38 | CONSTRUCT { 39 | <@SUBJECT@> ?p ?o. 40 | <@SUBJECT@> rdfs:label ?slabel. 41 | ?o rdfs:label ?olabel 42 | } 43 | WHERE { 44 | <@SUBJECT@> ?p ?o. 45 | <@SUBJECT@> rdfs:label ?slabel. 46 | ?o rdfs:label ?olabel 47 | FILTER (?p!=) 48 | } 49 | '''; 50 | . -------------------------------------------------------------------------------- /examples/tutorial/excelContainer.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix container: . 3 | @prefix rdfs: . 4 | 5 | container:excel a elmo:Container; 6 | # elmo:representation elmo:UploadRepresentation; 7 | elmo:translator elmo:SimpleExcelTranslator; 8 | rdfs:label "Upload (excel)" 9 | . 10 | 11 | container:concept a elmo:Container; 12 | . 13 | -------------------------------------------------------------------------------- /examples/tutorial/geo.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | @prefix rdfs: . 4 | 5 | stage:geo a elmo:Representation; 6 | elmo:url-pattern "query/geo$"; 7 | elmo:appearance elmo:GeoAppearance; 8 | elmo:endpoint ; 9 | elmo:queryForm stage:geoform; 10 | elmo:query ''' 11 | prefix geosparql: 12 | prefix geo: 13 | construct { 14 | ?city geo:geometry ?wkt. 15 | ?city rdfs:label ?cityname. 16 | } 17 | WHERE { 18 | select * 19 | where { 20 | ?city rdf:type . 21 | ?city rdfs:label ?cityname. 22 | ?city geosparql:hasGeometry ?geo. 23 | ?geo geosparql:asWKT ?wkt. 24 | # FILTER (?city = ) 25 | FILTER REGEX(?cityname,"^@NAAM@","i") 26 | } 27 | limit 1 28 | } 29 | ''' 30 | . 31 | 32 | stage:geoform a elmo:Form; 33 | elmo:fragment [ 34 | rdfs:label "Woonplaats"; 35 | elmo:applies-to "naam"; 36 | elmo:constraint elmo:MandatoryConstraint 37 | ]; 38 | elmo:fragment [ 39 | rdfs:label "Toon"; 40 | elmo:appearance elmo:SubmitAppearance; 41 | ] 42 | . -------------------------------------------------------------------------------- /examples/tutorial/helloWorld.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix rdfs: . 3 | @prefix stage: . 4 | 5 | stage:helloWorld a elmo:Representation; 6 | elmo:url-pattern "query/helloWorld$"; 7 | elmo:appearance elmo:HtmlAppearance; 8 | elmo:data [ 9 | rdfs:label "Hello World"; 10 | elmo:html ''' 11 |

Hello World!

12 |

This is the first of the Linked Data Theatre examples.

13 | '''; 14 | ] 15 | . 16 | -------------------------------------------------------------------------------- /examples/tutorial/menu.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix rdfs: . 3 | @prefix xhtml: . 4 | @prefix stage: . 5 | 6 | stage:menu a elmo:Representation; 7 | elmo:url-pattern "/"; 8 | elmo:index "~"; 9 | elmo:appearance elmo:NavbarSearchAppearance; 10 | elmo:data [ 11 | rdfs:label "LDT Tutorial"; 12 | xhtml:link "/"; 13 | elmo:data [ 14 | elmo:index "1"; 15 | rdfs:label "backstage"; 16 | xhtml:link "backstage" 17 | ]; 18 | elmo:data [ 19 | elmo:index "2"; 20 | rdfs:label "Appearances"; 21 | elmo:data [elmo:index "1"; rdfs:label "Hello world"; xhtml:link "query/helloWorld"]; 22 | elmo:data [elmo:index "2"; rdfs:label "DBPedia Amersfoort"; xhtml:link "resource?subject=http://nl.dbpedia.org/resource/Amersfoort"]; 23 | elmo:data [elmo:index "3"; rdfs:label "Geospatial"; xhtml:link "query/geo"] 24 | ] 25 | ] 26 | . 27 | -------------------------------------------------------------------------------- /examples/tutorial/musicbrainz.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:musicbrainz a elmo:Representation; 5 | elmo:appearance elmo:GraphAppearance; 6 | elmo:uri-pattern "^http://musicbrainz.org/ws/2/artist"; 7 | elmo:service "@SUBJECT@?inc=artist-rels"; 8 | elmo:accept "application/xml"; 9 | elmo:translator elmo:MusicbrainzTranslator; 10 | . 11 | -------------------------------------------------------------------------------- /examples/tutorial/production.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix rdfs: . 3 | @prefix updatestage: . 4 | @prefix stage: . 5 | 6 | #Production for root installations 7 | updatestage:production a elmo:Production; 8 | elmo:contains stage:production_scene1; 9 | elmo:contains stage:production_scene2; 10 | . 11 | stage:production_scene1 a elmo:Scene; 12 | elmo:index "1"; 13 | rdfs:label "Clear graph"; 14 | elmo:query "clear graph "; 15 | . 16 | stage:production_scene2 a elmo:Scene; 17 | elmo:index "2"; 18 | rdfs:label "Add converted excel data"; 19 | elmo:query ''' 20 | prefix container: 21 | insert into { 22 | ?resource rdf:type skos:Concept. 23 | ?resource rdfs:label ?concept. 24 | ?resource skos:definition ?definition. 25 | } 26 | where { 27 | select (iri(concat("http://localhost:8080/id/concept/",?concept)) as ?resource) ?concept ?definition 28 | where { 29 | graph { 30 | ?item container:Concept ?concept. 31 | ?item container:Definition ?definition. 32 | } 33 | } 34 | } 35 | ''' 36 | . 37 | -------------------------------------------------------------------------------- /examples/tutorial/search.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | @prefix rdfs: . 4 | 5 | stage:search a elmo:Representation; 6 | elmo:url-pattern "/query/search$"; 7 | elmo:contains stage:searchAdvanced; 8 | elmo:contains stage:searchClasses; 9 | elmo:endpoint ; 10 | elmo:without-parameter "class"; 11 | elmo:queryForm stage:searchForm; 12 | elmo:query ''' 13 | SELECT ?item ?item_label 14 | WHERE { 15 | ?item rdf:type skos:Concept. 16 | ?item rdfs:label ?item_label. 17 | FILTER REGEX(?item_label,"^@TERM@","i") 18 | } 19 | LIMIT 10 20 | '''; 21 | . 22 | stage:searchAdvanced a elmo:Part; 23 | elmo:endpoint ; 24 | elmo:with-parameter "class"; 25 | elmo:query ''' 26 | SELECT ?item ?item_label 27 | WHERE { 28 | ?item rdf:type <@CLASS@>. 29 | ?item rdfs:label ?item_label. 30 | FILTER REGEX(?item_label,"^@TERM@","i") 31 | } 32 | LIMIT 10 33 | '''; 34 | . 35 | 36 | stage:searchForm a elmo:Form; 37 | elmo:fragment [ 38 | elmo:applies-to "class"; 39 | elmo:valuesFrom stage:searchClasses; 40 | elmo:index "1"; 41 | ]; 42 | elmo:fragment [ 43 | elmo:applies-to "term"; 44 | elmo:constraint elmo:MandatoryConstraint; 45 | elmo:index "2"; 46 | ]; 47 | elmo:fragment [ 48 | elmo:appearance elmo:SubmitAppearance; 49 | rdfs:label "Search"; 50 | elmo:index "3"; 51 | ]; 52 | . 53 | stage:searchClasses a elmo:Part; 54 | elmo:appearance elmo:HiddenAppearance; 55 | elmo:endpoint ; 56 | elmo:query ''' 57 | construct { 58 | ?class rdfs:label ?classlabel 59 | } 60 | where { 61 | select distinct ?class ?classlabel 62 | where { 63 | ?class rdf:type owl:Class. 64 | ?class rdfs:label ?classlabel. 65 | FILTER (lang(?classlabel)="@LANGUAGE@") 66 | FILTER REGEX(str(?class),"^http://dbpedia.org/ontology/") 67 | } 68 | } 69 | '''; 70 | . 71 | -------------------------------------------------------------------------------- /examples/tutorial/showContainer.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:showContainer a elmo:Representation; 5 | elmo:url-pattern "query/container$"; 6 | elmo:appearance elmo:TableAppearance; 7 | elmo:query ''' 8 | CONSTRUCT {?s?p?o} 9 | WHERE { 10 | GRAPH {?s?p?o} 11 | } 12 | ''' 13 | . 14 | -------------------------------------------------------------------------------- /examples/tutorial/showExcel.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:showExcel a elmo:Representation; 5 | elmo:url-pattern "query/excel$"; 6 | elmo:appearance elmo:TableAppearance; 7 | elmo:query ''' 8 | CONSTRUCT {?s?p?o} 9 | WHERE { 10 | GRAPH {?s?p?o} 11 | } 12 | ''' 13 | . 14 | -------------------------------------------------------------------------------- /examples/tutorial/showGraphs.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix stage: . 5 | 6 | stage:showGraphs a elmo:Representation; 7 | elmo:url-pattern "/query/showGraphs$"; 8 | elmo:query ''' 9 | SELECT DISTINCT ?graph count(?x) as ?tripleCount 10 | WHERE { 11 | GRAPH ?graph { 12 | ?x?y?z 13 | } 14 | } 15 | '''; 16 | . -------------------------------------------------------------------------------- /examples/tutorial/showGraphs2.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix html: . 3 | @prefix rdfs: . 4 | @prefix stage: . 5 | 6 | stage:showGraphs2 a elmo:Representation; 7 | elmo:url-pattern "/query/showGraphs2$"; 8 | elmo:fragment [ 9 | elmo:applies-to "graph"; 10 | rdfs:label "RDF Graaf"@nl; 11 | rdfs:label "RDF Graph"@en 12 | ]; 13 | elmo:fragment [ 14 | elmo:applies-to "tripleCount"; 15 | rdfs:label "Aantal triples"@nl; 16 | rdfs:label "Triple count"@en 17 | ]; 18 | elmo:query ''' 19 | SELECT DISTINCT ?graph count(?x) as ?tripleCount 20 | WHERE { 21 | GRAPH ?graph { 22 | ?x?y?z 23 | } 24 | } 25 | '''; 26 | . -------------------------------------------------------------------------------- /examples/tutorial/simpleContainer.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix container: . 3 | 4 | container:simple a elmo:Container; 5 | # elmo:representation elmo:UploadRepresentation; 6 | . 7 | -------------------------------------------------------------------------------- /examples/tutorial/vocabulary.ttl: -------------------------------------------------------------------------------- 1 | @prefix elmo: . 2 | @prefix stage: . 3 | 4 | stage:vocabulary a elmo:Representation; 5 | elmo:url-pattern "query/vocabulary$"; 6 | elmo:appearance elmo:VocabularyAppearance; 7 | elmo:webpage "http://www.w3.org/2000/01/rdf-schema"; 8 | . 9 | -------------------------------------------------------------------------------- /ext-resources/.gitignore: -------------------------------------------------------------------------------- 1 | #Ignore alle files 2 | * 3 | #Except this one, the README.md and the pom.xml 4 | !.gitignore 5 | !README.md 6 | !pom.xml 7 | -------------------------------------------------------------------------------- /ext-resources/README.md: -------------------------------------------------------------------------------- 1 | This directory should contain a downloaded version of the javascript libraries that are used by the Linked Data Theatre. 2 | -------------------------------------------------------------------------------- /license-builder/.gitignore: -------------------------------------------------------------------------------- 1 | target/ -------------------------------------------------------------------------------- /license-builder/README.md: -------------------------------------------------------------------------------- 1 | #LDT license builder 2 | The LD license builder is a extension of the maven-license-plugin. It adds the possibility to include the ${file.date} property to a header file (the date of the file, using yyyy-MM-dd format). 3 | 4 | Please install this library before you try to change a license header: 5 | 6 | mvn install 7 | -------------------------------------------------------------------------------- /license-builder/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | nl.architolk.ldt 4 | license-builder 5 | jar 6 | 2.11 7 | license-builder 8 | http://maven.apache.org 9 | 10 | 11 | 12 | junit 13 | junit 14 | 3.8.1 15 | test 16 | 17 | 18 | com.mycila 19 | license-maven-plugin 20 | ${project.version} 21 | 22 | 23 | org.eclipse.jgit 24 | org.eclipse.jgit 25 | 4.2.0.201601211800-r 26 | 27 | 28 | 29 | 30 | 31 | org.apache.maven.plugins 32 | maven-compiler-plugin 33 | 3.5.1 34 | 35 | 1.8 36 | 1.8 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /license-builder/src/main/java/nl/architolk/ldt/license/GitLookUp.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.license; 2 | 3 | import org.eclipse.jgit.api.Git; 4 | import org.eclipse.jgit.lib.Repository; 5 | import org.eclipse.jgit.storage.file.FileRepositoryBuilder; 6 | import org.eclipse.jgit.revwalk.RevCommit; 7 | import org.eclipse.jgit.api.errors.GitAPIException; 8 | 9 | import java.io.File; 10 | import java.io.IOException; 11 | 12 | public class GitLookUp { 13 | 14 | private final Repository repository; 15 | private final GitPathResolver pathResolver; 16 | 17 | public GitLookUp(File anyFile) throws IOException { 18 | super(); 19 | this.repository = new FileRepositoryBuilder().findGitDir(anyFile).build(); 20 | /* A workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=457961 */ 21 | this.repository.getObjectDatabase().newReader().getShallowCommits(); 22 | this.pathResolver = new GitPathResolver(repository.getWorkTree().getAbsolutePath()); 23 | } 24 | 25 | public String getCommitMessage(File file) throws GitAPIException { 26 | String repoRelativePath = pathResolver.relativize(file); 27 | String commitMessage = ""; 28 | 29 | Iterable commits = new Git(repository).log().addPath(repoRelativePath).setMaxCount(1).call(); 30 | for (RevCommit commit : commits) { 31 | commitMessage = commit.getShortMessage(); 32 | } 33 | return commitMessage.replaceFirst("^Release ",""); 34 | } 35 | } -------------------------------------------------------------------------------- /license-builder/src/main/resources/META-INF/services/com.mycila.maven.plugin.license.PropertiesProvider: -------------------------------------------------------------------------------- 1 | nl.architolk.ldt.license.LicenseProvider -------------------------------------------------------------------------------- /license-builder/src/test/java/nl/architolk/ldt/processors/ExcelConverterTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for ExcelConverter. 9 | */ 10 | public class ExcelConverterTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public ExcelConverterTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( ExcelConverterTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testExcelConverter() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /license-builder/src/test/java/nl/architolk/ldt/processors/ExcelSerializerTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for ExcelSerializer. 9 | */ 10 | public class ExcelSerializerTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public ExcelSerializerTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( ExcelSerializerTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testExcelSerializer() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /license-builder/src/test/java/nl/architolk/ldt/processors/WordSerializerTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for WordSerializer. 9 | */ 10 | public class WordSerializerTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public WordSerializerTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( WordSerializerTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testWordSerializer() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /license-builder/src/test/java/nl/architolk/ldt/processors/XMLFOProcessorTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for XMLFOProcessor. 9 | */ 10 | public class XMLFOProcessorTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public XMLFOProcessorTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( XMLFOProcessorTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testXMLFOProcessor() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /orbeon/.gitignore: -------------------------------------------------------------------------------- 1 | #Ignore alle files 2 | * 3 | #Except this one, the README.md and the pom.xml 4 | !.gitignore 5 | !README.md 6 | !pom.xml 7 | -------------------------------------------------------------------------------- /orbeon/README.md: -------------------------------------------------------------------------------- 1 | This directory should contain a downloaded version of the unpacked orbeon.war file. 2 | The structure inside this directory should be: 3 | WEB-INF 4 | xforms-jsp 5 | -------------------------------------------------------------------------------- /orbeon/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | nl.architolk.ldt 4 | orbeon 5 | 4.10.0 6 | orbeon 7 | pom 8 | 9 | 10 | 11 | com.googlecode.maven-download-plugin 12 | download-maven-plugin 13 | 1.2.1 14 | 15 | 16 | get-orbeon 17 | 18 | wget 19 | 20 | 21 | https://github.com/orbeon/orbeon-forms/releases/download/tag-release-4.10-ce/orbeon-4.10.0.201508261750-CE.zip 22 | . 23 | true 24 | 25 | 26 | 27 | 28 | 29 | org.codehaus.mojo 30 | truezip-maven-plugin 31 | 1.2 32 | 33 | 34 | unpack-war 35 | 36 | copy 37 | 38 | 39 | 40 | orbeon-4.10.0.201508261750-CE/orbeon.war 41 | . 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /processors/.gitignore: -------------------------------------------------------------------------------- 1 | target/ -------------------------------------------------------------------------------- /processors/jsoup-1.10.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/processors/jsoup-1.10.1.jar -------------------------------------------------------------------------------- /processors/maven-install-orbeon-jar.bat: -------------------------------------------------------------------------------- 1 | mvn install:install-file -Dfile=../orbeon/WEB-INF/lib/orbeon.jar -DgroupId=orbeon -DartifactId=orbeon -Dversion=4.10.0 -Dpackaging=jar -DgeneratePom=true 2 | -------------------------------------------------------------------------------- /processors/maven-install-orbeon-jar.sh: -------------------------------------------------------------------------------- 1 | # 2 | # NAME maven-install-orbeon-jar.sh 3 | # VERSION 1.25.0 4 | # DATE 2020-07-19 5 | # 6 | # Copyright 2012-2020 7 | # 8 | # This file is part of the Linked Data Theatre. 9 | # 10 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | # it under the terms of the GNU General Public License as published by 12 | # the Free Software Foundation, either version 3 of the License, or 13 | # (at your option) any later version. 14 | # 15 | # The Linked Data Theatre is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | # GNU General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with the Linked Data Theatre. If not, see . 22 | # 23 | 24 | mvn install:install-file -Dfile=../orbeon/WEB-INF/lib/orbeon.jar -DgroupId=orbeon -DartifactId=orbeon -Dversion=4.10.0 -Dpackaging=jar -DgeneratePom=true 25 | -------------------------------------------------------------------------------- /processors/maven-install-virtuoso-jar.bat: -------------------------------------------------------------------------------- 1 | mvn install:install-file -Dfile=../ext-resources/WEB-INF/lib/virt_rdf4j.jar -DgroupId=virtuoso -DartifactId=rdf4j -Dversion=2.1.4 -Dpackaging=jar -DgeneratePom=true 2 | -------------------------------------------------------------------------------- /processors/maven-install-virtuoso-jar.sh: -------------------------------------------------------------------------------- 1 | # 2 | # NAME maven-install-virtuoso-jar.sh 3 | # VERSION 1.25.0 4 | # DATE 2020-07-19 5 | # 6 | # Copyright 2012-2020 7 | # 8 | # This file is part of the Linked Data Theatre. 9 | # 10 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | # it under the terms of the GNU General Public License as published by 12 | # the Free Software Foundation, either version 3 of the License, or 13 | # (at your option) any later version. 14 | # 15 | # The Linked Data Theatre is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | # GNU General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with the Linked Data Theatre. If not, see . 22 | # 23 | 24 | mvn install:install-file -Dfile=../ext-resources/WEB-INF/lib/virt_rdf4j.jar -DgroupId=virtuoso -DartifactId=rdf4j -Dversion=2.1.4 -Dpackaging=jar -DgeneratePom=true 25 | -------------------------------------------------------------------------------- /processors/processors-1.25.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/processors/processors-1.25.0.jar -------------------------------------------------------------------------------- /processors/src/etc/license/ldt.txt: -------------------------------------------------------------------------------- 1 | NAME ${file.name} 2 | VERSION ${file.version} 3 | DATE ${file.date} 4 | 5 | Copyright 2012-2020 6 | 7 | This file is part of the Linked Data Theatre. 8 | 9 | The Linked Data Theatre is free software: you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation, either version 3 of the License, or 12 | (at your option) any later version. 13 | 14 | The Linked Data Theatre is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with the Linked Data Theatre. If not, see . 21 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/rtf/RtfControlSymbol.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.rtf; 2 | 3 | /** 4 | * This class represents an RTF control symbol in the element tree. 5 | * 6 | * @author Kay Schröer 7 | */ 8 | public class RtfControlSymbol extends RtfElement { 9 | /** 10 | * Control symbol, e.g. * 11 | */ 12 | public char symbol; 13 | 14 | /** 15 | * Symbol parameter, e.g. 0 16 | */ 17 | public int parameter = 0; 18 | 19 | /* 20 | * (non-Javadoc) 21 | * 22 | * @see org.rtf.RtfElement#dump(int) 23 | */ 24 | @Override 25 | public void dump(int level) { 26 | System.out.println("
"); 27 | indent(level); 28 | System.out.println("SYMBOL " + symbol + " (" + parameter + ")"); 29 | System.out.println("
"); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/rtf/RtfControlWord.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.rtf; 2 | 3 | /** 4 | * This class represents an RTF control word in the element tree. 5 | * 6 | * @author Kay Schröer 7 | */ 8 | public class RtfControlWord extends RtfElement { 9 | /** 10 | * Control word, e.g. fs 11 | */ 12 | public String word; 13 | 14 | /** 15 | * Word parameter, e.g. 22 16 | */ 17 | public int parameter; 18 | 19 | /* 20 | * (non-Javadoc) 21 | * 22 | * @see org.rtf.RtfElement#dump(int) 23 | */ 24 | @Override 25 | public void dump(int level) { 26 | System.out.println("
"); 27 | indent(level); 28 | System.out.println("WORD " + word + " (" + parameter + ")"); 29 | System.out.println("
"); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/rtf/RtfElement.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.rtf; 2 | 3 | /** 4 | * This class provides the base technology for debugging and is used as 5 | * superclass for specific RTF elements like groups, control words, control 6 | * symbols and texts. 7 | * 8 | * @author Kay Schröer 9 | */ 10 | public abstract class RtfElement { 11 | /** 12 | * Outputs debug information. 13 | * 14 | * @param level 15 | * a value greater than or equal to 0 that specifies the number 16 | * of spaces by which the text should be indented 17 | */ 18 | protected abstract void dump(int level); 19 | 20 | /** 21 | * Outputs a text indent. 22 | * 23 | * @param level 24 | * a value greater than or equal to 0 that specifies the number 25 | * of spaces 26 | */ 27 | protected void indent(int level) { 28 | for (int i = 0; i < level; i++) { 29 | System.out.println(" "); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/rtf/RtfParseException.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.rtf; 2 | 3 | /** 4 | * This exception is thrown if errors occur when parsing RTF strings, e.g. with 5 | * an invalid structure. 6 | * 7 | * @author Kay Schröer 8 | */ 9 | public class RtfParseException extends Exception { 10 | private static final long serialVersionUID = 0L; 11 | 12 | /** 13 | * Creates the new exception. 14 | * 15 | * @param message 16 | * error details 17 | */ 18 | public RtfParseException(String message) { 19 | super(message); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/rtf/RtfText.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.rtf; 2 | 3 | /** 4 | * This class represents an RTF text element in the element tree. 5 | * 6 | * @author Kay Schröer 7 | */ 8 | public class RtfText extends RtfElement { 9 | /** 10 | * Plain text 11 | */ 12 | public String text; 13 | 14 | /* 15 | * (non-Javadoc) 16 | * 17 | * @see org.rtf.RtfElement#dump(int) 18 | */ 19 | @Override 20 | public void dump(int level) { 21 | System.out.println("
"); 22 | indent(level); 23 | System.out.println("TEXT " + text); 24 | System.out.println("
"); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/utils/Hasher.java: -------------------------------------------------------------------------------- 1 | /** 2 | * NAME Hasher.java 3 | * VERSION 1.25.0 4 | * DATE 2020-07-19 5 | * 6 | * Copyright 2012-2020 7 | * 8 | * This file is part of the Linked Data Theatre. 9 | * 10 | * The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 3 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * The Linked Data Theatre is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with the Linked Data Theatre. If not, see . 22 | */ 23 | /** 24 | * DESCRIPTION 25 | * Creates an MD5 hash from a string 26 | * 27 | */ 28 | package nl.architolk.ldt.utils; 29 | 30 | import java.math.BigInteger; 31 | import java.security.MessageDigest; 32 | import java.security.NoSuchAlgorithmException; 33 | 34 | public class Hasher { 35 | public static String hash(String data) throws NoSuchAlgorithmException { 36 | MessageDigest md5 = MessageDigest.getInstance("MD5"); 37 | byte[] digest = md5.digest(data.getBytes()); 38 | BigInteger digestValue = new BigInteger(1, digest); 39 | return String.format("%032x", digestValue); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /processors/src/main/java/nl/architolk/ldt/utils/Rtf2html.java: -------------------------------------------------------------------------------- 1 | /** 2 | * NAME Rtf2html.java 3 | * VERSION 1.25.0 4 | * DATE 2020-07-19 5 | * 6 | * Copyright 2012-2020 7 | * 8 | * This file is part of the Linked Data Theatre. 9 | * 10 | * The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 3 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * The Linked Data Theatre is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with the Linked Data Theatre. If not, see . 22 | */ 23 | /** 24 | * DESCRIPTION 25 | * Creates an MD5 hash from a string 26 | * 27 | */ 28 | package nl.architolk.ldt.utils; 29 | 30 | import nl.architolk.ldt.rtf.RtfReader; 31 | import nl.architolk.ldt.rtf.RtfHtml; 32 | import org.jsoup.Jsoup; 33 | import org.jsoup.nodes.Document; 34 | import org.jsoup.nodes.DocumentType; 35 | import org.jsoup.safety.Cleaner; 36 | import org.jsoup.safety.Safelist; 37 | 38 | public class Rtf2html { 39 | 40 | public static String rtf2html(String rtf) { 41 | try { 42 | RtfReader reader = new RtfReader(); 43 | reader.parse(rtf.replace("<","<")); 44 | RtfHtml formatter = new RtfHtml(); 45 | 46 | Cleaner cleaner = new Cleaner(Safelist.relaxed().addAttributes(":all","class")); 47 | Document doc = cleaner.clean(Jsoup.parse(formatter.format(reader.root, true))); 48 | doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml); 49 | return doc.html(); 50 | 51 | } catch (Exception e) { 52 | return rtf; 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /processors/src/test/java/nl/architolk/ldt/processors/ExcelConverterTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for ExcelConverter. 9 | */ 10 | public class ExcelConverterTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public ExcelConverterTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( ExcelConverterTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testExcelConverter() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /processors/src/test/java/nl/architolk/ldt/processors/ExcelSerializerTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for ExcelSerializer. 9 | */ 10 | public class ExcelSerializerTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public ExcelSerializerTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( ExcelSerializerTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testExcelSerializer() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /processors/src/test/java/nl/architolk/ldt/processors/HttpClientProcessorTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for ExcelConverter. 9 | */ 10 | public class HttpClientProcessorTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public HttpClientProcessorTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( HttpClientProcessorTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testHttpClientProcessor() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /processors/src/test/java/nl/architolk/ldt/processors/WordSerializerTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for WordSerializer. 9 | */ 10 | public class WordSerializerTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public WordSerializerTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( WordSerializerTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testWordSerializer() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /processors/src/test/java/nl/architolk/ldt/processors/XMLFOProcessorTest.java: -------------------------------------------------------------------------------- 1 | package nl.architolk.ldt.processors; 2 | 3 | import junit.framework.Test; 4 | import junit.framework.TestCase; 5 | import junit.framework.TestSuite; 6 | 7 | /** 8 | * Unit test for XMLFOProcessor. 9 | */ 10 | public class XMLFOProcessorTest 11 | extends TestCase 12 | { 13 | /** 14 | * Create the test case 15 | * 16 | * @param testName name of the test case 17 | */ 18 | public XMLFOProcessorTest( String testName ) 19 | { 20 | super( testName ); 21 | } 22 | 23 | /** 24 | * @return the suite of tests being tested 25 | */ 26 | public static Test suite() 27 | { 28 | return new TestSuite( XMLFOProcessorTest.class ); 29 | } 30 | 31 | /** 32 | * Rigourous Test :-) 33 | */ 34 | public void testXMLFOProcessor() 35 | { 36 | assertTrue( true ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /rdf4j/.gitignore: -------------------------------------------------------------------------------- 1 | #Ignore alle files 2 | * 3 | #Except this one, the README.md and the pom.xml 4 | !.gitignore 5 | !README.md 6 | !pom.xml 7 | -------------------------------------------------------------------------------- /rdf4j/README.md: -------------------------------------------------------------------------------- 1 | This directory should contain a downloaded version of the unpacked rdf4j-server.war file. 2 | The structure inside this directory should be: 3 | WEB-INF 4 | xforms-jsp 5 | -------------------------------------------------------------------------------- /rdf4j/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | nl.architolk.ldt 4 | rdf4j-server 5 | 2.2.1 6 | rdf4j-server 7 | pom 8 | 9 | 10 | 11 | com.googlecode.maven-download-plugin 12 | download-maven-plugin 13 | 1.2.1 14 | 15 | 16 | get-rdf4j 17 | 18 | wget 19 | 20 | 21 | http://www.eclipse.org/downloads/download.php?r=1&file=/rdf4j/eclipse-rdf4j-2.2.1-sdk.zip 22 | . 23 | true 24 | 25 | 26 | 27 | 28 | 29 | org.codehaus.mojo 30 | truezip-maven-plugin 31 | 1.2 32 | 33 | 34 | unpack-war 35 | 36 | copy 37 | 38 | 39 | 40 | eclipse-rdf4j-2.2.1/war/rdf4j-server.war 41 | rdf4j-server 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /scripts/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # NAME run.sh 4 | # VERSION 1.25.0 5 | # DATE 2020-07-19 6 | # 7 | # Copyright 2012-2020 8 | # 9 | # This file is part of the Linked Data Theatre. 10 | # 11 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 12 | # it under the terms of the GNU General Public License as published by 13 | # the Free Software Foundation, either version 3 of the License, or 14 | # (at your option) any later version. 15 | # 16 | # The Linked Data Theatre is distributed in the hope that it will be useful, 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | # GNU General Public License for more details. 20 | # 21 | # You should have received a copy of the GNU General Public License 22 | # along with the Linked Data Theatre. If not, see . 23 | # 24 | 25 | 26 | if [ ! -f /.tomcat_admin_created ]; then 27 | /create_tomcat_admin_user.sh 28 | fi 29 | 30 | exec ${CATALINA_HOME}/bin/catalina.sh run 31 | -------------------------------------------------------------------------------- /src/etc/license/ldt.txt: -------------------------------------------------------------------------------- 1 | NAME ${file.name} 2 | VERSION ${file.version} 3 | DATE ${file.date} 4 | 5 | Copyright 2012-2020 6 | 7 | This file is part of the Linked Data Theatre. 8 | 9 | The Linked Data Theatre is free software: you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation, either version 3 of the License, or 12 | (at your option) any later version. 13 | 14 | The Linked Data Theatre is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with the Linked Data Theatre. If not, see . 21 | -------------------------------------------------------------------------------- /src/main/webapp/META-INF/context.xml: -------------------------------------------------------------------------------- 1 | 25 | 33 | 34 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/css/icons.css: -------------------------------------------------------------------------------- 1 | /** 2 | * NAME icons.css 3 | * VERSION 1.25.0 4 | * DATE 2020-07-19 5 | * 6 | * Copyright 2012-2020 7 | * 8 | * This file is part of the Linked Data Theatre. 9 | * 10 | * The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 3 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * The Linked Data Theatre is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with the Linked Data Theatre. If not, see . 22 | */ 23 | /** 24 | * DESCRIPTION 25 | * CSS with icons to be used for a specific style class (and elmo:name at elmo:Representation level) 26 | * 27 | **/ 28 | .city h3>span:before {content: "\f192"; 29 | display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale; margin-right: 4px; 30 | } 31 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/css/signin.css: -------------------------------------------------------------------------------- 1 | /** 2 | * NAME signin.css 3 | * VERSION 1.25.0 4 | * DATE 2020-07-19 5 | * 6 | * Copyright 2012-2020 7 | * 8 | * This file is part of the Linked Data Theatre. 9 | * 10 | * The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation, either version 3 of the License, or 13 | * (at your option) any later version. 14 | * 15 | * The Linked Data Theatre is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with the Linked Data Theatre. If not, see . 22 | */ 23 | /** 24 | * DESCRIPTION 25 | * CSS with styling for the Linked Data Theatre signin page 26 | * DATE 2015-12-24 27 | * 28 | **/ 29 | body { 30 | padding-top: 40px; 31 | padding-bottom: 40px; 32 | background-color: #eee; 33 | } 34 | 35 | .form-signin { 36 | max-width: 330px; 37 | padding: 15px; 38 | margin: 0 auto; 39 | } 40 | .form-signin .form-signin-heading, 41 | .form-signin .checkbox { 42 | margin-bottom: 10px; 43 | } 44 | .form-signin .checkbox { 45 | font-weight: normal; 46 | } 47 | .form-signin .form-control { 48 | position: relative; 49 | height: auto; 50 | -webkit-box-sizing: border-box; 51 | -moz-box-sizing: border-box; 52 | box-sizing: border-box; 53 | padding: 10px; 54 | font-size: 16px; 55 | } 56 | .form-signin .form-control:focus { 57 | z-index: 2; 58 | } 59 | .form-signin input[type="email"] { 60 | margin-bottom: -1px; 61 | border-bottom-right-radius: 0; 62 | border-bottom-left-radius: 0; 63 | } 64 | .form-signin input[type="password"] { 65 | margin-bottom: 10px; 66 | border-top-left-radius: 0; 67 | border-top-right-radius: 0; 68 | } 69 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/back_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/back_disabled.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/back_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/back_enabled.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/back_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/back_enabled_hover.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/favicon.ico -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/forward_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/forward_disabled.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/forward_enabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/forward_enabled.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/forward_enabled_hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/forward_enabled_hover.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/layers-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/layers-2x.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/layers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/layers.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/ldt-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/ldt-logo.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/marker-icon-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/marker-icon-2x.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/marker-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/marker-icon.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/marker-shadow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/marker-shadow.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/planboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/planboard.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/rdflogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/rdflogo.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/sort_asc.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/sort_both.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/sort_desc.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/main/webapp/WEB-INF/resources/apps/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/representations/BackstageExport.xml: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 39 | prefix html: 40 | construct { 41 | ?s ?p ?o 42 | } 43 | where { 44 | graph <@STAGE@> { 45 | ?s ?p ?o 46 | } 47 | } 48 | ]]> 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/representations/ExitRepresentation.xml: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 38 | 40 | prefix html: 41 | construct { 42 | html:h2 "Please sign in"@en. 43 | html:h2 "Aanmelden"@nl. 44 | html:button "Sign in"@en. 45 | html:button "Aanmelden"@nl. 46 | html:status "You have signed out"@en. 47 | html:status "U bent afgemeld"@nl. 48 | } 49 | where {} 50 | ]]> 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/representations/LoginErrorRepresentation.xml: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 38 | 40 | prefix html: 41 | construct { 42 | html:h2 "Please sign in"@en. 43 | html:h2 "Aanmelden"@nl. 44 | html:button "Sign in"@en. 45 | html:button "Aanmelden"@nl. 46 | html:alert "Sign in failed"@en. 47 | html:alert "Aanmelden mislukt"@nl. 48 | } 49 | where {} 50 | ]]> 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/representations/LoginRepresentation.xml: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 38 | 40 | prefix html: 41 | construct { 42 | html:h2 "Please sign in"@en. 43 | html:h2 "Aanmelden"@nl. 44 | html:button "Sign in"@en. 45 | html:button "Aanmelden"@nl. 46 | } 47 | where {} 48 | ]]> 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/services.xml: -------------------------------------------------------------------------------- 1 | 25 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/appearances/TurtleAppearance.xsl: -------------------------------------------------------------------------------- 1 | 25 | 32 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
47 | 		
48 | 	
49 |
50 | 51 |
52 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/appearances/dmn/LogicAppearance.xsl: -------------------------------------------------------------------------------- 1 | 25 | 32 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/header2html.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 31 | 32 | [\p{Cc}-[\t\n]] 33 | 34 | 35 | 36 |
    37 |
  • 38 | 39 | 40 | 41 | 42 |
  • 43 |
44 |
45 | 46 | 47 | 48 | 49 |
50 | 51 |
52 | 53 | 54 |
55 | 56 |
57 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/header2json.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 31 | 32 | " 33 | ' 34 | 35 | "": ""{, 36 | } 37 | 38 | 39 | 40 | {} 41 | 42 | 43 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/post2xmldoc.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/rdf2jsonldcontext.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 36 | 37 | 38 | {"@context": 39 | { 40 | ,"":{"@id":"","@type":"@id"} 41 | } 42 | } 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/rdf2plainjson.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 36 | 37 | 38 | 39 | " 40 | ' 41 | 42 | 43 | 44 | [ 45 | 46 | , 47 | {"value":" 48 | ","text":" 49 | "} 50 | 51 | ] 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/rdf2ttl.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/transformations/rdf2txt.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/translators/DirectTranslator.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/translators/GraphQLTranslator.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 36 | 37 | [^a-zA-Z0-9:\.\-_~/()#&=,] 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/translators/SimpleExcelTranslator.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | # 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/translators/SimpleTranslator.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/translators/WowTranslator.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/translators/XMATranslator.xsl: -------------------------------------------------------------------------------- 1 | 25 | 30 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/ldt/version.xml: -------------------------------------------------------------------------------- 1 | 25 | 30 | 31 | ${project.version} 32 | ${buildTimestamp} 33 | 34 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/apps/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: / 3 | -------------------------------------------------------------------------------- /src/main/webapp/WEB-INF/resources/config/properties-local-prod.xml: -------------------------------------------------------------------------------- 1 | 25 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /src/test/expected-results/result005.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | servlet 5 | 6 | ISO-8859-1 7 | 0 8 | text/plain; charset=ISO-8859-1 9 | 10 | 13 | HTTP/1.1 14 | 127.0.0.1 15 | 127.0.0.1 16 | http 17 | localhost 18 | 8888 19 | false 20 | 21 | 22 |
23 | content-length 24 | 0 25 |
26 |
27 | accept-language 28 | nl 29 |
30 |
31 | host 32 | localhost:8888 33 |
34 |
35 | connection 36 | keep-alive 37 |
38 |
39 | content-type 40 | text/plain; charset=ISO-8859-1 41 |
42 |
43 | user-agent 44 | jmeter-functional-test 45 |
46 |
47 | 48 | 49 | org.orbeon.lifecycle.request-id 50 | 335 51 | 52 | 53 | GET 54 | /header.xml 55 | http://localhost:8888/header.xml 56 | /header.xml 57 | /header.xml 58 |
59 | 60 | false 61 | 62 |
-------------------------------------------------------------------------------- /src/test/expected-results/result006.unknown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/test/expected-results/result006.unknown -------------------------------------------------------------------------------- /src/test/expected-results/result007.sparql-results+xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | http://dbpedia.org/resource/Amersfoort 15 | 16 | 17 | Amersfoort 18 | 19 | 20 | http://dbpedia.org/ontology/City 21 | 22 | 23 | 153773 24 | 25 | 26 | 27 | 28 | http://dbpedia.org/resource/Amsterdam 29 | 30 | 31 | Amsterdam 32 | 33 | 34 | http://dbpedia.org/ontology/City 35 | 36 | 37 | 38 | 39 | http://dbpedia.org/resource/Utrecht 40 | 41 | 42 | Utrecht 43 | 44 | 45 | http://dbpedia.org/ontology/City 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/test/expected-results/result008.sparql-results+xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | http://dbpedia.org/resource/Amersfoort 15 | 16 | 17 | Amersfoort 18 | 19 | 20 | http://dbpedia.org/ontology/City 21 | 22 | 23 | 153773 24 | 25 | 26 | 27 | 28 | http://dbpedia.org/resource/Amsterdam 29 | 30 | 31 | Amsterdam 32 | 33 | 34 | http://dbpedia.org/ontology/City 35 | 36 | 37 | 38 | 39 | http://dbpedia.org/resource/Utrecht 40 | 41 | 42 | Utrecht 43 | 44 | 45 | http://dbpedia.org/ontology/City 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/test/expected-results/result009.ld+json: -------------------------------------------------------------------------------- 1 | {"@context": 2 | {"graph":"@graph" 3 | ,"s":{"@id":"urn:s","@type":"@id"} 4 | ,"s_label":{"@id":"urn:s_label"} 5 | ,"type":{"@id":"urn:type","@type":"@id"} 6 | ,"s_count":{"@id":"urn:s_count"} 7 | } 8 | ,"graph": 9 | [ 10 | {"s": "http://dbpedia.org/resource/Amersfoort" 11 | ,"s_label": "Amersfoort" 12 | ,"type": "http://dbpedia.org/ontology/City" 13 | ,"s_count": 153773 14 | }, 15 | {"s": "http://dbpedia.org/resource/Amsterdam" 16 | ,"s_label": "Amsterdam" 17 | ,"type": "http://dbpedia.org/ontology/City" 18 | }, 19 | {"s": "http://dbpedia.org/resource/Utrecht" 20 | ,"s_label": "Utrecht" 21 | ,"type": "http://dbpedia.org/ontology/City" 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /src/test/expected-results/result010.unknown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/test/expected-results/result010.unknown -------------------------------------------------------------------------------- /src/test/expected-results/result011.unknown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/test/expected-results/result011.unknown -------------------------------------------------------------------------------- /src/test/expected-results/result013.unknown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/src/test/expected-results/result013.unknown -------------------------------------------------------------------------------- /src/test/expected-results/result017.turtle: -------------------------------------------------------------------------------- 1 | @prefix dbpprop: . 2 | @prefix n2: . 3 | @prefix ns3: . 4 | @prefix ns4: . 5 | @prefix rdf: . 6 | @prefix rdfs: . 7 | @prefix xsd: . 8 | n2:Amersfoort a ns3:City; 9 | dbpprop:east n2:Amsterdam; 10 | ns3:abstract '''Amersfoort is een stad en gemeente in het oosten van de Nederlandse provincie Utrecht. 11 | Het is in bevolkingsaantal de tweede stad van de provincie Utrecht en de veertiende van Nederland. Amersfoort is een groeistad en vervult economisch een regiofunctie met een sterk gegroeid bedrijfsleven, heeft een van de grootste spoorwegknooppunten van Nederland en is een belangrijke garnizoensstad. De binnenstad bezit een middeleeuws karakter met grachten'''@nl; 12 | ns3:altitude 2.9; 13 | ns3:isPartOf ; 14 | ns3:population 153773; 15 | ns3:populationAsOf "2016-04-01"^^xsd:date; 16 | ns4:capitalCity false; 17 | ns4:districtNames ("stadskern"^^xsd:string "soesterkwartier"^^xsd:string "koppel"^^xsd:string "kruiskamp"^^xsd:string "schothorst"^^xsd:string "liendert"^^xsd:string "rustenburg"^^xsd:string "schuilenburg"^^xsd:string "randenbroek"^^xsd:string "dorrestein"^^xsd:string "leusderkwartier"^^xsd:string "bergkwartier"^^xsd:string "zielhorst"^^xsd:string "kattenbroek"^^xsd:string "nieuwland"^^xsd:string "vathorst"^^xsd:string "vermeerkwartier"^^xsd:string ); 18 | rdfs:label "Amersfoort"^^xsd:string 19 | . 20 | n2:Amsterdam a ns3:City; 21 | ns4:capitalCity true; 22 | rdfs:label "Amsterdam"^^xsd:string 23 | . 24 | n2:Utrecht a ns3:City; 25 | ns3:isPartOf ; 26 | ns4:capitalCity false; 27 | rdfs:label "Utrecht"^^xsd:string 28 | . 29 | ns4:capitalCity rdfs:comment "De hoofdstad van een land"@nl; 30 | rdfs:label "capital city"@en; 31 | rdfs:label "hoofdstad"@nl 32 | . 33 | -------------------------------------------------------------------------------- /src/test/expected-results/result019.plain: -------------------------------------------------------------------------------- 1 | Container cleared 2 | file uploaded: content.ttl 3 | -------------------------------------------------------------------------------- /src/test/expected-results/result020.ld+json: -------------------------------------------------------------------------------- 1 | {"@context": 2 | {"id":"@id" 3 | ,"graph":"@graph" 4 | ,"rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#" 5 | ,"rdfs":"http://www.w3.org/2000/01/rdf-schema#" 6 | ,"rdf:type":{"@type":"@id"} 7 | } 8 | ,"@id":"http://example.org#testcase1" 9 | ,"@type": "http://example.org#Testcase" 10 | ,"rdfs:label": "Testcase 1" 11 | } -------------------------------------------------------------------------------- /src/test/expected-results/result021.plain: -------------------------------------------------------------------------------- 1 | {"response":"succes" ",scene":["file uploaded: content.jsonld" ]} -------------------------------------------------------------------------------- /src/test/expected-results/result022.turtle: -------------------------------------------------------------------------------- 1 | @prefix n1: . 2 | @prefix rdf: . 3 | @prefix rdfs: . 4 | @prefix xsd: . 5 | n1:testcase1 a n1:Testcase; 6 | rdfs:label "Testcase 1"^^xsd:string 7 | . 8 | n1:testcase2 a n1:Testcase; 9 | rdfs:label "Testcase 2"^^xsd:string 10 | . 11 | -------------------------------------------------------------------------------- /src/test/expected-results/result023.plain: -------------------------------------------------------------------------------- 1 | {"response":"error" ",scene":["Container cleared" ,"file uploaded: content.ttl" ,"The rdfs:label of the container should be equal to the title" ],"error":"The rdfs:label of the container should be equal to the title\n"} -------------------------------------------------------------------------------- /src/test/expected-results/result024.plain: -------------------------------------------------------------------------------- 1 | {"response":"error" ",scene":["Container cleared" ,"[content.ttl] (No such file or directory)" ],"error":" (No such file or directory). \nVirtuoso 37000 Error SP030: SPARQL compiler, line 1: syntax error at '<' before 'urn:test'\n\nSPARQL query:\ndefine sql:big-data-const 0 clear graph 2 |

Succes

-------------------------------------------------------------------------------- /src/test/expected-results/result029.sparql-results+xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | urn:test 14 | 15 | 16 | http://www.w3.org/2000/01/rdf-schema#label 17 | 18 | 19 | my title 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /src/test/jetty/jetty.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 8888 11 | 12 | ldt 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 8877 23 | 24 | rdf4j 25 | 26 | 27 | 28 | 29 | 30 | 31 | / 32 | rdf4j/rdf4j-server 33 | 34 | 35 | @rdf4j 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /stored-procs/dump-graphs.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo dumping all graphs in /Virtuoso/dumps 3 | echo dump_graphs(); | isql 4 | pause 5 | -------------------------------------------------------------------------------- /stored-procs/dumped-graphs-list.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Creating a list of all dumped graphs 3 | cd %VIRTUOSO_HOME%\dumps 4 | setlocal enableDelayedExpansion 5 | echo Graphs > ..\graphlist.txt 6 | for %%x in (*.graph) do ( 7 | copy /b ..\graphlist.txt + %%x ..\graphlist.txt > nul 8 | set "tekst=|%%x" 9 | echo !%tekst! >> ..\graphlist.txt 10 | ) 11 | pause 12 | -------------------------------------------------------------------------------- /stored-procs/install-dump-graphs.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo install via isql 3 | isql < dump_graphs.sql 4 | pause 5 | -------------------------------------------------------------------------------- /stored-procs/install.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo install via isql 3 | isql < create_procedures.sql 4 | pause 5 | -------------------------------------------------------------------------------- /virtuoso/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # NAME Dockerfile 3 | # VERSION 1.25.0 4 | # DATE 2020-07-19 5 | # 6 | # Copyright 2012-2020 7 | # 8 | # This file is part of the Linked Data Theatre. 9 | # 10 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 11 | # it under the terms of the GNU General Public License as published by 12 | # the Free Software Foundation, either version 3 of the License, or 13 | # (at your option) any later version. 14 | # 15 | # The Linked Data Theatre is distributed in the hope that it will be useful, 16 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | # GNU General Public License for more details. 19 | # 20 | # You should have received a copy of the GNU General Public License 21 | # along with the Linked Data Theatre. If not, see . 22 | # 23 | 24 | FROM debian:jessie 25 | 26 | ENV VIRTUOSO_VERSION 7.2.4.2 27 | 28 | RUN set -x \ 29 | && BUILD_DIR="$(mktemp -d)" \ 30 | && BUILD_DEPS="build-essential automake libssl-dev net-tools gawk curl" \ 31 | && apt-get update && apt-get install -y --no-install-recommends $BUILD_DEPS && rm -rf /var/lib/apt/lists/* \ 32 | && curl --insecure -fsSL https://github.com/openlink/virtuoso-opensource/releases/download/v${VIRTUOSO_VERSION}/virtuoso-opensource-${VIRTUOSO_VERSION}.tar.gz | tar xzf - -C "$BUILD_DIR" --strip-components=1 \ 33 | && cd "$BUILD_DIR" \ 34 | && ./configure \ 35 | --prefix=/usr/local \ 36 | --localstatedir=/var \ 37 | --sysconfdir=/etc \ 38 | && make -j$(nproc) \ 39 | && make install \ 40 | && mkdir /etc/virtuoso \ 41 | && mv /var/lib/virtuoso/db/virtuoso.ini /etc/virtuoso \ 42 | && rm -rf "$BUILD_DIR" \ 43 | && apt-get purge -y --auto-remove $BUILD_DEPS \ 44 | && apt-get update && apt-get install -y --no-install-recommends libssl1.0.0 && rm -rf /var/lib/apt/lists/* 45 | 46 | ENV VIRTUOSO_DBA_PWD dba 47 | 48 | EXPOSE 1111 8890 49 | 50 | WORKDIR /var/lib/virtuoso 51 | VOLUME /var/lib/virtuoso 52 | 53 | COPY run.sh /run.sh 54 | 55 | CMD ["/run.sh"] 56 | -------------------------------------------------------------------------------- /virtuoso/run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # NAME run.sh 4 | # VERSION 1.25.0 5 | # DATE 2020-07-19 6 | # 7 | # Copyright 2012-2020 8 | # 9 | # This file is part of the Linked Data Theatre. 10 | # 11 | # The Linked Data Theatre is free software: you can redistribute it and/or modify 12 | # it under the terms of the GNU General Public License as published by 13 | # the Free Software Foundation, either version 3 of the License, or 14 | # (at your option) any later version. 15 | # 16 | # The Linked Data Theatre is distributed in the hope that it will be useful, 17 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | # GNU General Public License for more details. 20 | # 21 | # You should have received a copy of the GNU General Public License 22 | # along with the Linked Data Theatre. If not, see . 23 | # 24 | 25 | set -e 26 | 27 | CONFIG_FILE=/etc/virtuoso/virtuoso.ini 28 | 29 | if [ $VIRTUOSO_DBA_PWD != "dba" ] && [ ! -f $PWD/.dba_pwd_changed ]; then 30 | virtuoso-t -f -c "$CONFIG_FILE" +pwdold dba +pwddba $VIRTUOSO_DBA_PWD 31 | touch $PWD/.dba_pwd_changed 32 | echo "DBA default password changed" 33 | fi 34 | 35 | virtuoso-t -f -c "$CONFIG_FILE" 36 | -------------------------------------------------------------------------------- /vocabulary/deploy-vocabulary.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | echo Empty graph and populate with elmo vocabulary definition 3 | curl.exe -X PUT -T elmo.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://bp4mc2.org/elmo/def 4 | curl.exe -X PUT -T elmo2.ttl http://localhost:8890/sparql-graph-crud?graph-uri=http://bp4mc2.org/elmo2/def 5 | pause 6 | -------------------------------------------------------------------------------- /vocabulary/elmo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/architolk/Linked-Data-Theatre/86c0a14484c4fd3f2b7a2a55ef4e3bc7cc34b49c/vocabulary/elmo2.png --------------------------------------------------------------------------------