Skip to content
This repository has been archived by the owner on Jul 1, 2022. It is now read-only.

Commit

Permalink
Introduce new class: Manifestation
Browse files Browse the repository at this point in the history
- rename: manifestationOfWork => manifestationOf
  • Loading branch information
tim committed Sep 6, 2017
1 parent e96f3c0 commit ec0e795
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 24 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -1264,7 +1264,7 @@ Transforming to JSON-LD, we get:
"@id": "#digitalManifestation",
"@type": "Manifestation",
"name": "The Fellowship of the Ring",
"manifestationOfWork": "#creation",
"manifestationOf": "#creation",
"digitalWork": "<URI pointing to file>",
"fingerprints": [
"Qmbs2DxMBraF3U8F7vLAarGmZaSFry3vVY5zytuN3BxwaY",
Expand All @@ -1276,7 +1276,7 @@ Transforming to JSON-LD, we get:
"@id": "#physicalManifestation",
"@type": "Manifestation",
"name": "The Fellowship of the Ring",
"manifestationOfWork": "#creation",
"manifestationOf": "#creation",
"datePublished": "29-07-1954",
"locationCreated": "<URI pointing to a Place>"
}
Expand All @@ -1303,7 +1303,7 @@ linked with hashes:
"@context": { "/": "<hash pointing to coalaip.schema's context>" },
"@type": "Manifestation",
"name": "The Fellowship of the Ring",
"manifestationOfWork": { "/": "<hash pointing to the Work>" },
"manifestationOf": { "/": "<hash pointing to the Work>" },
"digitalWork": { "/": "<hash pointing to a file on e.g. IPFS>" },
"fingerprints": [
"Qmbs2DxMBraF3U8F7vLAarGmZaSFry3vVY5zytuN3BxwaY",
Expand All @@ -1317,7 +1317,7 @@ linked with hashes:
"@context": { "/": "<hash pointing to coalaip.schema's context>" },
"@type": "Manifestation",
"name": "The Fellowship of the Ring",
"manifestationOfWork": { "/": "<hash pointing to the Work>" },
"manifestationOf": { "/": "<hash pointing to the Work>" },
"datePublished": "29-07-1954",
"locationCreated": { "/": "<hash pointing to a Place>" }
}
Expand Down
41 changes: 26 additions & 15 deletions schema/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,9 @@ Adhering to these patterns helps you to avoid the creation of models that are to
an immutable context. For example, consider the [`Creation`](#rrm-creation) entity: although the
schema allows a `Work` to declare its manifestations through the [workExample property](http://schema.org/workExample),
doing so would inherently lock the `Work` into only these `Manifestation`s. You can avoid this
problem by declaring your `Work`s and `Manifestation`s separately, using the [`manifestationOfWork`
property](#rrm-creation) (alias of [`exampleOfWork`](http://schema.org/exampleOfWork)) in the
`Manifestation`s to create a link to its `Work`. Another feature of this pattern is that you only
have to declare a nested model once, even if multiple parents should be linked to it.
problem by declaring your `Work`s and `Manifestation`s separately, using the `Manifestation` class
and then link to `AbstractWork` using the `manifestationOf` (alias of [`exampleOfWork`](http://schema.org/exampleOfWork))
property.

When relying on inter-object links rather than nested objects, you may find that some properties
from schema.org expect an object or value rather than a link. To handle this, you can either use an
Expand Down Expand Up @@ -250,16 +249,18 @@ An example of a localizable `Place`:

`Creation`s are represented by [schema.org/CreativeWork](http://schema.org/CreativeWork)s and its
subtypes (such as [schema.org/Book](http://schema.org/Book)). To differentiate between the different
`CreationMode`s (`lcc:Manifestation` or `lcc:Work`), we define our own AbstractWork class
(subclassed from schema.org's CreativeWork) for `Work`s and allow `Manifestation`s to be of
CreativeWork (or any non-AbstractWork subtype of CreativeWork).
`CreationMode`s (`lcc:Manifestation` or `lcc:Work`), we define

- our own `AbstractWork` class (subclassed from schema.org's CreativeWork) for in-perceivable creations;
- and a `Manifestation` class (subclassed from `coala:AbstractWork`) for perceivable creations.


`Manifestation`s that include a [`url`](http://schema.org/url) property are considered digital
`Manifestation`s while all others are physical `Manifestation`s. See the [schema.org/CreativeWork
definition](http://schema.org/CreativeWork) for the Linked Data context.

An additional `manifestationOfWork` (equivalent to [`exampleOfWork`](http://schema.org/exampleOfWork))
property is defined to link `Manifestation`s back to their `Work`. `Manifestation`s must contain
An additional `manifestationOf` (equivalent to [`exampleOfWork`](http://schema.org/exampleOfWork))
property is defined to link `Manifestation`s back to their `AbstractWork`. `Manifestation`s must contain
a valid link in this property, and `Work`s must not contain this property.

Our own vocabulary definitions for `Creation`s:
Expand All @@ -275,9 +276,19 @@ Our own vocabulary definitions for `Creation`s:
...
}

// ManifestationOfWork Property
// Manifestation Class
{
"@id": "<coalaip placeholder>/Manifestation",
"@type": "rdfs:Class",
"rdfs:subClassOf": {
"@id": "coala:AbstractWork"
},
...
}

// ManifestationOf Property
{
"@id": "<coalaip placeholder>/manifestationOfWork",
"@id": "<coalaip placeholder>/manifestationOf",
"@type": "rdf:Property",
"schema:domainIncludes": {
"@id": "schema:CreativeWork"
Expand Down Expand Up @@ -320,7 +331,7 @@ An example of a `Work`, and its physical and digital `Manifestation`s:
"@type": "Book",
"@id": "<URI pointing to this object>",
"name": "The Fellowship of the Ring",
"manifestationOfWork": "<URI pointing to a AbstractWork object>",
"manifestationOf": "<URI pointing to a AbstractWork object>",
"isPartOf" "<URI pointing to a CreativeWork object>",
"author": "<URI pointing to a Person or Organization object>",
"datePublished": "29-07-1954",
Expand All @@ -337,7 +348,7 @@ An example of a `Work`, and its physical and digital `Manifestation`s:
"@type": "Book",
"@id": "<URI pointing to this object>",
"name": "The Fellowship of the Ring",
"manifestationOfWork": "<URI pointing to a AbstractWork object>",
"manifestationOf": "<URI pointing to a AbstractWork object>",
"isPartOf" "<URI pointing to a CreativeWork object>",
"author": "<URI pointing to a Person or Organization object>",
"datePublished": "29-07-1954",
Expand All @@ -364,7 +375,7 @@ An example of a `Work`, and its physical and digital `Manifestation`s:
],
"@type": "Book",
"name": "The Fellowship of the Ring",
"manifestationOfWork": { "/": "<hash pointing to a AbstractWork object>" },
"manifestationOf": { "/": "<hash pointing to a AbstractWork object>" },
"isPartOf" { "/": "<hash pointing to a CreativeWork object>" },
"author": { "/": "<hash pointing to a Person or Organization object>" },
"datePublished": "29-07-1954",
Expand All @@ -380,7 +391,7 @@ An example of a `Work`, and its physical and digital `Manifestation`s:
],
"@type": "Book",
"name": "The Fellowship of the Ring",
"manifestationOfWork": { "/": "<hash pointing to a AbstractWork object>" },
"manifestationOf": { "/": "<hash pointing to a AbstractWork object>" },
"isPartOf" { "/": "<hash pointing to a CreativeWork object>" },
"author": { "/": "<hash pointing to a Person or Organization object>" },
"datePublished": "29-07-1954",
Expand Down
5 changes: 3 additions & 2 deletions schema/coala_context.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
"schema": "http://schema.org/",

"AbstractWork": "coala:AbstractWork",
"Manifestation": "coala:Manifestation",
"Copyright": "coala:Copyright",
"DigitalFingerprint": "coala:DigitalFingerprint",
"Right": "coala:Right",
Expand All @@ -30,8 +31,8 @@
"@type": "@id"
},
"fingerprint": "coala:fingerprint",
"manifestationOfWork": {
"@id": "coala:manifestationOfWork",
"manifestationOf": {
"@id": "coala:manifestationOf",
"@type": "@id"
},
"numberOfUses": "coala:numberOfUses",
Expand Down
15 changes: 12 additions & 3 deletions schema/vocab/coala.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,15 @@
"rdfs:comment": "Abstract concept of a manifested Creation.",
"rdfs:label": "AbstractWork"
},
{
"@id": "coala:Manifestation",
"@type": "rdfs:Class",
"rdfs:subClassOf": {
"@id": "coala:AbstractWork"
},
"rdfs:comment": "A perceivable manifestation of an AbstractWork.",
"rdfs:label": "Manifestation"
},
{
"@id": "coala:Copyright",
"@type": "rdfs:Class",
Expand Down Expand Up @@ -172,7 +181,7 @@
"rdfs:label": "fingerprint"
},
{
"@id": "coala:manifestationOfWork",
"@id": "coala:manifestationOf",
"@type": "rdf:Property",
"schema:domainIncludes": {
"@id": "schema:CreativeWork"
Expand All @@ -183,8 +192,8 @@
"owl:equivalentProperty": {
"@id": "schema:exampleOfWork"
},
"rdfs:comment": "The parent Work of this Manifestation.",
"rdfs:label": "manifestationOfWork"
"rdfs:comment": "The parent AbstractWork of this Manifestation.",
"rdfs:label": "manifestationOf"
},
{
"@id": "coala:numberOfUses",
Expand Down

0 comments on commit ec0e795

Please sign in to comment.