microbiomedata / nmdc-schema

National Microbiome Data Collaborative (NMDC) unified data model
https://microbiomedata.github.io/nmdc-schema/
Creative Commons Zero v1.0 Universal
27 stars 8 forks source link

`nmdc.owl` is being generated with URIs like `<https://w3id.org/mixs/depth>` not `<https://w3id.org/mixs/0000018>` #1728

Open turbomam opened 8 months ago

turbomam commented 8 months ago

@aclum and @sujaypatil96 I have written SPARQL queries%0Awhere%20%7B%0A%20%20%20%20%3Fs%20%3Fp%20%3Fqv%20.%0A%20%20%20%20optional%20%7B%0A%20%20%20%20%20%20%20%20%3Fp%20rdfs%3Alabel%20%3Fpl%20.%0A%20%20%20%20%7D%0A%20%20%20%20%3Fqv%20a%20nmdc%3AQuantityValue%20.%0A%20%20%20%20minus%20%7B%0A%20%20%20%20%20%20%20%20%3Fqv%20nmdc%3Ahas_unit%20%3Fu%20.%0A%20%20%20%20%7D%0A%7D%0Agroup%20by%20%3Fp%20%3Fpl%0Aorder%20by%20desc(count(%3Fqv))) for QuantityValues lacking has_units, but the results are being listed by MIXS slot id, and the more user-freindly labels are not avaialbe

see

<https://w3id.org/mixs/depth> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "depth" ;
    dcterms:title "depth" ;
    rdfs:range nmdc:QuantityValue ;
    rdfs:subPropertyOf <https://w3id.org/mixs/environment_field> ;
    skos:altLabel "depth" ;
    skos:definition "The vertical distance below local surface, e.g. for sediment or soil samples depth is measured from sediment or soil surface, respectively. Depth can be reported as an interval for subsurface samples." ;
    skos:inScheme <https://raw.githubusercontent.com/microbiomedata/nmdc-schema/main/src/schema/mixs.yaml> ;
    nmdc:expected_value "measurement value" .
turbomam commented 8 months ago

same thing for https://raw.githubusercontent.com/GenomicsStandardsConsortium/mixs/main/project/owl/mixs.owl.ttl

turbomam commented 8 months ago

Maybe there is a new configuration option for URI style in OWL genration?

poetry run gen-owl --help
Usage: gen-owl [OPTIONS] YAMLFILE

  Generate an OWL representation of a LinkML model

  Generate OWL using default parameters:

      gen-owl my_schema.yaml

  Note that in previous versions of this generator, the default was to use
  type objects and to include metaclasses. To restore this behavior:

      gen-owl --metaclasses --type-objects my_schema.yaml

  For more info, see: https://linkml.io/linkml/generators/owl

Options:
  -o, --output TEXT               Output file name
  --metadata-profile [linkml|rdfs|ols]
                                  What kind of metadata profile to use for
                                  annotations on generated OWL objects
                                  [default: linkml]
  --type-objects / --no-type-objects
                                  If true, will model linkml types as objects,
                                  not literals  [default: no-type-objects]
  --metaclasses / --no-metaclasses
                                  If true, include linkml metamodel classes as
                                  metaclasses. Note this introduces punning in
                                  OWL-DL  [default: no-metaclasses]
  --add-root-classes / --no-add-root-classes
                                  If true, include linkml metamodel classes as
                                  superclasses.  [default: no-add-root-
                                  classes]
  --add-ols-annotations / --no-add-ols-annotations
                                  If true, auto-include annotations from
                                  https://www.ebi.ac.uk/ols/docs/installation-
                                  guide  [default: add-ols-annotations]
  --ontology-uri-suffix TEXT      Suffix to append to schema id to generate
                                  OWL Ontology IRI  [default: .owl.ttl]
  --assert-equivalent-classes / --no-assert-equivalent-classes
                                  If true, add owl:equivalentClass between a
                                  class and a class_uri  [default: no-assert-
                                  equivalent-classes]
  --mixins-as-expressions / --no-mixins-as-expressions
                                  If true, then mixins are represented as
                                  existential expressions  [default: no-
                                  mixins-as-expressions]
  -V, --version                   Show the version and exit.
  -f, --format [owl|ttl|json-ld|xml|n3|turtle|ttl|ntriples|nt|nt11|nquads|trix|trig|hext]
                                  Output format  [default: owl]
  --metadata / --no-metadata      Include metadata in output  [default:
                                  metadata]
  --useuris / --metauris          Include metadata in output  [default:
                                  useuris]
  -im, --importmap FILENAME       Import mapping file
  --log_level [CRITICAL|ERROR|WARNING|INFO|DEBUG]
                                  Logging level  [default: WARNING]
  -v, --verbose                   Verbosity. Takes precedence over
                                  --log_level.
  --mergeimports / --no-mergeimports
                                  Merge imports into source file
                                  (default=mergeimports)
  --stacktrace / --no-stacktrace  Print a stack trace when an error occurs
                                  [default: no-stacktrace]
  --help                          Show this message and exit.
turbomam commented 8 months ago

https://github.com/microbiomedata/nmdc-schema/blob/v8.0.0/project/owl/nmdc.owl.ttl

<https://w3id.org/mixs/0000018> a owl:ObjectProperty,
        linkml:SlotDefinition ;
    rdfs:label "depth" ;
    dcterms:title "depth" ;
    rdfs:range nmdc:QuantityValue ;
    rdfs:subPropertyOf <https://w3id.org/mixs/environment_field> ;
    skos:altLabel "depth" ;
    skos:definition "The vertical distance below local surface, e.g. for sediment or soil samples depth is measured from sediment or soil surface, respectively. Depth can be reported as an interval for subsurface samples." ;
    skos:exactMatch <https://w3id.org/mixs/0000018> ;
    nmdc:expected_value "measurement value" .