Skip to content

Ballot 4#166

Merged
jgeluk merged 18 commits into
developfrom
ballot/4
May 7, 2026
Merged

Ballot 4#166
jgeluk merged 18 commits into
developfrom
ballot/4

Conversation

@jgeluk

@jgeluk jgeluk commented Feb 25, 2026

Copy link
Copy Markdown
Member

Ballot 4 Consolidation

This PR consolidates the Ballot 4 changes from ballot/4 into develop.

Included PRs (merged into ballot/4)

Notes

Ballot Process Status

This PR should remain open until Ballot 4 voting is complete.
Do not merge into develop before vote approval.

jgeluk and others added 8 commits February 18, 2026 17:40
Add the dprod-shapes namespace (https://ekgf.github.io/dprod/shapes/)
to the spec's normative namespaces section and remove unused sdo prefix
from dprod-shapes.ttl.

Resolves: DPROD-16, #29

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add RDFS.label to IGNORED_NODE_SHAPE_PREDICATES so that shape labels
(ending in " shape") no longer overwrite OWL class labels in the
generated specification. Also remove a stale merge conflict marker
in main.py.

Resolves: DPROD-18, #79

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add "Retire" as a terminal lifecycle status for obsolete data products,
aligning with the CDMC source document.

Resolves: DPROD-17, #28

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Apply the ODRL fixes described in #83:
- Change policy type from Offer to Agreement (required to have assignee)
- Add assignee as PartyCollection with spatial refinement
- Move spatial constraint from permission constraint to assignee refinement
- Change action from odrl:read to odrl:use (read is not an ODRL term)
- Update README.md inline example to match

Resolves: DPROD-20, #83

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Move assigner/target inside permission and add source to
PartyCollection, as suggested by @joshcornejo.

Co-Authored-By: Josh Cornejo <10956002+joshcornejo@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
…DPROD-23, Closes #101)

Co-authored-by: Cursor <cursoragent@cursor.com>
…rdfs:label on securitySchemaType (DPROD-24, Closes #98, #141, #139)

Co-authored-by: Cursor <cursoragent@cursor.com>
@jgeluk jgeluk changed the title Ballot 4: consolidate DPROD-16, 17, 18, 20 and data-rights example Ballot 4 Mar 4, 2026
jgeluk added 6 commits March 4, 2026 17:31
Merges DPROD-17 into ballot/4.

**Issue:** #28 — Include a terminal state for the Data Product

**Changes:**
- `ontology/dprod/dprod-ontology.ttl`: add Retire to
DataProductLifecycleStatus enumeration
- `ontology/dprod/dprod-shapes.ttl`: align shapes with ontology

Part of ballot/4 consolidation (DPROD-16, DPROD-17, DPROD-18, DPROD-20,
joshcornejo-patch-2 → ballot/4).

Made with [Cursor](https://cursor.com)
Merges DPROD-16 into ballot/4.

**Issue:** #29 — define dprod: prefix in namespace section

**Changes:**
- `ontology/dprod/dprod-shapes.ttl`: namespace/prefix for shapes
- `respec/template.html`: add dprod-shapes prefix to normative
namespaces table

Part of ballot/4 consolidation (DPROD-16, DPROD-17, DPROD-18, DPROD-20,
joshcornejo-patch-2 → ballot/4).

Made with [Cursor](https://cursor.com)
Merges DPROD-18 into ballot/4.

**Issue:** #79 — Use of "shape" in rdfs:label of shapes makes its way
into spec

**Changes:**
- `spec-generator/globals.py`: ignore shape-related predicates so SHACL
labels don't leak
- `spec-generator/main.py`: align with globals

Part of ballot/4 consolidation (DPROD-16, DPROD-17, DPROD-18, DPROD-20,
joshcornejo-patch-2 → ballot/4).

Made with [Cursor](https://cursor.com)
#164)

Merges DPROD-20 into ballot/4.

**Issues:** #81 (7.6 Data Rights), #82 (Example 1), #83 (Example 2)

**Changes:**
- `examples/data-rights/example.jsonld`: correct ODRL modeling
- `examples/data-rights/README.md`: align docs

Part of ballot/4 consolidation (DPROD-16, DPROD-17, DPROD-18, DPROD-20,
joshcornejo-patch-2 → ballot/4).

Made with [Cursor](https://cursor.com)
…#168)

Merges **DPROD-23** into ballot/4.

**OMG JIRA:** DPROD-23  
**GitHub issue:** #101 — Typo in Worked Examples - Core Data Product
Extensions

**Change:** In `examples/core-data-product-extensions/README.md`,
Example 2: correct `@type` from `ex:DataProductagreement` to
`ex:DataProductAgreement`.

Closes #101.

Made with [Cursor](https://cursor.com)
…l (DPROD-24, #98) (#169)

Merges **DPROD-24** into ballot/4.

**OMG JIRA:** DPROD-24  
**GitHub issue:** #98 — ontology issues (references to dcat:Protocol and
dcat:SecuritySchemaType; rdfs:label on securitySchemaType)

**Changes:**
- `ontology/dprod/dprod-shapes.ttl`: `sh:class dcat:Protocol` →
`sh:class dprod:Protocol`; `sh:class dcat:SecuritySchemaType` →
`sh:class dprod:SecuritySchemaType` (fixes #141)
- `ontology/dprod/dprod-ontology.ttl`: `rdf:label` → `rdfs:label` on
`dprod:securitySchemaType` (fixes #139)

Closes #98, #141, #139.

Made with [Cursor](https://cursor.com)
@jgeluk jgeluk marked this pull request as ready for review March 4, 2026 17:33
jgeluk and others added 2 commits March 4, 2026 17:39
Supersedes #165.

Applies the intended examples/data-rights/example.jsonld variant from
the original joshcornejo-patch-2 PR onto current ballot/4 via a fresh
signed branch, avoiding legacy branch-history signature conflicts.

Issue: #83.
@jgeluk jgeluk self-assigned this Mar 4, 2026
@jgeluk jgeluk added OMG Ballot OMG ballot submission ballot4 labels Mar 4, 2026
jgeluk and others added 2 commits April 13, 2026 16:02
## Summary
- Each class section in the generated spec now renders an `Identifier:`
row, mirroring the existing property layout.
- Readers can immediately see the prefixed name (e.g.
`dcat:DataService`) and click through to the defining vocabulary for
external classes; DPROD-local classes self-link to their in-page
section.
- Addresses Vladimir Alexiev's feedback in #97 that `DataService` alone
is ambiguous about whether DPROD is redefining `dcat:DataService` or
reusing it.

Resolves: DPROD-21, Closes #97

## Test plan
- [x] `bash build.sh` / `python spec-generator/main.py` succeeds
- [x] `dist/index.html` shows `Identifier: dprod:DataProduct` at
`#dataproductshape`
- [x] `dist/index.html` shows `Identifier: dcat:DataService` linking to
`http://www.w3.org/ns/dcat#DataService` at `#dataserviceshape`
- [ ] Visual review of all class sections in the rendered spec

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
## Summary
- Removes the `dprod:Protocol` OWL class, resolving the modeling
question in #143 (part of #98).
- `dprod:protocol` now points to a URI / SKOS concept rather than an
under-specified class.

Resolves: DPROD-33, Closes #143

## Test plan
- [ ] `bash build.sh` succeeds
- [ ] Generated spec in `dist/index.html` no longer references
`dprod:Protocol`
- [ ] Examples still validate against updated shapes

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented May 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
dprod Error Error May 7, 2026 0:11am

@jgeluk jgeluk merged commit ed07bf2 into develop May 7, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ballot4 OMG Ballot OMG ballot submission

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant