Skip to content
Snippets Groups Projects
Commit 9a42aa69 authored by David Maus's avatar David Maus
Browse files

Update RelaxNG grammars

parent fcf34c78
No related branches found
No related tags found
No related merge requests found
# Deskriptive Metadaten
# Deskriptive Metadaten / #PolonskyGerman
#
# Autor: David Maus <maus@hab.de>
# Timestamp: <2019-01-16 12:22:36 maus>
# Timestamp: <2019-01-21 13:48:05 maus>
#
namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
......@@ -14,7 +14,13 @@ start =
& optionalMetadata
}
requiredMetadata =
property.identifier+
requiredMetadata = empty
optionalMetadata = empty
\ No newline at end of file
optionalMetadata =
property.title?
& property.creator*
& property.contributor*
& property.language*
& property.spatial*
& property.date*
& property.description*
# Administrative Metadaten
#
# Autor: David Maus <maus@hab.de>
# Timestamp: <2019-01-16 12:19:33 maus>
# Timestamp: <2019-01-18 15:43:02 maus>
#
namespace dct = "http://purl.org/dc/terms/"
......@@ -10,7 +10,9 @@ namespace marcrel = "http://id.loc.gov/vocabulary/relators/"
namespace owl = "http://www.w3.org/2002/07/owl#"
namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
include "shared-dc.rnc"
include "https://raw.githubusercontent.com/dmj/bausteine/master/lib/shared-dc.rnc" {
entity.Agent |= ( element foaf:Organization { model.Entity } | element foaf:Person { model.Entity } )
}
start = element rdf:Description {
element dct:relation {
......
# Wiederverwendbare Definition von Eigenschaften aus Dublin Core Qualified
# Wiederverwendbare Eigenschaften aus Dublin Core Qualified
#
# Autor: David Maus <maus@hab.de>
# Timestamp: <2019-01-16 12:29:59 maus>
# Timestamp: <2019-01-16 15:43:29 maus>
#
namespace dct = "http://purl.org/dc/terms/"
......@@ -10,9 +10,64 @@ namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
namespace owl = "http://www.w3.org/2002/07/owl#"
namespace skos = "http://www.w3.org/2004/02/skos/core#"
property.creator =
element dct:creator {
entity.Agent
property.alternative =
element dct:alternative {
model.rdfLiteral
}
property.abstract =
element dct:abstract {
model.rdfLiteral
}
property.accessRights =
element dct:accessRights {
entity.RightsStatement
}
property.accrualMethod =
element dct:accrualMethod {
element dct:MethodOfAccrual {
model.Entity
}
}
property.accrualPeriodicity =
element dct:accrualPeriodicity {
element dct:Frequency {
model.Entity
}
}
property.accrualPolicy =
element dct:accrualPolicy {
element dct:Policy {
model.Entity
}
}
property.audience =
element dct:audience {
entity.AgentClass
}
property.available =
element dct:available {
model.rdfLiteral
}
property.bibliographicCitation =
element dct:bibliographicCitation {
element dct:BibliographicResource {
model.Entity
}
}
property.conformsTo =
element dct:conformsTo {
element dct:Standard {
model.Entity
}
}
property.contributor =
......@@ -20,11 +75,131 @@ property.contributor =
entity.Agent
}
property.coverage =
element dct:coverage {
entity.LocationPeriodOrJurisdiction
}
property.created =
element dct:created {
model.rdfLiteral
}
property.creator =
element dct:creator {
entity.Agent
}
property.date =
element dct:date {
model.rdfLiteral
}
property.dateAccepted =
element dct:dateAccepted {
model.rdfLiteral
}
property.dateCopyrighted =
element dct:dateCopyrighted {
model.rdfLiteral
}
property.dateSubmitted =
element dct:dateSubmitted {
model.rdfLiteral
}
property.description =
element dct:description {
model.rdfLiteral
}
property.educationLevel =
element dct:educationLevel {
entity.AgentClass
}
property.extent =
element dct:extent {
entity.SizeOrDuration
}
property.format =
element dct:format {
entity.MediaTypeOrExtent
}
property.hasFormat =
element dct:hasFormat {
entity.Resource
}
property.hasPart =
element dct:hasPart {
entity.Resource
}
property.hasVersion =
element dct:hasVersion {
entity.Resource
}
property.identifier =
element dct:identifier {
model.rdfLiteral
}
property.instructionalMethod =
element dct:instructionalMethod {
element dct:MethodOfInstruction {
model.Entity
}
}
property.isFormatOf =
element dct:isFormatOf {
entity.Resource
}
property.isPartOf =
element dct:isPartOf {
entity.Resource
}
property.isReferencedBy =
element dct:isReferencedBy {
entity.Resource
}
property.isReplacedBy =
element dct:isReplacedBy {
entity.Resource
}
property.isRequiredBy =
element dct:isRequiredBy {
entity.Resource
}
property.issued =
element dct:issued {
model.rdfLiteral
}
property.isVersionOf =
element dct:isVersionOf {
entity.Resource
}
property.language =
element dct:language {
element dct:LinguisticSystem {
model.Entity
& property.identifier
}
}
property.license =
element dct:license {
element dct:LicenseDocument {
......@@ -32,18 +207,102 @@ property.license =
}
}
property.rights =
element dct:rights {
element dct:RightsStatement {
property.medium =
element dct:medium {
element dct:PhysicalMedium {
model.Entity
}
}
property.modified =
element dct:modified {
model.rdfLiteral
}
property.provenance =
element dct:provenance {
element dct:ProvenanceStatement {
model.Entity
}
}
property.publisher =
element dct:publisher {
entity.Agent
}
property.references =
element dct:references {
entity.Resource
}
property.relation =
element dct:relation {
entity.Resource
}
property.replaces =
element dct:replaces {
entity.Resource
}
property.requires =
element dct:requires {
entity.Resource
}
property.rights =
element dct:rights {
entity.RightsStatement
}
property.rightsHolder =
element dct:rightsHolder {
entity.Agent
}
property.source =
element dct:source {
entity.Resource
}
property.spatial =
element dct:spatial {
element dct:Location {
model.Entity
}
}
property.subject =
element dct:subject {
entity.Concept
}
property.tableOfContents =
element dct:tableOfContents {
model.rdfLiteral
}
property.temporal =
element dct:temporal {
entity.PeriodOfTime
}
property.title =
element dct:title {
model.rdfLiteral
}
property.type =
element dct:type {
entity.Concept
}
property.valid =
element dct:valid {
model.rdfLiteral
}
entity.Agent =
(
element dct:Agent { model.Entity }
......@@ -51,6 +310,54 @@ entity.Agent =
| element foaf:Organization { model.Entity }
)
entity.AgentClass =
element dct:AgentClass {
model.Entity
}
entity.LocationPeriodOrJurisdiction =
( entity.Location | entity.PeriodOfTime | entity.Jurisdiction )
entity.Location =
element dct:Location {
model.Entity
}
entity.MediaTypeOrExtent =
element dct:MediaTypeOrExtent {
model.Entity
}
entity.SizeOrDuration =
element dct:SizeOrDuration {
model.Entity
}
entity.PeriodOfTime =
element dct:PeriodTime {
model.Entity
}
entity.Jurisdiction =
element dct:Jurisdiction {
model.Entity
}
entity.RightsStatement =
element dct:RightsStatement {
model.Entity
}
entity.Concept =
element skos:Concept {
model.Entity
}
entity.Resource =
element * {
model.Entity
}
property.label =
element skos:prefLabel {
attribute xml:lang { xsd:language }?
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment