1 Format

 Eine Visitenkarte wird durch ein JSON-Objekt repräsentiert. Dieses JSON Objekt beinhaltet obligatorische wie optionale Schlüssel/Werte-Paare.

Neben allgemeinen Informationen zur Applikation werden auch die speziellen Services mitgeteilt, die extern nutzbar sind (Suche, Harvesting, Tools).

Die Visitenkarte einer Applikation kann auf zwei Wegen bereitgestellt werden. Zum einen als API-Endpunkt, zum anderen eingebettet in die Startseite im JSON-LD Format. Die URLs von Endpunkt bzw. Startseite werden dann, nach Registrierung in einem Adressbuch, abgefragt und die resultierenden Inhalte  ausgewertet.

1.1 API-Endpunkt

 Der API-Endpunkt ist über eine gleichbleibende URL von externen Systemen abrufbar. Beim Aufruf dieser URL generiert die angefragte Applikation ihre Visitenkarte im JSON Format.

Es sollte der entsprechende Content-Type Header gesetzt werden:

 Content-Type: application/json

1.2 JSON-LD

 Das generierte JSON Objekt kann auch als Metadatum in die Startseite der Applikation eingebaut werden. Dazu wird es in ein script tag vornehmlich im head-Bereich eingebettet:

<script type="application/ld+json">
 [...]
</script>

2 Vokabular/Datenstruktur

 Als Vokabular für eine Visitenkarte dient schema.org. Alle Einträge können auf standardisierte Typen und Properties abgebildet werden. Im Folgenden wird die Struktur der Visitenkarte beschrieben. Nebst einer Kurzbeschreibung wird angegeben, ob der Wert eine Pflichtangabe ist und um welchen Typ es sich handelt (mit Bezug zu schema.org). Wenn erforderlich wird der Wertebereich festgelegt und kurze Beispiele gegeben.

3 Beispiel


 

 

{
   "@context":"http://schema.org/",
   "id":"https://playground.oer-contentbuffet.info/edu-sharing/",
   "type":"Service",
   "name":"Jointly OER Playground",
   "url":"https://playground.oer-contentbuffet.info/edu-sharing/",
   "image":"https://playground.oer-contentbuffet.info/edu-sharing/assets/images/sources/home.png",
   "logo":"https://playground.oer-contentbuffet.info/edu-sharing/assets/images/edu-white-alpha.svg",
   "inLanguage":[
      "de",
      "en"
   ],
   "description":"Das Verbundprojekt JOINTLY unterstützt OER-Akteure bei der Entwicklung und Verbreitung ihrer offenen Bildungsmaterialien. Es vermittelt die Beratung durch ExpertInnen zu Recht, Produktion, Didaktik und IT und organisiert Kooperationsaktivitäten zwischen OER-Akteuren. JOINTLY entwickelt gemeinschaftlich OER-förderliche Softwarewerkzeuge sowie Arbeits- und Vertriebsinstrumente.",
   "additionalType":"Repository",
   "audience":[
      {
         "type":"EducationalAudience",
         "educationalRole":{
            "id":"http://purl.org/dcx/lrmi-vocabs/educationalAudienceRole/teacher",
            "label":"Teacher"
         }
      },
      {
         "type":"EducationalAudience",
         "educationalRole":{
            "id":"http://purl.org/dcx/lrmi-vocabs/educationalAudienceRole/peerTutor",
            "label":"Peer Tutor"
         }
      }
   ],
   "about":{
      "id":"https://w3id.org/class/esc/n0541",
      "label":"Mathematik"
   },
   "isAccessibleForFree":true,
   "provider":[
      {
         "type":"Organization",
         "name":"JOINTLY – Qualifizierung und kooperative Unterstützung für OER – ein Buffet der Kooperation",
         "email":"info@jointly.info",
         "location":{
            "type":"Place",
            "geo":{
               "longitude":11.3271834,
               "latitude":50.9736279
            },
            "address":{
               "type":"PostalAddress",
               "addressCountry":"DE",
               "streetAddress":"Bauhausstraße 7c",
               "postalCode":"99423",
               "addressLocality":"Weimar"
            }
         }
      }
   ],
   "startDate":"2017-06-01",
   "availableChannel":[
      {
         "type":"ServiceChannel",
         "additionalType":"OAI-PMH Interface",
         "serviceUrl":"https://playground.oer-contentbuffet.info/oai",
         "availableLanguage":[
            "de",
            "en"
         ]
      },
      {
         "type":"ServiceChannel",
         "additionalType":"WebAPI",
         "serviceUrl":"https://playground.oer-contentbuffet.info/edu-sharing/rest",
         "availableLanguage":[
            "de",
            "en"
         ],
         "documentation":"https://playground.oer-contentbuffet.info/edu-sharing/swagger/index.html"
      }
   ],
   "license":[
      "https://creativecommons.org/licenses/by-sa/4.0/deed.de",
      "https://creativecommons.org/licenses/by/4.0/deed.de"
   ],
   "version":"1",
   "dateModified":"2019-01-22",
   "sameAs":[
      "https://jointly.info/",
      "https://twitter.com/OER_JOINTLY"
   ]
}

 

 

3. Conformance Testing

Nachdem 2. endgültig abgestimmt, wird ein JSON Schema zur Validierung erstellt (s. AP https://git.io/fAJNd )

4. Nomenklatur


API  Application Programming Interface

DC  Dublin Core

LOM   Learning Object Metadata

LOR  Learning Object Repository

DOI  Digital Object Identifier

DRI  Digital Repositories Interoperability

GUID  Globally Unique Identifier

HTTP  Hypertext Transfer Protocol

JSON  JavaScript Object Notation

JSON-LD  JavaScript Object Notation for Linked Data

OAI-PMH Open Archives Initiative – Protocol for Metadata Harvesting

W3C  World Wide Web Consortium

Referenzen und Links

https://schema.org

https://json-ld.org/

https://www.imsglobal.org/metadata/index.html

http://www.openarchives.org/rs/1.1/resourcesync

https://www.openarchives.org/pmh/

http://lrmi.dublincore.org/specifications/

https://www.sitemaps.org/protocol.html

http://www.opensearch.org/Home

http://osid.org/specifications/osid/repository/RepositoryProfile.html