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 @@ ...@@ -3,15 +3,17 @@
xmlns:cnt="http://www.w3.org/2011/content#" xmlns:cnt="http://www.w3.org/2011/content#"
xmlns:dct="http://purl.org/dc/terms/" xmlns:dct="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/" 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: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"> <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> <dct:creator>
<foaf:Person> <foaf:Person>
<foaf:name>Monika Biel</foaf:name> <foaf:name>Monika Biel</foaf:name>
<foaf:email rdf:resource="mailto:biel@hab.de"/> <foaf:mbox rdf:resource="mailto:biel@hab.de"/>
</foaf:Person> </foaf:Person>
</dct:creator> </dct:creator>
<dct:creator> <dct:creator>
...@@ -20,26 +22,52 @@ ...@@ -20,26 +22,52 @@
<foaf:mbox rdf:resource="mailto:maus@hab.de"/> <foaf:mbox rdf:resource="mailto:maus@hab.de"/>
</foaf:Person> </foaf:Person>
</dct:creator> </dct:creator>
<dct:creator> <dct:relation rdf:parseType="Resource">
<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">
<foaf:homepage rdf:resource="http://diglib.hab.de?link=016"/> <foaf:homepage rdf:resource="http://diglib.hab.de?link=016"/>
<dct:title>Project "Linked Open Emblem Data" (2015-2017)</dct:title> <dct:title>Project "Linked Open Emblem Data" (2015-2017)</dct:title>
</rdfs:seeAlso> </dct:relation>
<rdfs:seeAlso rdf:parseType="Resource"> <dct:relation rdf:parseType="Resource">
<foaf:homepage rdf:resource="http://diglib.hab.de/rules/schema/emblem"/> <foaf:homepage rdf:resource="http://diglib.hab.de/rules/schema/emblem"/>
<dct:title>Emblem Schema Namespace Document</dct:title> <dct:title>Emblem Schema Namespace Document</dct:title>
</rdfs:seeAlso> </dct:relation>
<rdfs:seeAlso rdf:parseType="Resource"> <dct:relation rdf:parseType="Resource">
<foaf:homepage rdf:resource="http://dx.doi.org/10.1108/LHT-11-2016-0126"/> <foaf:homepage rdf:resource="http://dx.doi.org/10.1108/LHT-11-2016-0126"/>
<dct:title> <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) 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> </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> </rdf:Description>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Emblem"> <rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Emblem">
...@@ -64,13 +92,13 @@ ...@@ -64,13 +92,13 @@
</rdfs:comment> </rdfs:comment>
</rdfs:Class> </rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#EmblemPart"/> <rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#EmblemPart">
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#EmblemTextPart"> <rdfs:label xml:lang="de">Teil eines Emblems</rdfs:label>
<rdfs:subClassOf rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/> <rdfs:label xml:lang="en">Emblem part</rdfs:label>
</rdfs:Class> </rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Motto"> <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:label>Motto</rdfs:label>
<rdfs:comment xml:lang="de"> <rdfs:comment xml:lang="de">
Motto (Inscriptio, Lemma) ist ein kurzer Sinnspruch aus kanonischen Texten antiker Schriftsteller oder der Bibel. Motto (Inscriptio, Lemma) ist ein kurzer Sinnspruch aus kanonischen Texten antiker Schriftsteller oder der Bibel.
...@@ -81,7 +109,7 @@ ...@@ -81,7 +109,7 @@
</rdfs:Class> </rdfs:Class>
<rdfs:Class rdf:about="http://uri.hab.de/ontology/emblem#Subscriptio"> <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:label>Subscriptio</rdfs:label>
<rdfs:comment xml:lang="de"> <rdfs:comment xml:lang="de">
Die Subscriptio oder Epigram ist ein meist metrischer Text (häufig in epigrammatischer Form), der als Verbindung Die Subscriptio oder Epigram ist ein meist metrischer Text (häufig in epigrammatischer Form), der als Verbindung
...@@ -106,25 +134,34 @@ ...@@ -106,25 +134,34 @@
</rdfs:comment> </rdfs:comment>
</rdfs:Class> </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: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:subPropertyOf rdf:resource="http://purl.org/dc/terms/hasPart"/>
<rdfs:range rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/> <rdfs:range rdf:resource="http://uri.hab.de/ontology/emblem#EmblemPart"/>
<rdfs:domain rdf:resource="http://uri.hab.de/ontology/emblem#Emblem"/> <rdfs:domain rdf:resource="http://uri.hab.de/ontology/emblem#Emblem"/>
</rdfs:Property> </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: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"/> <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: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:seeAlso rdf:resource="http://www.europeana.eu/schemas/edm/isShownBy"/>
</rdfs:Property> </rdfs:Property>
<rdfs:Property rdf:about="http://uri.hab.de/ontology/emblem#isShownAt"> <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:seeAlso rdf:resource="http://www.europeana.eu/schemas/edm/isShownAt"/>
</rdfs:Property> </rdfs:Property>
......
<xsl:transform version="1.0" <xsl:transform version="1.0"
xmlns:dct="http://purl.org/dc/terms/" xmlns:dct="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/" 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: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:xsl="http://www.w3.org/1999/XSL/Transform"> 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"> <xsl:template match="rdf:RDF">
<html> <html>
<head> <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"> <style type="text/css">
body { max-width: 60em; margin: 0 auto; } body { max-width: 60em; margin: 0 auto; font-family: "Open Sans", sans-serif; }
table { border-collapse: collapse; width: 100%; border: thin dotted grey; margin-bottom: 1em; } table, tr, th, td { border-collapse: collapse; }
th, td { text-align: left; vertical-align: top; } th { text-align: left; vertical-align: top; }
tbody th { width: 15em; } th, td { padding: 0.25em 0.5em; }
thead th { background-color: black; color: white; }
tr[lang=de] { font-size: small; }
</style> </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> </head>
<body> <body>
<h1><xsl:value-of select="rdf:Description/dct:title"/></h1> <xsl:apply-templates select="rdf:Description"/>
<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>
<h2>Classes</h2> <h2>Classes</h2>
<xsl:for-each select="rdfs:Class"> <xsl:apply-templates 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>
<h2>Properties</h2> <h2>Properties</h2>
<xsl:for-each select="rdfs:Property"> <xsl:apply-templates 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>
</body> </body>
</html> </html>
</xsl:template> </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> </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