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

resolving multi-range ontology descriptors #8

Open
mamund opened this issue May 20, 2021 · 2 comments
Open

resolving multi-range ontology descriptors #8

mamund opened this issue May 20, 2021 · 2 comments

Comments

@mamund
Copy link
Member

mamund commented May 20, 2021

how do we handle schema.org elements with range values?

@dillonredding
Copy link
Collaborator

To expand on that a bit, there are two things here.

First, there's an issue in the current generated taxonomic descriptors (complex schemas), specifically around referencing ontological descriptors (properties) with multiple types (rangeIncludes has multiple values). For example, in Thing.json:

{
  "id": "Thing",
  "def": "https://schema.org/Thing",
  "descriptor": [
    { "href": "./identifier.json#identifier" }
  ]
}

However, identifier.json does not contain the ID identifier, which leads to the second part: how do we handle the generated ontology descriptors? Should we include a "default" descriptor and leave the taxonomic descriptors unchanged? For example,

[
  {
    "id": "identifier",
    "def": "https://schema.org/identifier",
    "name": "identifier",
    "type": "semantic"
  },
  {
    "id": "identifierPropertyValue",
    "def": "https://schema.org/identifier",
    "name": "identifier",
    "type": "semantic"
  },
  {
    "id": "identifierText",
    "def": "https://schema.org/identifier",
    "name": "identifier",
    "type": "semantic"
  },
  {
    "id": "identifierURL",
    "def": "https://schema.org/identifier",
    "name": "identifier",
    "type": "semantic"
  }
]

Or should we denorm a reference to each ontological descriptor in the taxonomic descriptors?

{
  "id": "Thing",
  "def": "https://schema.org/Thing",
  "descriptor": [
    { "href": "./identifier.json#identifierPropertyValue" },
    { "href": "./identifier.json#identifierText" },
    { "href": "./identifier.json#identifierURL" }
  ]
}

@mamund
Copy link
Member Author

mamund commented May 22, 2021

i am currently doing the "denorm-ed" approach in my ALPS work. IOW, I continue to go as flat as possible in my ALPS documents. it seems to me to be consistent (if not pretty) and doesn't hide anything or bake assumptions into the output. happy to get feedback on that.

FWIW, this project was originally started by @leonardr and myself as a way to explore how closely (or not) existing vocabularies like schema.org would fit w/ ALPS. i assume we are not likely to get a "high fidelity" fit but i would like to see us come up with a "good enough" fit between existing vocabularies (like schema.org, deblin core, microformats, etc.) and the way ALPS uses them.

it might be worth it to see if @koriym's issue on the spec repo (alps-io/spec#110) about hierarchical descriptors has implications for this import work, too.

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

No branches or pull requests

2 participants