FAQ and Troubleshooting - NatLibFi/Skosmos GitHub Wiki

Frequently Asked Questions

What is Skosmos?

See the skosmos.org website

What are the system requirements for running Skosmos?

Hardware: Skosmos itself doesn't require a huge amount of resources. It runs as PHP scripts within Apache. One script may need a few hundred megabytes of RAM in the worst situations. So any machine with at least 4GB RAM should work fine. For production use, it's best to have multiple CPU cores. But you also need a RDF triple store, which can be on a different machine, see below.

Operating system: Skosmos is being developed on Ubuntu Linux (14.04, 16.04, 18.04) and known to work also on CentOS. Probably it can be made to work on any Linux distribution and macOS. It has been run on Windows with limited success (UI translations didn't work).

Software: You need a version of Apache with support for PHP. Starting with Skosmos 2.0+, PHP7 is required.

Triple store: You need a SPARQL 1.1 compliant RDF triple store. Jena Fuseki is recommended as Skosmos supports the jena-text index. Other triple stores such as Virtuoso, GraphDB and Blazegraph should work, but without text index support. Fuseki needs a few gigabytes of RAM to work well, but this depends a lot on the size of your SKOS data sets.

How can I start using Skosmos?

See InstallTutorial

Skosmos doesn't support my language. How can I translate it?

See Translation

Where does the name Skosmos come from?

It's a play-on-words, a combination of SKOS and "cosmos" (space), because it's a software for exploring conceptual spaces.

I have custom RDF properties in my SKOS data. How can I make Skosmos show them?

Skosmos needs a human-readable label for properties. For SKOS properties like skos:broader and skos:altLabel as well as commonly used vocabularies such as Dublin Core, these labels are defined in the Translation files.

If you have special non-SKOS properties in your data, you need to include the labels for them in the vocabulary data. This is done using the rdfs:label property and the value(s) should be literals with a language code, corresponding to the UI languages you are using. This is an example for how to define an English language label for the Darwin Core property dwc:scientificName:

dwc:scientificName a rdf:Property;
    rdfs:label "scientific name"@en .

(The type rdf:Property in the above is not important to Skosmos; it could also be e.g. owl:ObjectProperty or owl:DatatypeProperty or it could even be omitted.)

Often it is enough to simply include the ontology defining the properties into your vocabulary data. See Data model for more details on which properties Skosmos supports without any additional configuration or label properties.

Does Skosmos support SKOS XL?

Yes, partly. Skosmos can show additional information about labels, expressed using SKOS XL, in a tooltip. But you still need to include SKOS Core label properties (skos:prefLabel, skos:altLabel, skos:hiddenLabel). So if you only have SKOS XL labels in your data, you will need to "dumb down" the labels to SKOS Core as well.

Why is the URI on the concept page not a link?

The URI is intended for display and for copying and pasting to some other system. A click will select the whole URI, then you can use Ctrl-C to copy it.

Usually (at least for Finto) we use Skosmos itself to "serve" concept information. If the URI was a clickable link, users could click it and get back to the same page, which would be confusing.

See issue #582 for more information.

How can I make the full vocabulary accessible as download?

Skosmos itself doesn't serve the full vocabulary data. You should put the data on a server where it's accessible by URL and then point to that URL in config.ttl configuration using the void:dataDump property.

Troubleshooting

I've installed Skosmos but I can't get it to display any pages / it displays a weird error message.

First, check the Apache error log (typically /var/log/apache2/error.log) to see if there are any detailed error messages.

Typical problems are:

  • file and directory permissions: does Apache have the right to read the files?
  • Composer dependencies have not been installed: use php composer.phar install --no-dev

I see strings such as "Hier-nav" and "in_this_language" in the user interface OR Some properties such as skos:scopeNote are not being displayed.

Make sure you have installed all the locales that you are using (skosmos:languages setting in config.ttl)

The command locale -a will display all the installed locales.

Some pages are loading, others are not. The log shows failed SPARQL requests, but in my Fuseki logs there are no errors.

Check that you have set both the default SPARQL endpoint (skosmos:sparqlEndpoint setting near the top of config.ttl) and the vocabulary-specific SPARQL endpoint (void:sparqlEndpoint) correctly. If one of these is pointing to a nonexisting URL, you will see failed requests.

I can browse my vocabulary, but the search function doesn't work.

Did you set up a jena-text index when you installed Fuseki? If not, you can try this config.ttl setting:

skosmos:sparqlDialect "Generic" ;

It avoids using the text index, but doing this can be slow especially if you have a large vocabulary.

For detailed instructions for setting up a text index, please look at the InstallTutorial.

The search doesn't work the way I'd like, for example it doesn't find words within terms.

See TextAnalysisConfiguration for alternatives.

How can I enable/disable the Groups tab?

The Groups tab is enabled by the vocabulary-specific skosmos:groupClass setting. If you don't want the tab, you should remove this setting from config.ttl.

It still doesn't work.

Ask for help on skosmos-users!