scolomfr3utils

Set of utilities to improve the quality of scoLOMFR3 learning resource metadata

License

License

Categories

Categories

Data
GroupId

GroupId

fr.apiscol.metadata
ArtifactId

ArtifactId

scolomfr3utils
Last Version

Last Version

0.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

scolomfr3utils
Set of utilities to improve the quality of scoLOMFR3 learning resource metadata
Project URL

Project URL

https://github.com/jdpro/scolomfr3utils
Source Code Management

Source Code Management

https://github.com/jdpro/scolomfr3utils.git

Download scolomfr3utils

How to add to project

<!-- https://jarcasting.com/artifacts/fr.apiscol.metadata/scolomfr3utils/ -->
<dependency>
    <groupId>fr.apiscol.metadata</groupId>
    <artifactId>scolomfr3utils</artifactId>
    <version>0.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/fr.apiscol.metadata/scolomfr3utils/
implementation 'fr.apiscol.metadata:scolomfr3utils:0.0.1'
// https://jarcasting.com/artifacts/fr.apiscol.metadata/scolomfr3utils/
implementation ("fr.apiscol.metadata:scolomfr3utils:0.0.1")
'fr.apiscol.metadata:scolomfr3utils:jar:0.0.1'
<dependency org="fr.apiscol.metadata" name="scolomfr3utils" rev="0.0.1">
  <artifact name="scolomfr3utils" type="jar" />
</dependency>
@Grapes(
@Grab(group='fr.apiscol.metadata', module='scolomfr3utils', version='0.0.1')
)
libraryDependencies += "fr.apiscol.metadata" % "scolomfr3utils" % "0.0.1"
[fr.apiscol.metadata/scolomfr3utils "0.0.1"]

Dependencies

compile (7)

Group / Artifact Type Version
org.apache.jena : apache-jena pom 2.13.0
net.sf.jopt-simple : jopt-simple jar 5.0.2
org.apache.logging.log4j : log4j-core jar 2.6.2
org.apache.logging.log4j : log4j-api jar 2.6.2
org.jacoco : jacoco-maven-plugin maven-plugin 0.7.7.201606060606
net.sourceforge.cardme : cardme jar 0.4.0
com.googlecode.ez-vcard : ez-vcard jar 0.9.11

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Scolomfr3utils

Set of utilities to improve the quality of scoLOMFR3 learning resource metadata.

Purpose

Only xsd validation is currently available to control scoLOMFR3 metadata. However, these metadata refer to vocabularies published in the semantic web formats (RDF, SKOS).

The aim of scolomfr3utils project, for lack of other available technology, is to monitor the coherence of scolomfr3 metadata both at the syntactic (XSD) and semantic level.

Benefits

Quality

A tool to ensure the quality of data needs to offer itself quality guarantees...

  • Scolomfr3utils source code quality is managed by Sonarqube.
  • Scolomfr3utils is covered by unit and integration tests at an average level of 80%.

Portability

Scolomfr3utils is likely to be used in both Java and non-Java projects.

Windows executable version

Download the C++/Qt5 executable wrapper for Windows :

Command line java executable

Download scolomfr3utils stand-alone jar and execute it from command line.

java -jar target/scolomfr3utils-0.0.1-jar-with-dependencies.jar -f /path/to/my/scolomfr/file.xml -v 3.0 --check-all
XSD validation success
Loading skos file from /scolomfr/v30/scolomfr.skos
-------------------------------------------------------
Validation result : FAILURE
-------------------------------------------------------
FAILURE MESSAGES
-------------------------------------------------------
Resource label "logiciel organiseur d’idées" line 394 does not match any label of uri "http://data.education.fr/voc/scolomfr/concept/scolomfr-voc-020-num-057"
Vocabulary "Cadre européen commun de référence pour les langues" line 501 does not match vocabulary of taxons used in classification : it should be URI "http://data.education.fr/voc/scolomfr/scolomfr-voc-042" or label "ScoLomFr Vocabulaire42".
-------------------------------------------------------
WARNING MESSAGES
-------------------------------------------------------
Entity line 191 : ENCODING parameter value ("8BIT") is not supported by this vCard version.
Entity line 191 : CHARSET parameter is not supported in this vCard version.

For maven users, the stand-alone jar may be generated in the following way :

mvn clean compile assembly:single

Java projects

Add scolomfr3utils jar to your project dependencies from Maven Central and use the Java programming API.

Scolomfr3Utils scolomfrUtils = new Scolomfr3Utils();
scolomfrUtils.setScolomfrVersion("3.0");
scolomfrUtils.checkXsd().checkLabels().checkClassifications();
if (!scolomfrUtils.isValid()) {
			List<String> messages = scolomfrUtils
					.getMessages(MessageStatus.FAILURE);
     ...

Requirements

Scolomfr3utils embeds 2.x versions of Apache Jena which requires Java 7. Jena has not been upgraded to 3.X versions to avoid losing Java 7 compatibility.

Command line API

May be displayed by the standalone jar (-h option)

$ java -jar target/scolomfr3utils-0.0.1-jar-with-dependencies.jar -h
Option                           Description                                   
------                           -----------                                   
--check-all                      Apply all available validations.              
                                 Equals : --check-xsd --check-classifications --check-vcards --check-labels                                
--check-classification-purposes  Check that taxonpaths are under the right purpose if specified.                                
--check-classifications          Equals : --check-taxonpaths --check-taxonpath- vocabs  --check-classification-purposes           
--check-labels                   Check that labels are either preflabels or altLabels of provided URIs.                                     
--check-taxonpath-vocabs         Check that taxon belong to their vocabulary if specified.                                  
--check-taxonpaths               Check that consecutive taxon are in hierarchical relation                       
--check-vcards                   Check that inline vcards are RFC compliant according to specified vcard version.                  
--check-xsd                      Apply xsd validation                          
-f                               Scolomfr xml file path                        
-h                               Display help                                  
-v                               Scolomfr schema version                       

Future improvements

In the future, a major improvement would be to control the consistency of indexing by discipline, by educational level and by program ("domaine d'enseignement"). For example, a warning should be issued if a resource intended to the 'CM1' class is indexed to the program of the 'Terminale' class or if it is attached to a field that is not taught in CM1.

Copyright

Copyright (C) 2016 Joachim Dornbusch.

Copyright (C) 2016 Itop Education

Distributed under the GNU/GPL v3 license.

Versions

Version
0.0.1