|
|
|
## Constraints for the Definition of Metadata
|
|
|
|
|
|
|
|
Remark: **This is work in Progress**. For a technical reference see [Metadata definition 2.0](../MetaData V0.2 documentation)
|
|
|
|
|
|
|
|
Some considerations upon compatibility with RDF and others.
|
|
|
|
|
|
|
|
Each repository must contain either at least one metadescription (depending on the format either as JSON (`metadata.json`) or YAML (`metadata.yml`) or RDF (`metadata.xml`) provided by the repository publishers/maintainers.
|
|
|
|
|
|
|
|
The reference format of the metadata description is [https://www.w3.org/RDF/](RDF 1.1).
|
|
|
|
However since RDF is quite complex, we allow for a simpler CodeAbility Dialect that can be translated to RDF.
|
|
|
|
|
|
|
|
The file should contain a `metadataVersion` (currently fixed to `0.2`) tag, to allow future extensions of the schema.
|
|
|
|
|
|
|
|
If the metadata in the root directory signals `type:collection` Metadata files may also be contained in sub directories.
|
|
|
|
(Alternativlye collections can also point to other repositories). (TODO Details still to be explored)
|
|
|
|
|
|
|
|
## YAML (CodeAbility Version)
|
|
|
|
Yaml notation (that is internally transferred to rdf):
|
|
|
|
```yaml
|
|
|
|
|
|
|
|
metadataVersion: 0.2
|
|
|
|
type: programming exercise
|
|
|
|
# format (not used here)
|
|
|
|
identifier: simpleIO
|
|
|
|
structure: atomic # one from atomic, networked, hierarchical, linear
|
|
|
|
version: 1.0 # just a version tag
|
|
|
|
status: final # one fo draft, final, revised, unavalable
|
|
|
|
title: Simple IO Test
|
|
|
|
description: This is a programming exercise to demonstrate a simple IO testing framework.
|
|
|
|
programminglanguage: [JAVA]
|
|
|
|
languages: [de]
|
|
|
|
educationalLevel: { # just for demonstration
|
|
|
|
"@type": "DefinedTerm",
|
|
|
|
"name": "Level 1",
|
|
|
|
"inDefinedTermSet": {
|
|
|
|
"@type": "DefinedTermSet",
|
|
|
|
"name": "SCQF",
|
|
|
|
"url": "https://scqf.org.uk/"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
"audience": {
|
|
|
|
"@type": "EducationalAudience",
|
|
|
|
"educationalRole": "student"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
timeRequired: 0:05:00 # [hh:mm:ss]
|
|
|
|
keyword: [Java, IOTest, artemis]
|
|
|
|
license: CC-SA-BY 4.0 # mandatory
|
|
|
|
creator:
|
|
|
|
- {name: "Breu Michael", affiliation: "University of Innsbruck", email: "c703257@uibk.ac.at"}
|
|
|
|
publisher:
|
|
|
|
- {name: "Breu Michael", affiliation: "University of Innsbruck", email: "c703257@uibk.ac.at"}
|
|
|
|
deprecated: false
|
|
|
|
difficulty: EASY
|
|
|
|
source: "cf. cunit"
|
|
|
|
contributor:
|
|
|
|
- {name: "Manuel Seywald", affiliation: "University of Klagenfurt", email: "maseywald@edu.aau.at"}
|
|
|
|
valid: [01-01-2020, 31-12-2030]
|
|
|
|
requires: # empty, t.b.d. later
|
|
|
|
image: teaserImage.png
|
|
|
|
|
|
|
|
```
|
|
|
|
## JSON (CodeAbility Version)
|
|
|
|
|
|
|
|
JSON Version
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"metadataVersion": "0.2",
|
|
|
|
"license": "MIT",
|
|
|
|
"keyword": [ "EXAMPLE" ]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
## RDF
|
|
|
|
RDF's main representation is XML (e.g.
|
|
|
|
```xml
|
|
|
|
<?xml version="1.0"?>
|
|
|
|
|
|
|
|
<rdf:RDF
|
|
|
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
|
|
xmlns:dc="http://purl.org/dc/terms/">
|
|
|
|
|
|
|
|
<rdf:Description rdf:about="https://www.w3schools.com">
|
|
|
|
<dc:title>Sime Title</dc:title>
|
|
|
|
<dc:creator>Rudy the red nosed raindeer</dc:creator>
|
|
|
|
</rdf:Description>
|
|
|
|
|
|
|
|
</rdf:RDF>
|
|
|
|
```
|
|
|
|
|
|
|
|
Alternatively the [https://www.w3.org/TR/rdf-json/]JSON binding can be used:
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"http://example.org/about" : {
|
|
|
|
"http://purl.org/dc/terms/title" : [ { "value" : "Rudy the red nosed raindeer",
|
|
|
|
"type" : "literal"
|
|
|
|
},
|
|
|
|
"http://purl.org/dc/terms/creator" : [ { "value" : "Rudy the red nosed raindeer",
|
|
|
|
"type" : "literal"
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For details
|
|
|
|
see https://docs.google.com/spreadsheets/d/1_yfqEN1p2Nd17xI_wG_6MrCRvCcaKFdVILI6AHwc9MI/edit?usp=sharing |