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

Emblemontology fertiggestellt

parent 566ec5a8
No related branches found
No related tags found
No related merge requests found
......@@ -3,15 +3,17 @@
xmlns:cnt="http://www.w3.org/2011/content#"
xmlns:dct="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#">
<rdf:Description rdf:about="http://uri.hab.de/ontology/emblem">
<dct:title xml:lang="en">Wolfenbüttel Core Emblem Ontology (beta)</dct:title>
<dct:title xml:lang="en">Wolfenbüttel Core Emblem Ontology</dct:title>
<dct:creator>
<foaf:Person>
<foaf:name>Monika Biel</foaf:name>
<foaf:email rdf:resource="mailto:biel@hab.de"/>
<foaf:mbox rdf:resource="mailto:biel@hab.de"/>
</foaf:Person>
</dct:creator>
<dct:creator>
......@@ -20,26 +22,52 @@
<foaf:mbox rdf:resource="mailto:maus@hab.de"/>
</foaf:Person>
</dct:creator>
<dct:creator>
<foaf:Person rdf:about="https://orcid.org/0000-0002-1509-6960">
<foaf:name>Thomas Stäcker</foaf:name>
<foaf:mbox rdf:resource="mailto:staecker@hab.de"/>
</foaf:Person>
</dct:creator>
<rdfs:seeAlso rdf:parseType="Resource">
<dct:relation rdf:parseType="Resource">
<foaf:homepage rdf:resource="http://diglib.hab.de?link=016"/>
<dct:title>Project "Linked Open Emblem Data" (2015-2017)</dct:title>
</rdfs:seeAlso>
<rdfs:seeAlso rdf:parseType="Resource">
</dct:relation>
<dct:relation rdf:parseType="Resource">
<foaf:homepage rdf:resource="http://diglib.hab.de/rules/schema/emblem"/>
<dct:title>Emblem Schema Namespace Document</dct:title>
</rdfs:seeAlso>
<rdfs:seeAlso rdf:parseType="Resource">
</dct:relation>
<dct:relation rdf:parseType="Resource">
<foaf:homepage rdf:resource="http://dx.doi.org/10.1108/LHT-11-2016-0126"/>
<dct:title>
Cole, Timothy W., Myung-Ja K. Han, Maria Janina Sarol, Monika Biel, and David Maus. “Using Linked Open Data to Enhance the Discoverability, Functionality &amp; Impact of Emblematica Online.” Library Hi Tech 35, no. 1 (January 31, 2017)
</dct:title>
</rdfs:seeAlso>
</dct:relation>
<dct:relation rdf:parseType="Resource">
<foaf:homepage rdf:resource="http://diglib.hab.de/edoc/ed000256/start.htm"/>
<dct:title>
Datenabzüge: Linked Open Emblem Data / Herausgegeben von Herzog August Bibliothek Wolfenbüttel - Wolfenbüttel :
Herzog August Bibliothek, 2018–.
</dct:title>
</dct:relation>
<dct:publisher>
<foaf:Organization rdf:about="http://uri.hab.de/instance/organization/habwf">
<skos:prefLabel>Herzog August Bibliothek Wolfenbüttel</skos:prefLabel>
</foaf:Organization>
</dct:publisher>
<dct:license>
<dct:LicenseDocument>
<owl:sameAs rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/"/>
<skos:prefLabel>CC0 1.0 Universal</skos:prefLabel>
</dct:LicenseDocument>
</dct:license>
<dct:modified rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2018-01-29</dct:modified>
<dct:created rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2018-01-29</dct:created>
<dct:subject>
<skos:Concept>
<owl:sameAs rdf:resource="http://d-nb.info/gnd/7863462-3"/>
<skos:prefLabel>Linked Data</skos:prefLabel>
</skos:Concept>
</dct:subject>
<dct:subject>
<skos:Concept>
<owl:sameAs rdf:resource="http://d-nb.info/gnd/4152065-8"/>
<skos:prefLabel xml:lang="de">Emblematik &lt;Emblemliteratur&gt;</skos:prefLabel>
</skos:Concept>
</dct:subject>
</rdf:Description>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Emblem">
......@@ -64,13 +92,13 @@
</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#EmblemTextPart">
<rdfs:subClassOf rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#EmblemPart">
<rdfs:label xml:lang="de">Teil eines Emblems</rdfs:label>
<rdfs:label xml:lang="en">Emblem part</rdfs:label>
</rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Motto">
<rdfs:subClassOf rdf:resource="http://uri.hab.de/ontology/emblem#EmblemTextPart"/>
<rdfs:subClassOf rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:label>Motto</rdfs:label>
<rdfs:comment xml:lang="de">
Motto (Inscriptio, Lemma) ist ein kurzer Sinnspruch aus kanonischen Texten antiker Schriftsteller oder der Bibel.
......@@ -81,7 +109,7 @@
</rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Subscriptio">
<rdfs:subClassOf rdf:resource="http://uri.hab.de/ontology/emblem#EmblemTextPart"/>
<rdfs:subClassOf rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:label>Subscriptio</rdfs:label>
<rdfs:comment xml:lang="de">
Die Subscriptio oder Epigram ist ein meist metrischer Text (häufig in epigrammatischer Form), der als Verbindung
......@@ -106,25 +134,34 @@
</rdfs:comment>
</rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#TextSegment"/>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#TextSegment">
<rdfs:label xml:lang="en">Text segment</rdfs:label>
<rdfs:label xml:lang="de">Textsegment</rdfs:label>
</rdfs:Class>
<rdfs:Property rdf:about="http://uri.hab.de/ontology/emblem#hasPart">
<rdfs:label xml:lang="en">Has Part</rdfs:label>
<rdfs:label xml:lang="de">Teil von</rdfs:label>
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/hasPart"/>
<rdfs:range rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:domain rdf:resource="http://uri.hab.de/ontology/emblem#Emblem"/>
</rdfs:Property>
<rdf:Property rdf:about="http://uri.hab.de/ontology/emblem#hasTextSegment">
<rdfs:Property rdf:about="http://uri.hab.de/ontology/emblem#hasTextSegment">
<rdfs:label xml:lang="en">Has text segment</rdfs:label>
<rdfs:label xml:lang="de">Besitzt Textsegment</rdfs:label>
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/hasPart"/>
<rdfs:domain rdf:resource="http://uri.hab.de/ontology/emblem#EmblemTextPart"/>
<rdfs:domain rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:range rdf:resource="http://uri.hab.de/ontology/emblem#TextSegment"/>
</rdf:Property>
</rdfs:Property>
<rdfs:Property rdf:about="http://uri.hab.de/ontology/emblem#isShownBy">
<rdfs:label xml:lang="en">Is shown by</rdfs:label>
<rdfs:seeAlso rdf:resource="http://www.europeana.eu/schemas/edm/isShownBy"/>
</rdfs:Property>
<rdfs:Property rdf:about="http://uri.hab.de/ontology/emblem#isShownAt">
<rdfs:label xml:lang="en">Is shown at</rdfs:label>
<rdfs:seeAlso rdf:resource="http://www.europeana.eu/schemas/edm/isShownAt"/>
</rdfs:Property>
......
<xsl:transform version="1.0"
xmlns:dct="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" indent="yes"/>
<xsl:output method="html" encoding="utf-8"/>
<xsl:template match="rdf:RDF">
<html>
<head>
<title><xsl:value-of select="rdf:Description/dct:title"/></title>
<title><xsl:value-of select="rdf:Description/dct:title[1]"/></title>
<style type="text/css">
body { max-width: 60em; margin: 0 auto; }
table { border-collapse: collapse; width: 100%; border: thin dotted grey; margin-bottom: 1em; }
th, td { text-align: left; vertical-align: top; }
tbody th { width: 15em; }
thead th { background-color: black; color: white; }
tr[lang=de] { font-size: small; }
body { max-width: 60em; margin: 0 auto; font-family: "Open Sans", sans-serif; }
table, tr, th, td { border-collapse: collapse; }
th { text-align: left; vertical-align: top; }
th, td { padding: 0.25em 0.5em; }
</style>
<link rel="schema.DCTERMS" href="http://purl.org/dc/terms/" />
<xsl:for-each select="rdf:Description/dct:*">
<xsl:if test="normalize-space()">
<meta name="DCTERMS.{local-name()}" content="{normalize-space()}"/>
</xsl:if>
<xsl:for-each select="owl:sameAs | foaf:page | foaf:homepage">
<link rel="DCT.{local-name(..)}" href="{@rdf:resource}"/>
</xsl:for-each>
</xsl:for-each>
</head>
<body>
<h1><xsl:value-of select="rdf:Description/dct:title"/></h1>
<ul>
<xsl:for-each select="rdf:Description/dct:creator/foaf:Person">
<li>
<xsl:value-of select="foaf:name"/>, Herzog August Bibliothek Wolfenbüttel
</li>
</xsl:for-each>
</ul>
<xsl:apply-templates select="rdf:Description"/>
<h2>Classes</h2>
<xsl:for-each select="rdfs:Class">
<xsl:sort select="@rdf:about"/>
<table id="{substring-after(@rdf:about, '#')}">
<thead>
<tr>
<th colspan="2"><xsl:value-of select="@rdf:about"/></th>
</tr>
</thead>
<tbody>
<xsl:if test="rdfs:subClassOf">
<tr>
<th>Sub class of</th>
<td>
<a href="{rdfs:subClassOf/@rdf:resource}">
<xsl:value-of select="rdfs:subClassOf/@rdf:resource"/>
</a>
</td>
</tr>
</xsl:if>
<tr lang="en">
<th/>
<td>
<xsl:value-of select="rdfs:comment[@xml:lang = 'en']"/>
</td>
</tr>
<tr lang="de">
<th/>
<td>
<xsl:value-of select="rdfs:comment[@xml:lang = 'de']"/>
</td>
</tr>
</tbody>
</table>
</xsl:for-each>
<xsl:apply-templates select="rdfs:Class"/>
<h2>Properties</h2>
<xsl:for-each select="rdfs:Property">
<xsl:sort select="@rdf:about"/>
<table id="{substring-after(@rdf:about, '#')}">
<thead>
<tr>
<th colspan="2"><xsl:value-of select="@rdf:about"/></th>
</tr>
</thead>
<tbody>
<xsl:if test="rdfs:subPropertyOf">
<tr>
<th>Sub property of</th>
<td>
<a href="{rdfs:subPropertyOf/@rdf:resource}">
<xsl:value-of select="rdfs:subPropertyOf/@rdf:resource"/>
</a>
</td>
</tr>
</xsl:if>
<tr lang="en">
<th/>
<td>
<xsl:value-of select="rdfs:comment[@xml:lang = 'en']"/>
</td>
</tr>
<tr lang="de">
<th/>
<td>
<xsl:value-of select="rdfs:comment[@xml:lang = 'de']"/>
</td>
</tr>
<xsl:if test="rdfs:domain">
<tr>
<th>Domain</th>
<td>
<a href="{rdfs:domain/@rdf:resource}">
<xsl:value-of select="rdfs:domain/@rdf:resource"/>
</a>
</td>
</tr>
</xsl:if>
<xsl:if test="rdfs:range">
<tr>
<th>Range</th>
<td>
<a href="{rdfs:range/@rdf:resource}">
<xsl:value-of select="rdfs:range/@rdf:resource"/>
</a>
</td>
</tr>
</xsl:if>
<xsl:if test="rdfs:seeAlso">
<tr>
<th>See also</th>
<td>
<a href="{rdfs:seeAlso/@rdf:resource}">
<xsl:value-of select="rdfs:seeAlso/@rdf:resource"/>
</a>
</td>
</tr>
</xsl:if>
</tbody>
</table>
</xsl:for-each>
<h2>See also</h2>
<ul>
<xsl:for-each select="rdf:Description/rdfs:seeAlso">
<li>
<a href="{foaf:homepage/@rdf:resource}">
<xsl:value-of select="dct:title"/>
</a>
</li>
</xsl:for-each>
</ul>
<xsl:apply-templates select="rdfs:Property"/>
</body>
</html>
</xsl:template>
<xsl:template match="rdf:Description">
<h1><xsl:value-of select="dct:title[1]"/></h1>
<ul>
<xsl:for-each select="dct:creator/foaf:Person">
<xsl:sort select="foaf:name"/>
<li>
<xsl:value-of select="foaf:name"/>
<xsl:if test="foaf:mbox">
<xsl:value-of select="concat(' &lt;', substring-after(foaf:mbox/@rdf:resource, 'mailto:'), '&gt;')"/>
</xsl:if>
</li>
</xsl:for-each>
</ul>
<h2>See also</h2>
<ul>
<xsl:for-each select="dct:relation">
<li>
<a href="{foaf:homepage/@rdf:resource}" target="_blank">
<xsl:value-of select="dct:title[1]"/>
</a>
</li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template match="rdfs:Class">
<h3 id="{substring-after(@rdf:about, '#')}"><xsl:value-of select="rdfs:label[not(@xml:lang) or @xml:lang = 'en']"/></h3>
<table>
<tbody>
<xsl:call-template name="common-properties"/>
<xsl:if test="../rdfs:Class/rdfs:subClassOf[@rdf:resource = current()/@rdf:about]">
<tr>
<th>Subclasses</th>
<td>
<xsl:for-each select="../rdfs:Class[rdfs:subClassOf[@rdf:resource = current()/@rdf:about]]">
<xsl:if test="position() &gt; 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:call-template name="uri-to-link">
<xsl:with-param name="target" select="@rdf:about"/>
</xsl:call-template>
</xsl:for-each>
</td>
</tr>
</xsl:if>
<xsl:if test="../rdfs:Property/rdfs:domain[@rdf:resource = current()/@rdf:about]">
<tr>
<th>Properties</th>
<td>
<xsl:for-each select="../rdfs:Property[rdfs:domain[@rdf:resource = current()/@rdf:about]]">
<xsl:if test="position() &gt; 1">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:call-template name="uri-to-link">
<xsl:with-param name="target" select="@rdf:about"/>
</xsl:call-template>
</xsl:for-each>
</td>
</tr>
</xsl:if>
</tbody>
</table>
</xsl:template>
<xsl:template match="rdfs:Property">
<h3 id="{substring-after(@rdf:about, '#')}"><xsl:value-of select="rdfs:label[not(@xml:lang) or @xml:lang = 'en']"/></h3>
<table>
<tbody>
<xsl:call-template name="common-properties"/>
</tbody>
</table>
</xsl:template>
<xsl:template name="uri-to-link">
<xsl:param name="target" select="@rdf:resource"/>
<xsl:choose>
<xsl:when test="starts-with($target, 'http://uri.hab.de/ontology/emblem#')">
<a href="#{substring-after($target, '#')}">
<xsl:value-of select="substring-after($target, '#')"/>
</a>
</xsl:when>
<xsl:otherwise>
<a href="{$target}" target="_blank">
<xsl:value-of select="$target"/>
</a>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="common-properties">
<tr>
<th>URI</th><td><xsl:value-of select="@rdf:about"/></td>
</tr>
<xsl:for-each select="rdfs:*[not(@xml:lang) or @xml:lang = 'en'][not(local-name() = 'label')]">
<tr>
<th><xsl:value-of select="local-name()"/></th>
<td>
<xsl:choose>
<xsl:when test="@rdf:resource">
<xsl:value-of select="@rdf:resource"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="normalize-space()"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:transform>
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