Problem
We use <http://purl.org/dc/terms/partOf> in several places, but that term does not exist. The DCMI Terms vocabulary (namespace http://purl.org/dc/terms/) defines:
- ✅
dct:isPartOf — "A related resource in which the described resource is physically or logically included." (X dct:isPartOf Y = X is part of Y) — this is the correct property for a part→whole / "belongs to" link.
- ✅
dct:hasPart — the inverse.
- ❌
dct:partOf — not defined. <http://purl.org/dc/terms/partOf> is undefined/non-dereferenceable.
(A bare part_of exists in other vocabularies — e.g. OBO/RO BFO_0000050 — but not in dc/terms/.) So any triple using dct:partOf is effectively malformed and won't be recognized by DC-aware tooling or reasoners. It should be dct:isPartOf.
Filing here as the most convenient place to track it, though it's not Nanodash-code-specific — there are no occurrences in the Nanodash repo source (the only DC part-relation in code is dct:isPartOf, used correctly in ExplorePage.java). The actual usages are in published nanopub artifacts:
- Query / view / template nanopubs (e.g. the part-About "Belongs-to" info query).
- Possibly the
gen / spaces vocabulary and other repos.
- Possibly already-published data nanopubs that assert
dct:partOf.
Proposed work
- Enumerate all usages — sweep published query/view/template nanopubs (and vocab + related repos) for
http://purl.org/dc/terms/partOf to establish the blast radius.
- Correct the editable artifacts — supersede the affected query/template/view nanopubs to use
dct:isPartOf, and update any consuming code that reads partOf.
- Note the irreducible part — already-published immutable data nanopubs that assert
dct:partOf cannot be edited, only superseded; existing ones remain wrong in the record. Decide whether/how to migrate.
Direction check
dct:isPartOf points part → whole (resource dct:isPartOf owningResource). Confirm each call site intends that direction (vs. dct:hasPart) when correcting.
Problem
We use
<http://purl.org/dc/terms/partOf>in several places, but that term does not exist. The DCMI Terms vocabulary (namespacehttp://purl.org/dc/terms/) defines:dct:isPartOf— "A related resource in which the described resource is physically or logically included." (X dct:isPartOf Y= X is part of Y) — this is the correct property for a part→whole / "belongs to" link.dct:hasPart— the inverse.dct:partOf— not defined.<http://purl.org/dc/terms/partOf>is undefined/non-dereferenceable.(A bare
part_ofexists in other vocabularies — e.g. OBO/ROBFO_0000050— but not indc/terms/.) So any triple usingdct:partOfis effectively malformed and won't be recognized by DC-aware tooling or reasoners. It should bedct:isPartOf.Filing here as the most convenient place to track it, though it's not Nanodash-code-specific — there are no occurrences in the Nanodash repo source (the only DC part-relation in code is
dct:isPartOf, used correctly inExplorePage.java). The actual usages are in published nanopub artifacts:gen/ spaces vocabulary and other repos.dct:partOf.Proposed work
http://purl.org/dc/terms/partOfto establish the blast radius.dct:isPartOf, and update any consuming code that readspartOf.dct:partOfcannot be edited, only superseded; existing ones remain wrong in the record. Decide whether/how to migrate.Direction check
dct:isPartOfpoints part → whole (resource dct:isPartOf owningResource). Confirm each call site intends that direction (vs.dct:hasPart) when correcting.