opencaesar / oml

Ontological Modeling Language (OML)
https://opencaesar.github.io/oml/
Apache License 2.0
24 stars 4 forks source link

[BUG] - Faceted Scalar should call out requirement #98

Open mprather opened 2 years ago

mprather commented 2 years ago

Description

If a user takes the approach of minimalist development (i.e. use only what is needed) to build up to a project, the documentation states a fact but assumes the underlying config is set.

In section 3.2.2.5, the following is stated:

OML considers a following set of faceted scalars as standard:

However, if the underlying config does not include the correct dependencies in the gradle download task, these items will not be available.

So, the question is how?

Steps to Reproduce

  1. Since the developer is starting with a lean and mean project and they have no intent to ingest other vocabs, the typical dependency section might be empty (or simply not listed as a dependency).
  task omlToOwl(type:io.opencaesar.oml2owl.Oml2OwlTask, dependsOn: []) {
   // details omitted for clarity
  }
  1. Build task is basically used to reason on the oml and stop (i.e. convert to owl but does not load data into fuseki, gen reports, etc.)
  2. Developer reads section 3.2.2.5 and attempts to use a standard faceted scalar. They add the necessary extends markup to their vocabulary.
  3. Attempt to run build

Result:

Execution failed for task ':omlToOwl'.
> java.io.FileNotFoundException: C:\src\build\oml\www.w3.org\2001\XMLSchema.omljson (The system cannot find the path specified)

The error does give a good clue. Documentation states it is standard. Seems like it should work but some info is missing.

Expected Behavior

The documentation should call out what is needed to get the "standard" stuff. In this case, the following gradle dependency was added to direct the download.

  task omlToOwl(type:io.opencaesar.oml2owl.Oml2OwlTask, dependsOn: [downloadDependencies]) {
   // details omitted for clarity
  }

where then the dependency chain was updated to eventually include the dependencies defined as...

dependencies {
  // Reference: https://repo1.maven.org/maven2/io/opencaesar/
  oml "io.opencaesar.ontologies:core-vocabularies:3+"
}

If this is already called out in existing documentation, a link in the section to the existing documentation would be helpful.

melaasar commented 1 year ago

Added a note about that in 3.2.2.5: http://www.opencaesar.io/oml/#FacetedScalar-LR