Git Product home page Git Product logo

arche-doorkeeper's Introduction

arche-doorkeeper

Latest Stable Version Build status Coverage Status License

A set of arche-core handlers implementing the ACDH business logic.

Checks metadata consistency, manages automatically managed metadata properties, etc.

arche-doorkeeper's People

Contributors

asilcetin avatar nczirjak-acdh avatar zozlak avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

arche-doorkeeper's Issues

More strict cardinality checks

Currently we are only checking a minimum cardinality. We should also check maximum/exact ones taking into account they mean maximum/exact per language.

remove time from date string

according to our ontology e.g. hasCoverageStartDate has range http://www.w3.org/2001/XMLSchema#date but currently doorkeepers accepts dateTime strings as well; either reject them or transform them to proper iso-dates

Make the biblatex check smarter

At the moment the check determines if the content is a full biblatex record or only a set of properties by checking literally if the first character is @. This check fails for content beginning with whitespaces (which is common when it comes from a pretty-formatted XMLs). It should be addressed.

Creation of PID failes

running the script ids_and_binaries.php failed to create handle-PIDs

example resource

<rdf:RDF xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:acdh="https://vocabs.acdh.oeaw.ac.at/schema#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xml:base="https://id.acdh.oeaw.ac.at/">
  <acdh:Resource rdf:about="https://id.acdh.oeaw.ac.at/rita/editions/inventar__1756-03-15.xml">
      <acdh:isPartOf rdf:resource="https://id.acdh.oeaw.ac.at/rita/editions"/>
      <acdh:hasTitle xml:lang="de">1756 III 15 – 1756 III 29, Saalen (in der Benefiziaten-Behausung) [Stainer Sebastian Joseph (Benefiziat)]</acdh:hasTitle>
      <acdh:hasNonLinkedIdentifier xml:lang="de">Archivsignatur: Südtiroler Landesarchiv (SLA) Inventare des Mittleren Pustertals Pos. Nr. 760 </acdh:hasNonLinkedIdentifier>
      <acdh:hasCoverageStartDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1756-03-15</acdh:hasCoverageStartDate>
      <acdh:hasCoverageEndDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1756-03-15</acdh:hasCoverageEndDate>
      <acdh:hasRelatedDiscipline rdf:resource="https://vocabs.acdh.oeaw.ac.at/oefosdisciplines/601"/>
      <acdh:hasMetadataCreator rdf:resource="https://d-nb.info/gnd/1043833846"/>
      <acdh:hasCurator rdf:resource="https://d-nb.info/gnd/1043833846"/>
      <acdh:hasContact rdf:resource="https://d-nb.info/gnd/1133094783"/>
      <acdh:hasDepositor rdf:resource="https://d-nb.info/gnd/1133094783"/>
      <acdh:hasPid>create</acdh:hasPid>
      <acdh:hasLicensor rdf:resource="https://d-nb.info/gnd/16332395-1"/>
      <acdh:hasLicense rdf:resource="https://vocabs.acdh.oeaw.ac.at/archelicenses/cc-by-4-0"/>
      <acdh:hasOaiSet rdf:resource="https://vocabs.acdh.oeaw.ac.at/archeoaisets/kulturpool"/>
      <acdh:hasOaiSet rdf:resource="https://vocabs.acdh.oeaw.ac.at/archeoaisets/clarin-vlo"/>
      <acdh:hasLanguage rdf:resource="https://vocabs.acdh.oeaw.ac.at/iso6393/deu"/>
      <acdh:hasOwner rdf:resource="https://d-nb.info/gnd/16332395-1"/>
      <acdh:hasRightsHolder rdf:resource="https://d-nb.info/gnd/36165-3"/>
      <acdh:hasCategory rdf:resource="https://vocabs.acdh.oeaw.ac.at/archecategory/text/tei"/>
      <acdh:hasCreator rdf:resource="https://d-nb.info/gnd/1133094783"/>
      <acdh:hasAvailableDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2021-04-01+02:00</acdh:hasAvailableDate>
  </acdh:Resource>
</rdf:RDF>

same data source as mentioned in the script can be found here https://rita.acdh.oeaw.ac.at/archeutils/ids.xql

Better acdh:hasTitle merging rules

For all classes new acdh:hasTitle values should only overwrite existing values in the same language. Existing values in other languages should be kept (it's not a case now due to default RDF merging rules we use).

checkAutoCreatedResources() should allow resources which passed the checkRanges check

With the new approach to the named entities handling we will by design leave "empty" resources in the repository. They should be accepted until they were covered by the checkRanges check. Unfortunately it's not easy to tell because their class is derived from the property relating to them and the namespaces check is regex-based so a precise at-the-end-of-transaction check would need to be pretty complex. Still we can't just release the check because we currently allow creation of "empty" resources for properties which range isn't defined in the checkRanges (or which are out of ontology).

Handle CMDI PIDs for resources in the clarin-vlo OAI-PMH set.

If a resource belongs to the $cfg.doorkeeper.epicPid.clarinSet OAI-PMH set and PID generation is turned on, a separate PID should be generated for the CMDI record and stored in the $cfg.schema.cmdiPid. The PID should point to the additional ID created as {$cfg.schema.namespaces.id}/cmdi/{resource internal integer ID}.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.