SKOS Play is an application to render and visualise thesaurus, taxonomies or controlled vocabularies expressed in SKOS.
With SKOS Play you can print Knowledge Organization Systems that use the SKOS data model in HTML or PDF documents, and visualize them in graphical representations. SKOS Play is intended to demonstrate some of the possibilities of enterprise vocabularies usage and web of data technologies.
With SKOS Play you can also generate SKOS files from Excel spreadsheets.
Yes.
Yes, the code is published on Github. SKOS Play has for the time being a CC-BY-SA licence :
No.
Thomas Francart for Sparna.
Nice !
SKOS is a data model to share and link knowledge organisation systems on the Web. This model is defined by the W3C here.
Here
Use the SKOS generator included in SKOS Play.
Try Tematres (open-source), Ginco (open-source). There are also commercial solutions of course.
# declare this header in the top of the file @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix skos: <http://www.w3.org/2004/02/skos/core#> . # modify this prefix to suit your namespace @prefix me: <http://www.exemple.com/> . # declare a concept scheme that represents the thesaurus, one time at the top of the file me:MyThesaurus a skos:ConceptScheme . me:MyThesaurus skos:prefLabel "Name of the thesaurus here"@en . # then declare concepts. Here is one me:Vehicle a skos:Concept . # for each concept you need to say it is part of the thesaurus me:Vehicle skos:inScheme me:MyThesaurus . # and then declare its preferred label (the one that will appear on-screen) me:Vehicle skos:prefLabel "Vehicle"@en . # here is a second concept me:Car a skos:Concept . me:Car skos:inScheme me:MyThesaurus . me:Car skos:prefLabel "Car"@en . # this is an alternate label, you can put multiple ones by repeating the line me:Car skos:altLabel "Automobile"@en . # and then say that me:Car is a more specific concept than me:Vehicle me:Car skos:broader me:Vehicle . # and here is a third concept me:123456 a skos:Concept . me:123456 skos:inScheme me:MyThesaurus . me:123456 skos:prefLabel "Bicycle"@en . me:123456 skos:altLabel "Bike"@en . me:123456 skos:altLabel "Two-wheeler"@en . me:123456 skos:broader me:Vehicle .
SKOS Play is based on Eclipse RDF4J, the only sensible choice for enterprise semantic technologies applications. Data visualisation are created with d3js, PDF with Apache FOP. All of that uses SPARQL to query the data Schematically, there are 4 layers in the application :
Good question. SKOS data model is flexible and SKOS data can come in multiple variations, choices has to be made.
Part of the algorithm followed by SKOS Play relies on the interpretation of Collections as ThesaurusArray. A ThesaurusArray is a Collection that is explicitely typed as such, or for which we find that it contains only Concepts that have the same parent, or Concepts that have no parent.
Here is the algorithm that SKOS Play follows to try to accomodate diverse situations :
It depends on the data : the list of languages is dynamically fetched from the data.
All of the syntaxes supported by RDF4J : RDF/XML, Turtle, N3, N-triples, TriG, TriX...
For the time being, SKOS Play is limited to 5000 concepts, to avoid overloading the server. Theoretically, there is no limit, but in practice, for alphabetical or hierarchical rendering, I would avoid more than 5000 concepts to limit the output file size. For dataviz, I would say that above 2000 concepts you can't see anything and you have big latencies when zooming.
Yes ! there is a dedicated option to read SKOS-XL labels. You can uncheck it to save some time.
There is no API. But ask a question on the forum and express your interest, and this may be added one day in the future.