Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework odd #67

Merged
merged 60 commits into from
Nov 21, 2024
Merged

Rework odd #67

merged 60 commits into from
Nov 21, 2024

Conversation

ingoboerner
Copy link
Collaborator

Create a TEI customization (based on TEI Drama ODD) that implements the necessary restrictions for the DraCor API to work.

The derived schema can be used to validate TEI files to be included in DraCor corpora. It allows for greater flexibility in the application of the TEI Guidelines than the original "legacy" ODD derived schema.

The conformance to the API will be tested with Schematron rules that are embedded into the RelaxNG schema.

The ODD also includes definitions for the so-called "features" that were identified in the CLS INFRA Deliverable "On Programmable Corpora" (https://zenodo.org/records/7664964). It includes the explanations of the features developed for the API Ontology (https://github.com/ingoboerner/dracor-ontology/blob/main/v1/dracor_api_ontology.ttl) The identifiers of the features (xml:id s) should allow a automatic linking to the Schemas in the OpenAPI spec (originally, including the links to the ontology, e.g. https://github.com/dracor-org/dracor-api/blob/extend_openapi/api.yaml#L1637-L1639)

At some point it should be possible to gather all <constraintSpec> elements (currently linked with @corresp to the

describing the feature) that are relevant for a feature and thus test if a TEI file in question can be processed by the API to return data on a feature.

The examples from the legacy ODD have been moved to a separate ODD file; eventually it would make sense to re-include them; an open question remains how to proceed in regards to the "Encoding Guidelines" included as a draft in the legacy ODD.

For the initial discussion see also issue #66.

@ingoboerner ingoboerner assigned cmil and unassigned cmil Jun 21, 2024
@ingoboerner ingoboerner requested a review from cmil June 21, 2024 09:13
@ingoboerner ingoboerner self-assigned this Jun 21, 2024
@ingoboerner
Copy link
Collaborator Author

ingoboerner commented Jun 25, 2024

Do we want a warning on the edge case, e.g. pantomime:

<body>
      <div type="act">
        <stage>This is an edge case, e.g. pantomime.</stage>
      </div>
</body>

Schematron rule in <constraintSpec ident="network_check_basic_play_structure_sp"/> would warn that there are no speech acts. But I have rule <constraintSpec ident="network_play_without_speaking_characters"/> that triggers on this edge case and suggests in the case of

<body>
      <div type="act">
<!-- empty -->
      </div>
</body>

to add at least a stage direction.

@ingoboerner
Copy link
Collaborator Author

This is done in tei drama customization, I first uncommented it, not remove it alltogether... not 100% sure why it was there in the first place but it was already switched off in the current working draft:

<!-- <classSpec predeclare="true" module="linking" xml:id="CLLINK"
                type="atts" ident="att.global.linking" mode="change">
                <desc xml:lang="en" versionDate="2014-01-12">defines the
                    attributes used for aggregating partial elements into a
                    single virtual element.</desc>
                <attList>
                    <attDef ident="corresp" usage="opt" mode="delete"/>
                    <attDef ident="synch" usage="opt" mode="delete"/>
                    <attDef ident="sameAs" usage="opt" mode="delete"/>
                    <attDef ident="copyOf" usage="opt" mode="delete"/>
                    <attDef ident="next" usage="opt" mode="change">
                        <valDesc mode="change">a URI which should point to an element of
                            the same type, typically within the same document</valDesc>
                    </attDef>
                    <attDef ident="prev" usage="opt" mode="change">
                        <valDesc mode="change">a URI which should point to an element of
                            the same type, typically within the same document</valDesc>
                    </attDef>
                    <attDef ident="exclude" usage="opt" mode="delete"/>
                    <attDef ident="select" usage="opt" mode="delete"/>
                </attList>     
            </classSpec> -->

@ingoboerner
Copy link
Collaborator Author

I have still 14 closed value lists. Will relax the restrictions of all of them but indicate which values are supported by the API as tested with the <event>. Later we can use Schematron to provide encoding hints.

  • <biblScope>, @type: "volume" and "page"
  • <classCode>: only "wikidata" of @type
  • <forename>: @type "patronym"
  • <l>: some rendering options?
  • <listRelation>: used to restrict it to the encoding of social relations "personal"
  • <castGroup>: use of @rend "braced" to display the curly brackets in the output
  • <name>: @type "variant"
  • <persName>: @type: "variant", "pen", "nobility", "pseudo"
  • <person>: @sex
  • <personGrp>attribute @sex: Maybe this could even be done globally on this attribute
  • <relation>: @name: "parent_of", "lover_of", ...
  • <surname>: @sort
  • <title>: @type: "main", "sub"
  • <titlePart>: @type: "main", "sub"

@ingoboerner
Copy link
Collaborator Author

OK, now I am running into troubles: As @lehkost pointed out in issue #46 there is a more recent release of the guidelines than installed in my Oxygen ODD Framework. An since version (see the issue) there has been a change to encoding sex/gender which is not reflected in our current way of encoding + is not reflected in the schema that I am currently producing. Don't know how to best proceed with this issue at the moment

@cmil
Copy link
Member

cmil commented Nov 8, 2024

OK, now I am running into troubles: As @lehkost pointed out in issue #46 there is a more recent release of the guidelines than installed in my Oxygen ODD Framework. An since version (see the issue) there has been a change to encoding sex/gender which is not reflected in our current way of encoding + is not reflected in the schema that I am currently producing. Don't know how to best proceed with this issue at the moment

If there isn't a strong reason that prevents us from doing so I would suggest to base our ODD on the latest TEI version which at the moment is 4.8.1 (https://github.com/TEIC/TEI/releases).

@ingoboerner Can you update your Oxygen framework to that version?

@cmil cmil merged commit ed3da1e into dracor-org:rework-odd Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants