Newer
Older
# -*- mode: rnc; -*-
#
namespace skos = "http://www.w3.org/2004/02/skos/core#"
namespace s = "http://purl.oclc.org/dsdl/schematron"
[
s:ns [ prefix = "rdf" uri = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ]
s:ns [ prefix = "skos" uri = "http://www.w3.org/2004/02/skos/core#" ]
]
include "common.rnc" {
rdfPrimarySubjectEntity =
skos.ConceptScheme
& skos.Concept+
}
skos.ConceptScheme =
element skos:ConceptScheme {
rdfPrimarySubject
& requiredMetadata
& Label+
& empty
}
skos.Concept =
element skos:Concept {
rdfPrimarySubject
& Label+
& skos.inScheme
& skos.match
& empty
}
skos.notation =
element skos:notation { text }
skos.inScheme =
[
s:pattern [
s:rule [
context = "/rdf:RDF/skos:Concept/skos:inScheme" s:assert [
test = "/rdf:RDF/skos:ConceptScheme/@rdf:about = current()/@rdf:resource"
id = "skos.inScheme_001"
"Das Konzept muss zu einem Ordnungssystem gehören, dass in dieser Datei definiert ist."
]
]
]
]
element skos:inScheme {
rdfResource
}
skos.match =
element skos:relatedMatch {
rdfResource
}*
& element skos:related {
rdfResource
& element skos:closeMatch {
rdfResource
}*
skos.altLabel = element skos:altLabel {
attribute xml:lang { xsd:language }?,
text
}
skos.hierarchy =
element skos:broader { rdfResource }
& element skos:narrower { rdfResource }