diff --git a/.github/workflows/owl-annotation-consumer.yaml b/.github/workflows/owl-annotation-consumer.yaml new file mode 100644 index 0000000000..1adcf102ca --- /dev/null +++ b/.github/workflows/owl-annotation-consumer.yaml @@ -0,0 +1,46 @@ +name: OWL annotation consumer + +on: + pull_request: + push: + branches: [main] + merge_group: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.event_name == 'pull_request' }} + +jobs: + owlapi: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v7 + - uses: astral-sh/setup-uv@v10.2.0 + with: + version: "0.11.21" + enable-cache: true + - uses: actions/setup-python@v7.0.0 + with: + python-version: "3.12" + - uses: actions/setup-java@v5 + with: + distribution: temurin + java-version: "21" + cache: maven + cache-dependency-path: tests/linkml/test_generators/input/owl_annotation_properties/pom.xml + - name: Install Python dependencies + run: uv sync --all-groups + - name: Resolve the pinned OWLAPI dependency tree once + run: >- + mvn --batch-mode + -f tests/linkml/test_generators/input/owl_annotation_properties/pom.xml + org.apache.maven.plugins:maven-dependency-plugin:3.8.1:build-classpath + -Dmdep.outputFile=${{ runner.temp }}/owlapi-classpath.txt + - name: Require profile validity and annotation retention on round-trip + env: + LINKML_REQUIRE_OWLAPI: "1" + LINKML_OWLAPI_CLASSPATH_FILE: ${{ runner.temp }}/owlapi-classpath.txt + run: >- + uv run pytest tests/linkml/test_generators/test_owl_annotation_properties.py + -q -m integration diff --git a/docs/examples/owl-annotation-properties.yaml b/docs/examples/owl-annotation-properties.yaml new file mode 100644 index 0000000000..cec6818855 --- /dev/null +++ b/docs/examples/owl-annotation-properties.yaml @@ -0,0 +1,25 @@ +id: https://example.org/model +name: model +prefixes: + ex: https://example.org/ + linkml: https://w3id.org/linkml/ + owl: http://www.w3.org/2002/07/owl# +imports: [linkml:types] +default_prefix: ex +instantiates: [ex:OntologyMetadata] +annotations: + reference: ex:target + text: https://example.org/a-textual-label +classes: + OntologyMetadata: + attributes: + reference: + slot_uri: ex:reference + range: nodeidentifier + implements: [owl:AnnotationProperty] + required: true + text: + slot_uri: ex:text + range: string + implements: [owl:AnnotationProperty] + required: true diff --git a/docs/generators/jsonld-context.rst b/docs/generators/jsonld-context.rst index da5e4df794..0a8be4bbed 100644 --- a/docs/generators/jsonld-context.rst +++ b/docs/generators/jsonld-context.rst @@ -125,6 +125,45 @@ to gen-prefix-map: gen-prefix-map --flatprefixes personinfo.yaml > personinfo.prefixmap.json +URIs as IRIs or as literals +--------------------------- + +By default a ``uri`` or ``uriorcurie`` slot is coerced to ``xsd:anyURI``, a typed +literal. ``--xsd-anyuri-as-iri`` coerces it to ``@id`` instead, so the value becomes an +IRI node, matching the ``sh:nodeKind sh:IRI`` the SHACL generator emits. The OWL +generator accepts the same flag. + +The flag applies to ``uri``, ``uriorcurie`` and their derived types when the +effective datatype remains ``xsd:anyURI``. Datatype IRIs are expanded before +comparison, so full IRIs and alternative prefixes behave identically. A type +derived from ``string`` that declares ``uri: xsd:anyURI`` stays a typed literal with or +without it. Use one for a URI reference that is data rather than a link, such as a file +path that may be relative: as ``@id`` it would be resolved against the document base. + +.. code-block:: yaml + + types: + FilePath: + typeof: string + uri: xsd:anyURI # always "@type": "xsd:anyURI", sh:datatype xsd:anyURI + slots: + homepage: + range: uri # "@id" with --xsd-anyuri-as-iri + file_path: + range: FilePath + +The RDF dumper, SHACL and ShEx generators distinguish the same URI family from +literal-valued types. An explicit datatype override such as ``uri: xsd:string`` +remains literal-valued, including when the type inherits from ``uri``. + +`XSD anyURI `__ admits relative URI +references as literal values. This differs from an RDF IRI node: `JSON-LD type +coercion `__ with ``@id`` interprets +strings as identifiers and resolves relative references against the base IRI. +The existing option selects the JSON-LD/OWL representation of LinkML's URI +family; it is not needed to preserve a deliberately literal-valued type. No +additional option is introduced. + Docs ---- diff --git a/docs/generators/owl.rst b/docs/generators/owl.rst index 4b6f076fe8..165cfedbb7 100644 --- a/docs/generators/owl.rst +++ b/docs/generators/owl.rst @@ -67,6 +67,129 @@ Mapping .. note:: The current default settings for ``metaclasses`` and ``type-objects`` may change in the future +Declared annotation values +^^^^^^^^^^^^^^^^^^^^^^^^^^ + +An annotation property name does not determine whether its value is a literal +or an RDF node. For example, ``rdfs:Resource`` includes literals, and OWL permits +both IRIs and literals as annotation values. The generator does not maintain a +list of vocabulary properties whose string values should be changed into IRIs. + +Use LinkML's metamodel extension mechanism to declare the distinction. An +``instantiates`` reference identifies a metaclass whose slots describe the +annotations on that schema element. ``nodeidentifier`` denotes an IRI, CURIE or +blank node; ``string`` denotes text, even when the text looks like a URL. +Independently, ``implements: [owl:AnnotationProperty]`` selects the existing +OWL annotation-property projection for a slot: + +.. literalinclude:: ../examples/owl-annotation-properties.yaml + :language: yaml + +The ontology has ``ex:reference `` and +``ex:text "https://example.org/a-textual-label"``, with both predicates declared +as annotation properties. The same mechanism +works for custom properties and annotations on classes, slots, local types, +enums and non-literal permissible values. Metaclass inheritance and imported +metaclasses are supported. Tags may be slot names, CURIEs or full slot IRIs. +Class inheritance, mixins and slot usage use effective slot declarations. +``implements`` itself is not inherited through a global slot's ``is_a``; +declare the annotation-property role on both members of a global subproperty +relationship. +OWL's nine built-in annotation-property IRIs, including ``rdfs:label``, +``owl:priorVersion`` and ``owl:versionInfo``, have their specification-defined +role automatically when used as actual output predicate IRIs. An explicit +object/datatype role on those IRIs is rejected. With native URIs, a locally +named property mapped to a built-in can still be an ordinary logical property; +the local output IRI determines its role. +Declared annotations accept full predicate IRIs. Undeclared tags retain the +existing CURIE/name fallback; URL-looking values are never promoted to nodes. + +``instantiates`` supplies metadata declarations; it does not automatically +convert every slot of a metadata class to an OWL annotation property. The +generator declares predicates used for annotations and rejects collisions +between annotation and logical property roles, and contradictory explicit +roles at the same output IRI, including available imported definitions. +Existing inferred object/datatype range ambiguities are outside this correction. +Undeclared LinkML annotations and native metadata on already logical schema predicates retain +their existing RDF metadata projection and literal values; they do not request +an OWL annotation-property role. Declared metaclass annotations and explicit +annotation-property mappings still reject logical-role collisions. This +compatibility behavior does not establish OWL 2 DL conformance for legacy RDF. +The native-URI option still selects +local property IRIs; mapped annotation predicates can have different IRIs. + +Annotation properties have no OWL logical constraint semantics. Ordinary +LinkML range, requiredness, cardinality and value constraints on these slots +remain available to instance validators, but their OWL annotation projection +omits logical restrictions. LinkML ``identifier`` and singular ``key`` flags +remain available for identity, inlining and requiredness in other consumers; +they do not request an OWL ``hasKey`` axiom. This projection does not enforce +their uniqueness in OWL. Explicit logical uses such as class ``unique_keys``, inverses, +property characteristics, type designators and rule conditions raise an error. +Global annotation properties support subproperties and simple named-IRI +domain/range axioms; those axioms do not validate annotation values. Anonymous +global annotation-property ranges are unsupported. Reserved structural +predicates such as ``owl:imports`` and ``owl:versionIRI`` cannot be supplied +as annotations; they are distinct from annotation properties. + +The example above is also executed by the tests. With ``metaclasses=False`` +and either value of ``type_objects`` and ``use_native_uris``, OWLAPI 5.5.0 +loads, saves and reloads it with zero OWL 2 DL profile violations and retains +both header annotations. This does not establish DL conformance for every +schema or for the API's default metaclass projection. +Custom ``typeof``-only datatype aliases can also expose an existing singleton +datatype-expression profile defect. The non-header consumer fixture uses an +explicit datatype URI to test type annotations independently of that limitation. + +The SHACL generator uses the same conversion when its existing +``--include-annotations`` option is enabled. Those annotations describe shapes; +they do not add constraints to ordinary data instances. Schema RDF and JSON-LD +serialization retain the LinkML annotation objects and their declarations; +they do not project annotations onto ontology properties as this generator does. + +Declared scalar ranges determine term representation, as they do for slot +values: ``nodeidentifier`` allows IRIs and blank nodes, and other types produce +literals of their datatype, ``curie`` (``xsd:string``) included. An +``xsd:anyURI`` value is a literal unless ``--xsd-anyuri-as-iri`` is set, which +makes ``uri`` and ``uriorcurie`` values IRIs, as it does for slot values. Use +``nodeidentifier`` for a value that must be a node. Language tags apply to +textual literals only. + +This is serialization of declared scalar annotations, not complete metamodel +extension validation. Structured values, non-type ranges and boolean range +expressions currently raise an error rather than guessing a term. Conflicting +metaclass declarations also raise an error. Unresolved external metaclasses and +undeclared tags retain each generator's existing behavior; a declaration must +be available locally or through a schema import to determine the RDF term. +Native ``contributors`` and ``license`` retain their metamodel representation; +native ``license`` remains the authoritative field. Structured agents and +export mappings for native metadata fields require separate support. Scalar +annotations do not preserve nested agent descriptions or automatically +validate all metadata extensions. Generated Python may coerce field values, +and JSON strings alone do not distinguish RDF node kinds. + +The real OWLAPI consumer tests run in a dedicated CI job. To run them locally, +prepare the fixture POM's pinned dependency tree with +``maven-dependency-plugin:3.8.1:build-classpath`` and set +``LINKML_OWLAPI_CLASSPATH_FILE`` to its output file. Set +``LINKML_REQUIRE_OWLAPI=1`` to fail when that file is not configured. Ordinary +Python test runs explicitly skip only this external consumer gate when the +classpath is not configured; the dedicated job requires and executes it. + +References: `LinkML metamodel refinement +`__, +`OWL annotation values `__, +`OWL property typing `__, +`OWL annotation axioms `__, +`OWL built-in annotation properties `__, +`LinkML identifiers `__, +`LinkML singular keys `__, +`reserved vocabulary `__, +`existing implements mapping `__, +`RDF Schema resources `__, and +`DCMI license guidance +`__. + Enums and PermissibleValues ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/packages/linkml/src/linkml/generators/common/annotations.py b/packages/linkml/src/linkml/generators/common/annotations.py new file mode 100644 index 0000000000..992c8090dc --- /dev/null +++ b/packages/linkml/src/linkml/generators/common/annotations.py @@ -0,0 +1,84 @@ +"""RDF annotation terms governed by declared LinkML metamodel extensions.""" + +from typing import Any + +from rdflib import XSD, BNode, Literal, URIRef + +from linkml.generators.common.subproperty import is_xsd_anyuri_range +from linkml_runtime.linkml_model import Element, PermissibleValue, SlotDefinition +from linkml_runtime.linkml_model.types import SHEX +from linkml_runtime.utils.schemaview import SchemaView +from linkml_runtime.utils.uri_validator import validate_uri + + +def declared_annotation( + schema: SchemaView, + element: Element | PermissibleValue, + tag: str, + value: Any, + language: str | None = None, + anyuri_as_iri: bool = False, +) -> tuple[URIRef, URIRef | BNode | Literal] | None: + """Serialize a scalar annotation using an instantiated metaclass's slot. + + The value gets the RDF term its declared range gives a slot value. + *anyuri_as_iri* renders ``uri`` and ``uriorcurie`` values as IRIs, as the + generator's ``--xsd-anyuri-as-iri`` renders slot values. + + Match local slot names or expanded slot URIs in the induced metaclass, + including inherited and imported definitions. Unresolved external metaclasses + and undeclared tags leave the caller's existing behavior unchanged. Conflicting + declarations fail instead of selecting a range according to iteration order. + + This is RDF serialization, not annotation constraint validation. The + metamodel-extension contract is described in LinkML specification section 5, + ``Metamodel refinement using annotations``. + """ + declarations: list[SlotDefinition] = [] + for metaclass in element.instantiates: + identifier = schema.expand_curie(metaclass) + for cls in schema.all_classes().values(): + if schema.get_uri(cls, expand=True) != identifier: + continue + for slot in schema.class_induced_slots(cls.name): + if tag == slot.name or schema.expand_curie(tag) == schema.get_uri(slot, expand=True): + declarations.append(slot) + if not declarations: + return None + terms = { + (URIRef(schema.get_uri(slot, expand=True)), _annotation_value(schema, slot, value, language, anyuri_as_iri)) + for slot in declarations + } + if len(terms) != 1: + raise ValueError(f"Conflicting metaclass declarations for annotation {tag!r}") + return terms.pop() + + +def _annotation_value( + schema: SchemaView, slot: SlotDefinition, value: Any, language: str | None, anyuri_as_iri: bool = False +) -> URIRef | BNode | Literal: + """Convert a declared scalar range to its RDF term without vocabulary guessing.""" + if slot.any_of or slot.all_of or slot.exactly_one_of or slot.none_of or slot.range_expression: + raise ValueError(f"Annotation {slot.name!r} requires a single scalar range for RDF serialization") + if not isinstance(value, str | bool | int | float): + raise ValueError(f"Annotation {slot.name!r} requires a scalar RDF value") + if slot.range not in schema.all_types(): + raise ValueError(f"Annotation {slot.name!r} has unsupported non-scalar range {slot.range!r}") + typ = schema.induced_type(slot.range) + datatype = URIRef(schema.expand_curie(typ.uri)) if typ.uri else None + # nodeidentifier denotes a node. An xsd:anyURI value of the uri family is + # a literal unless IRIs are requested, as for slot values; any other + # datatype, including curie's xsd:string, gives a literal. + as_iri = anyuri_as_iri and is_xsd_anyuri_range(schema, slot.range) + if datatype in (SHEX.iri, SHEX.nonLiteral) or as_iri: + if not isinstance(value, str): + raise ValueError(f"Annotation {slot.name!r} requires a node identifier") + if datatype == SHEX.nonLiteral and value.startswith("_:") and len(value) > 2: + return BNode(value[2:]) + expanded = schema.expand_curie(value) + if not validate_uri(expanded): + raise ValueError(f"Annotation {slot.name!r} requires an absolute IRI or declared CURIE: {value!r}") + return URIRef(expanded) + if datatype in (None, XSD.string): + return Literal(value, lang=language if isinstance(value, str) else None) + return Literal(value, datatype=datatype) diff --git a/packages/linkml/src/linkml/generators/common/subproperty.py b/packages/linkml/src/linkml/generators/common/subproperty.py index 9b136e2429..d78c8e3f09 100644 --- a/packages/linkml/src/linkml/generators/common/subproperty.py +++ b/packages/linkml/src/linkml/generators/common/subproperty.py @@ -7,6 +7,8 @@ - Collecting and deduplicating slot hierarchy values """ +from rdflib.namespace import XSD + from linkml_runtime.linkml_model.meta import SlotDefinition from linkml_runtime.utils.formatutils import underscore from linkml_runtime.utils.schemaview import SchemaView @@ -15,9 +17,27 @@ CURIE_TYPES: frozenset[str] = frozenset({"uriorcurie", "curie"}) URI_TYPES: frozenset[str] = frozenset({"uri"}) -# Types whose XSD mapping is xsd:anyURI (not xsd:string). -# ``curie`` maps to xsd:string and is deliberately excluded. -_ANYURI_TYPES: frozenset[str] = frozenset({"uri", "uriorcurie"}) + +def is_xsd_anyuri_range(sv: SchemaView, range_type: str | None) -> bool: + """Whether a URI-family type's effective datatype is ``xsd:anyURI``. + + LinkML's standard ``uri`` and ``uriorcurie`` types and their descendants + participate in the existing literal-to-IRI option. String-derived types do + not. Resolve the datatype before comparing so prefix aliases and explicit + datatype overrides have the same meaning in every generator. + + The roots are defined at https://w3id.org/linkml/types. The runtime dumper + implements the same small rule independently because the two packages may + be released separately; real serialization tests check their agreement. + """ + if range_type not in sv.all_types(): + return False + typ = sv.induced_type(range_type) + return ( + bool(typ.uri) + and sv.expand_curie(typ.uri) == str(XSD.anyURI) + and any(ancestor in ("uri", "uriorcurie") for ancestor in sv.type_ancestors(range_type)) + ) def is_uri_range(sv: SchemaView, range_type: str | None) -> bool: @@ -67,35 +87,6 @@ def is_curie_range(sv: SchemaView, range_type: str | None) -> bool: return False -def is_xsd_anyuri_range(sv: SchemaView, range_type: str | None) -> bool: - """Check if range type resolves to ``xsd:anyURI``. - - Returns True for ``uri``, ``uriorcurie``, and types that inherit from them. - Returns False for ``curie`` (which maps to ``xsd:string``). - - This is the correct predicate for the ``--xsd-anyuri-as-iri`` flag: only - types whose XSD representation is ``xsd:anyURI`` should be promoted from - literal to IRI semantics. ``curie`` is a compact string representation - that resolves to ``xsd:string`` and must not be affected. - - :param sv: SchemaView for type ancestry lookup - :param range_type: The range type to check - :return: True if range type maps to xsd:anyURI - """ - if range_type is None: - return False - - if range_type in _ANYURI_TYPES: - return True - - if range_type in sv.all_types(): - type_ancestors = set(sv.type_ancestors(range_type)) - if type_ancestors & _ANYURI_TYPES: - return True - - return False - - def format_slot_value_for_range(sv: SchemaView, slot_name: str, range_type: str | None) -> str: """ Format slot value according to the declared range type. diff --git a/packages/linkml/src/linkml/generators/jsonldcontextgen.py b/packages/linkml/src/linkml/generators/jsonldcontextgen.py index 5462b29f8b..1e9e34f851 100644 --- a/packages/linkml/src/linkml/generators/jsonldcontextgen.py +++ b/packages/linkml/src/linkml/generators/jsonldcontextgen.py @@ -5,6 +5,7 @@ import json import os import re +from copy import deepcopy from dataclasses import dataclass, field from pathlib import Path from typing import Any @@ -14,19 +15,16 @@ from rdflib import SKOS, XSD, Namespace from linkml._version import __version__ +from linkml.generators.common.subproperty import is_xsd_anyuri_range from linkml.utils.deprecation import deprecated_fields from linkml.utils.generator import Generator, shared_arguments -from linkml_runtime.linkml_model.meta import ClassDefinition, EnumDefinition, SlotDefinition +from linkml_runtime.linkml_model.meta import ClassDefinition, EnumDefinition, Prefix, SlotDefinition from linkml_runtime.linkml_model.types import SHEX from linkml_runtime.utils.formatutils import camelcase, underscore from linkml_runtime.utils.schemaview import SchemaView URI_RANGES = (SHEX.nonliteral, SHEX.bnode, SHEX.iri) -# Extended URI_RANGES that also treats xsd:anyURI as an IRI reference (@id) -# rather than a typed literal. Opt-in via --xsd-anyuri-as-iri flag. -URI_RANGES_WITH_XSD = (*URI_RANGES, XSD.anyURI) - ENUM_CONTEXT = { "text": "skos:notation", "description": "skos:prefLabel", @@ -85,8 +83,11 @@ class ContextGenerator(Generator): """Map xsd:anyURI-typed ranges (uri, uriorcurie) to ``@type: @id`` instead of ``@type: xsd:anyURI``. This aligns the JSON-LD context with the SHACL generator, which emits - ``sh:nodeKind sh:IRI`` for the same types. + ``sh:nodeKind sh:IRI`` for the same types. Types derived from ``uri`` or + ``uriorcurie`` follow them; a type derived from ``string`` that declares + ``uri: xsd:anyURI`` stays a typed literal, as in the OWL generator. """ + _type_view_cache: SchemaView | None = field(default=None, repr=False) # Framing (opt-in via CLI flag) emit_frame: bool = False @@ -299,7 +300,6 @@ def _literal_coercion_for_ranges(self, ranges: list[str]) -> tuple[bool, str | N and "could not resolve safely because the branches disagree". """ coercions: set[str | None] = set() - uri_ranges = URI_RANGES_WITH_XSD if self.xsd_anyuri_as_iri else URI_RANGES for range_name in ranges: if range_name not in self.schema.types: continue @@ -308,7 +308,7 @@ def _literal_coercion_for_ranges(self, ranges: list[str]) -> tuple[bool, str | N range_uri = self.namespaces.uri_for(range_type.uri) if range_uri == XSD.string: coercions.add(None) - elif range_uri in uri_ranges: + elif self._coerces_to_id(range_name): coercions.add("@id") else: coercions.add(range_type.uri) @@ -319,6 +319,35 @@ def _literal_coercion_for_ranges(self, ranges: list[str]) -> tuple[bool, str | N return True, next(iter(coercions)) return False, None + def _coerces_to_id(self, range_name: str) -> bool: + """Whether values of the LinkML type *range_name* are IRIs (``@type: @id``) rather than literals. + + The ShEx node types always are. ``xsd:anyURI`` is, with ``--xsd-anyuri-as-iri``, only + for ``uri``, ``uriorcurie`` and types derived from them, the same rule the OWL + generator applies (:func:`is_xsd_anyuri_range`). A type derived from ``string`` that + declares ``uri: xsd:anyURI`` is a typed literal: a URI reference kept as a string, which + must not be resolved against the document base. + """ + range_uri = self.namespaces.uri_for(self.schema.types[range_name].uri) + if range_uri in URI_RANGES: + return True + return self.xsd_anyuri_as_iri and range_uri == XSD.anyURI and is_xsd_anyuri_range(self._type_view(), range_name) + + def _type_view(self) -> SchemaView: + """A SchemaView of the schema, for type ancestry; built once when the generator has none.""" + if self.schemaview is not None: + return self.schemaview + if self._type_view_cache is None: + # SchemaLoader already resolved the imports; source_file is only + # provenance and may no longer name an available file. + type_schema = deepcopy(self.schema) + type_schema.imports = [] + for prefix, namespace in self.namespaces.items(): + if not prefix.startswith("@"): + type_schema.prefixes[prefix] = Prefix(prefix, str(namespace)) + self._type_view_cache = SchemaView(type_schema) + return self._type_view_cache + def _vocab_eligible_enum(self, enum: EnumDefinition) -> tuple[bool, str | None]: """Check if an enum qualifies for ``@type: @vocab`` context generation. @@ -414,10 +443,9 @@ def visit_slot(self, aliased_slot_name: str, slot: SlotDefinition) -> None: self.emit_prefixes.add(skos) else: range_type = self.schema.types[slot.range] - uri_ranges = URI_RANGES_WITH_XSD if self.xsd_anyuri_as_iri else URI_RANGES if self.namespaces.uri_for(range_type.uri) == XSD.string: pass - elif self.namespaces.uri_for(range_type.uri) in uri_ranges: + elif self._coerces_to_id(slot.range): slot_def["@type"] = "@id" else: slot_def["@type"] = range_type.uri diff --git a/packages/linkml/src/linkml/generators/owlgen.py b/packages/linkml/src/linkml/generators/owlgen.py index 7ba15df672..eb0122e4c0 100644 --- a/packages/linkml/src/linkml/generators/owlgen.py +++ b/packages/linkml/src/linkml/generators/owlgen.py @@ -11,6 +11,7 @@ import click import rdflib +from jsonasobj2 import as_dict from rdflib import DCTERMS, OWL, RDF, XSD, BNode, Graph, Literal, URIRef from rdflib.collection import Collection from rdflib.namespace import RDFS, SKOS @@ -19,6 +20,7 @@ from linkml import METAMODEL_NAMESPACE_NAME from linkml._version import __version__ +from linkml.generators.common.annotations import declared_annotation from linkml.generators.common.subproperty import is_xsd_anyuri_range from linkml.utils.deprecation import deprecation_warning from linkml.utils.generator import Generator, shared_arguments @@ -32,6 +34,7 @@ ClassDefinitionName, ClassRule, Definition, + Element, EnumDefinition, EnumDefinitionName, PermissibleValue, @@ -258,6 +261,181 @@ def _present(values: Iterable[_T | None]) -> list[_T]: # is technical and must never be language-tagged. _LANGUAGE_TAGGABLE_RANGES: ClassVar[frozenset[str]] = frozenset({"string", "ncname"}) + # OWL 2 Structural Specification sections 5.3--5.5 and 5.8.1. + _PROPERTY_ROLES: ClassVar[frozenset[URIRef]] = frozenset( + {OWL.AnnotationProperty, OWL.ObjectProperty, OWL.DatatypeProperty} + ) + # Complete list in OWL 2 section 5.5, Table 5. Reserved namespaces: section 2.4, Table 2. + _BUILTIN_ANNOTATION_PROPERTIES: ClassVar[frozenset[URIRef]] = frozenset( + { + RDFS.label, + RDFS.comment, + RDFS.seeAlso, + RDFS.isDefinedBy, + OWL.deprecated, + OWL.versionInfo, + OWL.priorVersion, + OWL.backwardCompatibleWith, + OWL.incompatibleWith, + } + ) + + def _explicit_property_role(self, slot: SlotDefinition) -> URIRef | None: + """Resolve the existing implements mapping by IRI, rejecting contradictory roles.""" + roles = {URIRef(self.schemaview.expand_curie(value)) for value in slot.implements} & self._PROPERTY_ROLES + if len(roles) > 1: + raise ValueError(f"Conflicting OWL property roles for slot {slot.name!r}: {sorted(map(str, roles))}") + return next(iter(roles), None) + + def _register_property_role(self, predicate: URIRef, role: URIRef, origin: str, explicit: bool = False) -> None: + """Track roles by output IRI across definitions, imports and annotation emissions.""" + if role == OWL.AnnotationProperty and self._reserved_annotation_predicate(predicate): + raise ValueError(f"Unsupported structural predicate {predicate} as annotation property on {origin}") + previous = self._property_roles.setdefault(predicate, {}) + explicit_role = self._explicit_property_iris.get(predicate) + ordinary_origins = self._ordinary_property_origins.get(predicate, set()) + annotation_collision = bool(previous.keys() - {role}) and ( + role == OWL.AnnotationProperty or OWL.AnnotationProperty in previous + ) + if ( + annotation_collision + or (role == OWL.AnnotationProperty and ordinary_origins) + or (explicit and explicit_role is not None and explicit_role != role) + ): + uses = "; ".join(f"{kind} from {', '.join(sorted(origins))}" for kind, origins in previous.items()) + if ordinary_origins: + uses += f"; ordinary logical property from {', '.join(sorted(ordinary_origins))}" + raise ValueError( + f"Conflicting OWL property roles for {predicate}: {uses}; {role} from {origin}. " + "Metadata slots intended as annotations require implements: [owl:AnnotationProperty]." + ) + previous.setdefault(role, set()).add(origin) + if explicit: + self._explicit_property_iris[predicate] = role + + def _effective_slot(self, slot: SlotDefinition, cls: ClassDefinition | None = None) -> SlotDefinition: + """Resolve a slot in its owning class without conflating same-name attributes.""" + sv = self.schemaview + if cls is not None and slot.name in sv.class_slots(cls.name): + return SlotDefinition(**as_dict(sv.induced_slot(slot.name, cls.name))) + if slot.name in sv.all_slots(attributes=False): + return SlotDefinition(**as_dict(sv.induced_slot(slot.name))) + return slot + + def _index_property_roles(self) -> None: + """Include available imported definitions even when emitting owl:imports.""" + self._property_roles: dict[URIRef, dict[URIRef, set[str]]] = {} + self._explicit_property_iris: dict[URIRef, URIRef] = {} + self._ordinary_property_origins: dict[URIRef, set[str]] = {} + self._legacy_annotation_candidates: dict[URIRef, set[str]] = {} + for predicate in self._BUILTIN_ANNOTATION_PROPERTIES: + self._register_property_role(predicate, OWL.AnnotationProperty, "OWL 2 built-in annotation property") + sv = self.schemaview + for slot in sv.all_slots(attributes=False).values(): + effective = self._effective_slot(slot) + self._index_slot_role(effective if self._explicit_property_role(effective) else slot, f"slot {slot.name}") + for cls in sv.all_classes().values(): + for slot in cls.attributes.values(): + effective = self._effective_slot(slot, cls) + self._index_slot_role( + effective if self._explicit_property_role(effective) else slot, + f"class {cls.name}, slot {slot.name}", + ) + # Ordinary contextual ranges do not redeclare global property roles. + for slot in cls.slot_usage.values(): + if slot.implements: + self._index_slot_role(self._effective_slot(slot, cls), f"class {cls.name}, slot {slot.name}") + for predicate in self._ordinary_property_origins: + if OWL.AnnotationProperty in self._property_roles.get(predicate, {}): + self._register_property_role( + predicate, OWL.AnnotationProperty, "annotation role in schema/import closure" + ) + + def _index_slot_role(self, slot: SlotDefinition, origin: str) -> None: + """Defer expression-only inferred roles until their literal map has been populated.""" + predicate = self._prop_uri(slot) + if self._explicit_property_role(slot) is None and predicate not in self._BUILTIN_ANNOTATION_PROPERTIES: + # Even an expression-only imported slot has a logical projection. Keep + # that intent without guessing OP versus DP before range translation. + self._ordinary_property_origins.setdefault(predicate, set()).add(origin) + if ( + self._explicit_property_role(slot) + or predicate in self._BUILTIN_ANNOTATION_PROPERTIES + or slot.range + or self.schemaview.schema.default_range + or self.type_objects + ): + self._register_property_role( + self._prop_uri(slot), + self.slot_owl_type(slot), + origin, + explicit=self._explicit_property_role(slot) is not None, + ) + + def _has_logical_property_intent(self, predicate: URIRef) -> bool: + """Recognize logical declarations and uses without guessing an inferred OP versus DP role.""" + return predicate in self._ordinary_property_origins or bool( + self._property_roles.get(predicate, {}).keys() & {OWL.ObjectProperty, OWL.DatatypeProperty} + ) + + def _emit_annotation( + self, subject: URIRef, predicate: URIRef, value: OWL_VALUE, origin: str, *, legacy: bool = False + ) -> None: + """Declare strict annotations immediately and defer unknown legacy roles until all logical uses are known.""" + if self._reserved_annotation_predicate(predicate): + raise ValueError(f"Unsupported structural predicate {predicate} in annotation on {origin}") + if legacy and self._has_logical_property_intent(predicate): + # Undeclared LinkML annotations historically also carried RDF metadata + # on ordinary schema properties. Preserve that projection and its terms; + # it is not an explicit request for an OWL annotation-property role. + self.graph.add((subject, predicate, value)) + return + if legacy and OWL.AnnotationProperty not in self._property_roles.get(predicate, {}): + self._legacy_annotation_candidates.setdefault(predicate, set()).add(origin) + self.graph.add((subject, predicate, value)) + return + self._register_property_role(predicate, OWL.AnnotationProperty, origin) + self.graph.add((predicate, RDF.type, OWL.AnnotationProperty)) + self.graph.add((subject, predicate, value)) + + def _finalize_legacy_annotations(self) -> None: + """Declare legacy predicates as APs only after ruling out actual logical uses during generation.""" + for predicate, origins in self._legacy_annotation_candidates.items(): + if self._has_logical_property_intent(predicate): + continue + for origin in origins: + self._register_property_role(predicate, OWL.AnnotationProperty, origin) + self.graph.add((predicate, RDF.type, OWL.AnnotationProperty)) + + def _reserved_annotation_predicate(self, predicate: URIRef) -> bool: + """Apply OWL 2's reserved namespace boundary and its nine built-in AP exceptions.""" + return predicate not in self._BUILTIN_ANNOTATION_PROPERTIES and any( + str(predicate).startswith(str(vocabulary)) for vocabulary in (RDF, RDFS, XSD, OWL) + ) + + def _require_logical_property(self, predicate: URIRef, use: str) -> None: + """Reject APs and remember logical intent so later AP declarations cannot bypass the guard.""" + origins = self._property_roles.get(predicate, {}).get(OWL.AnnotationProperty) + if origins is not None: + raise ValueError(f"Annotation property {predicate} cannot be used in {use} ({', '.join(sorted(origins))})") + self._ordinary_property_origins.setdefault(predicate, set()).add(use) + + def _check_annotation_slot(self, slot: SlotDefinition) -> None: + """Reject explicit logical uses while retaining ordinary LinkML validation constraints.""" + for field_name in ( + "inverse", + "symmetric", + "asymmetric", + "transitive", + "reflexive", + "irreflexive", + "designates_type", + "has_member", + "all_members", + ): + if getattr(slot, field_name, None): + self._require_logical_property(self._prop_uri(slot), field_name) + def __post_init__(self) -> None: # Resolver must be assigned before ``super().__post_init__()`` so that # any hook the parent invokes during initialisation can safely call @@ -312,6 +490,7 @@ def as_graph(self) -> Graph: # initialize the rdflib Graph where all axiom triples will be added graph = Graph(identifier=base) self.graph = graph + self._index_property_roles() for prefix in self.metamodel.schema.emit_prefixes: self.graph.bind(prefix, self.metamodel.namespaces[prefix]) for pfx in schema.prefixes.values(): @@ -322,7 +501,7 @@ def as_graph(self) -> Graph: for cls in sv.all_classes(imports=mergeimports).values(): self.add_class(cls) for a in cls.attributes.values(): - self.add_slot(a, attribute=True) + self.add_slot(a, attribute=True, owning_class=cls) for slot in sv.all_slots(imports=mergeimports, attributes=False).values(): self.add_slot(slot, attribute=False) for typ in sv.all_types(imports=mergeimports).values(): @@ -342,6 +521,7 @@ def as_graph(self) -> Graph: # Add metadata as annotation properties self.add_metadata(schema, base) + self._finalize_legacy_annotations() return graph def serialize(self, **kwargs: Any) -> str: @@ -419,11 +599,21 @@ def add_metadata(self, e: Definition | PermissibleValue, uri: URIRef) -> None: # from ``xsd:string`` to ``rdf:langString`` and break # downstream string equality / SHACL ``sh:in`` matching. obj = Literal(v) - self.graph.add((uri, metaslot_uri, obj)) + self._emit_annotation(uri, metaslot_uri, obj, f"metadata {metaslot_name} on {uri}", legacy=True) + self._add_annotations(e, uri) + + def _add_annotations(self, e: Element | PermissibleValue, uri: URIRef) -> None: + """Emit explicit annotations on any generated schema resource.""" + this_sv = self.schemaview + lang = self._resolve_language(e) for k, v in e.annotations.items(): if isinstance(v, dict) or isinstance(v, list): continue + declared = declared_annotation(this_sv, e, k, v.value, lang, anyuri_as_iri=self.xsd_anyuri_as_iri) + if declared is not None: + self._emit_annotation(uri, *declared, f"annotation {k} on {uri}") + continue if ":" not in k: default_prefix = this_sv.schema.default_prefix if default_prefix in this_sv.schema.prefixes: @@ -432,6 +622,8 @@ def add_metadata(self, e: Definition | PermissibleValue, uri: URIRef) -> None: k_uri = this_sv.expand_curie(k) else: k_uri = this_sv.expand_curie(k) + if self._reserved_annotation_predicate(URIRef(k_uri)): + raise ValueError(f"Unsupported structural predicate {k_uri} in annotation on {uri}") if k_uri == k: k_uri = None if k_uri: @@ -439,7 +631,7 @@ def add_metadata(self, e: Definition | PermissibleValue, uri: URIRef) -> None: obj = self._literal(v.value, e) else: obj = Literal(v.value) - self.graph.add((uri, URIRef(k_uri), obj)) + self._emit_annotation(uri, URIRef(k_uri), obj, f"annotation {k} on {uri}", legacy=True) def add_class(self, cls: ClassDefinition) -> None: """ @@ -500,12 +692,11 @@ def add_class(self, cls: ClassDefinition) -> None: if cls.is_a is None: if len(cls.mixins) == 0: # Any class that is not a mixin and is a root serves as a potential entry point - self.graph.add( - ( - self.graph.identifier, - URIRef("http://purl.obolibrary.org/obo/IAO_0000700"), - cls_uri, - ) + self._emit_annotation( + self.graph.identifier, + URIRef("http://purl.obolibrary.org/obo/IAO_0000700"), + cls_uri, + f"OLS root class {cls.name}", ) if cls.class_uri: # If a class_ur is assigned, and it is different from model class_uri, then @@ -513,7 +704,10 @@ def add_class(self, cls: ClassDefinition) -> None: mapped_uri = sv.get_uri(cls, expand=True, native=not self.use_native_uris) if cls_uri != mapped_uri: p = OWL.equivalentClass if self.assert_equivalent_classes else SKOS.exactMatch - self.graph.add((URIRef(cls_uri), p, URIRef(mapped_uri))) + if p == SKOS.exactMatch: + self._emit_annotation(cls_uri, p, URIRef(mapped_uri), f"class mapping {cls.name}", legacy=True) + else: + self.graph.add((cls_uri, p, URIRef(mapped_uri))) subject_expr = URIRef(cls_uri) if self.mixins_as_expressions and cls.mixin: subject_expr = self._some_values_from(self._metaslot_uri("mixins"), subject_expr) @@ -522,20 +716,25 @@ def add_class(self, cls: ClassDefinition) -> None: # then create an axiom: (t some C) subClassOf C. type_designator = sv.get_type_designator_slot(cls.name) if type_designator: - td_prop = self._prop_uri(type_designator.name) + td_prop = self._prop_uri(self._effective_slot(type_designator, cls)) + self._require_logical_property(td_prop, f"type designator on {cls.name}") restr = self._some_values_from(td_prop, subject_expr) self.graph.add((restr, RDFS.subClassOf, subject_expr)) # unique key constraints are mapped to OWL hasKey if cls.unique_keys: for uk in cls.unique_keys.values(): - uk_props = [self._prop_uri(slot) for slot in uk.unique_key_slots] + uk_props = [self._prop_uri(sv.induced_slot(slot, cls.name)) for slot in uk.unique_key_slots] + for prop in uk_props: + self._require_logical_property(prop, f"unique key on {cls.name}") uk_props_listnode = BNode() Collection(self.graph, uk_props_listnode, uk_props) self.graph.add((subject_expr, OWL.hasKey, uk_props_listnode)) def condition_to_bnode(expr: AnonymousClassExpression) -> OWL_EXPRESSION | None: # inner function: translate a LinkML class expression to an OWL class expression. - ixn_listnode = self.transform_class_expression(expr, quantifier_predicate=OWL.someValuesFrom) + ixn_listnode = self.transform_class_expression( + expr, quantifier_predicate=OWL.someValuesFrom, owning_class=cls + ) if not ixn_listnode: return None if expr.is_a: @@ -646,6 +845,7 @@ def transform_class_expression( self, cls: ClassDefinition | AnonymousClassExpression | None, quantifier_predicate: URIRef = OWL.allValuesFrom, + owning_class: ClassDefinition | None = None, ) -> OWL_EXPRESSION | None: """ Transform a LinkML class expression into an OWL expression. @@ -662,15 +862,19 @@ def transform_class_expression( cls = AnonymousClassExpression() graph = self.graph sv = self.schemaview + if isinstance(cls, ClassDefinition): + owning_class = cls own_slots = self.get_own_slots(cls) owl_exprs: list[OWL_EXPRESSION] = [] if cls.any_of: - any_of_expr = self._union_of([self.transform_class_expression(x) for x in cls.any_of]) + any_of_expr = self._union_of( + [self.transform_class_expression(x, owning_class=owning_class) for x in cls.any_of] + ) if any_of_expr: owl_exprs.append(any_of_expr) if cls.exactly_one_of: sub_exprs: list[OWL_EXPRESSION] = self._present( - self.transform_class_expression(x) for x in cls.exactly_one_of + self.transform_class_expression(x, owning_class=owning_class) for x in cls.exactly_one_of ) if isinstance(cls, ClassDefinition): cls_uri = self._class_uri(cls.name) @@ -680,11 +884,13 @@ def transform_class_expression( else: sub_sub_exprs: list[OWL_EXPRESSION] = [] for i, x in enumerate(cls.exactly_one_of): - operand_expr = self.transform_class_expression(x) + operand_expr = self.transform_class_expression(x, owning_class=owning_class) if not operand_expr: continue rest = cls.exactly_one_of[0:i] + cls.exactly_one_of[i + 1 :] - neg_expr = self._complement_of_union_of([self.transform_class_expression(nx) for nx in rest]) + neg_expr = self._complement_of_union_of( + [self.transform_class_expression(nx, owning_class=owning_class) for nx in rest] + ) pos_expr = self._intersection_of([operand_expr, neg_expr]) if pos_expr: sub_sub_exprs.append(pos_expr) @@ -693,19 +899,33 @@ def transform_class_expression( owl_exprs.append(union_expr) # owl_exprs.extend(sub_exprs) if cls.all_of: - all_of_expr = self._intersection_of([self.transform_class_expression(x) for x in cls.all_of]) + all_of_expr = self._intersection_of( + [self.transform_class_expression(x, owning_class=owning_class) for x in cls.all_of] + ) if all_of_expr: owl_exprs.append(all_of_expr) if cls.none_of: - none_of_expr = self._complement_of_union_of([self.transform_class_expression(x) for x in cls.none_of]) + none_of_expr = self._complement_of_union_of( + [self.transform_class_expression(x, owning_class=owning_class) for x in cls.none_of] + ) if none_of_expr: owl_exprs.append(none_of_expr) for slot in own_slots: + effective = self._effective_slot(slot, owning_class) + if self.slot_owl_type(effective) == OWL.AnnotationProperty: + self._check_annotation_slot(effective) + if isinstance(cls, AnonymousClassExpression) or slot.name in cls.slot_conditions: + self._require_logical_property(self._prop_uri(effective), "anonymous or rule slot condition") + # AP projection intentionally omits LinkML instance constraints in OWL. + continue if slot.name: - owltypes = self.slot_node_owltypes(sv.get_slot(slot.name), owning_class=cls) + if isinstance(cls, AnonymousClassExpression): + owltypes = self.slot_node_owltypes(effective, owning_class=owning_class) + else: + owltypes = self.slot_node_owltypes(sv.get_slot(slot.name), owning_class=cls) else: owltypes = self.slot_node_owltypes(slot, owning_class=cls) - x = self.transform_class_slot_expression(cls, slot, slot, owltypes) + x = self.transform_class_slot_expression(cls, slot, slot, owltypes, owning_class=owning_class) if not x: range = sv.schema.default_range if range and OWL.Thing not in owltypes: @@ -720,7 +940,8 @@ def transform_class_expression( # x = self._class_uri(range) else: x = OWL.Thing - slot_uri = self._prop_uri(slot) + slot_uri = self._prop_uri(effective if isinstance(cls, AnonymousClassExpression) else slot) + self._require_logical_property(slot_uri, "class slot restriction") if slot.name in sv.all_slots(): top_slot = sv.get_slot(slot.name) else: @@ -785,7 +1006,9 @@ def transform_class_expression( owl_exprs.append(self._add_cardinality_restriction(slot_uri, OWL.maxCardinality, max_card)) if slot.has_member: - has_member_expr = self.transform_class_slot_expression(cls, slot.has_member, slot) + has_member_expr = self.transform_class_slot_expression( + cls, slot.has_member, slot, owning_class=owning_class + ) if has_member_expr: owl_exprs.append(self._some_values_from(slot_uri, has_member_expr)) return self._intersection_of(owl_exprs) @@ -830,6 +1053,8 @@ def transform_class_slot_expression( slot: SlotDefinition | AnonymousSlotExpression, main_slot: SlotDefinition | None = None, owl_types: set[OWL_TYPE] | None = None, + *, + owning_class: ClassDefinition | None = None, ) -> OWL_EXPRESSION | None: """ Take a ClassExpression and SlotExpression combination and transform to a node. @@ -838,6 +1063,7 @@ def transform_class_slot_expression( :param slot: :param main_slot: :param owl_types: + :param owning_class: owner of the slot declaration, including in anonymous rule conditions :return: """ sv = self.schemaview @@ -846,6 +1072,11 @@ def transform_class_slot_expression( raise ValueError(f"Must pass main slot for {slot}") main_slot = slot + if isinstance(cls, ClassDefinition): + owning_class = cls + effective = self._effective_slot(main_slot, owning_class) + self._require_logical_property(self._prop_uri(effective), "slot expression") + owl_exprs: list[OWL_EXPRESSION] = [] if slot.range_expression: @@ -855,7 +1086,9 @@ def transform_class_slot_expression( owl_exprs.append(range_expr) if slot.all_members: - all_members_expr = self.transform_class_slot_expression(cls, slot.all_members, main_slot, owl_types) + all_members_expr = self.transform_class_slot_expression( + cls, slot.all_members, main_slot, owl_types, owning_class=owning_class + ) if all_members_expr: owl_exprs.append(all_members_expr) @@ -865,7 +1098,9 @@ def _get_slot_nodes( if not slot_definitions: return None rdflib_nodes: list[OWL_EXPRESSION] = self._present( - self.transform_class_slot_expression(cls, slot_expression, main_slot, owl_types) + self.transform_class_slot_expression( + cls, slot_expression, main_slot, owl_types, owning_class=owning_class + ) for slot_expression in slot_definitions ) return rdflib_nodes or None @@ -879,12 +1114,17 @@ def _get_slot_nodes( if slot.exactly_one_of: disj_exprs: list[OWL_EXPRESSION] = [] for i, operand in enumerate(slot.exactly_one_of): - operand_expr = self.transform_class_slot_expression(cls, operand, main_slot, owl_types) + operand_expr = self.transform_class_slot_expression( + cls, operand, main_slot, owl_types, owning_class=owning_class + ) if not operand_expr: continue rest = slot.exactly_one_of[0:i] + slot.exactly_one_of[i + 1 :] neg_expr = self._complement_of_union_of( - [self.transform_class_slot_expression(cls, x, main_slot, owl_types) for x in rest], + [ + self.transform_class_slot_expression(cls, x, main_slot, owl_types, owning_class=owning_class) + for x in rest + ], owl_types=owl_types, ) pos_expr = self._intersection_of( @@ -922,7 +1162,9 @@ def _get_slot_nodes( is_literal = None if owl_types: is_literal = RDFS.Datatype in owl_types - constraints_exprs, constraints_owltypes = self.add_constraints(slot, is_literal=is_literal) + constraints_exprs, constraints_owltypes = self.add_constraints( + slot, is_literal=is_literal, owning_class=owning_class + ) this_owl_types.update(constraints_owltypes) owl_exprs.extend(constraints_exprs) this_expr = self._intersection_of(owl_exprs, owl_types=this_owl_types) @@ -934,7 +1176,14 @@ def add_constraints( self, element: SlotDefinition | AnonymousSlotExpression | TypeDefinition | AnonymousTypeExpression, is_literal: bool | None = None, + *, + owning_class: ClassDefinition | None = None, ) -> tuple[list[OWL_EXPRESSION], set[OWL_TYPE]]: + """Translate value constraints for logical properties and datatypes.""" + if isinstance(element, SlotDefinition): + self._require_logical_property( + self._prop_uri(self._effective_slot(element, owning_class)), "value constraint" + ) owl_types: set[OWL_TYPE] = set() owl_exprs: list[OWL_EXPRESSION] = [] graph = self.graph @@ -1021,16 +1270,31 @@ def _structured_pattern_as_xsd( return f".*({inner}).*" return inner - def add_slot(self, slot: SlotDefinition, attribute: bool = False) -> None: + def add_slot( + self, slot: SlotDefinition, attribute: bool = False, owning_class: ClassDefinition | None = None + ) -> None: + """Emit the effective property declaration and role-appropriate axioms.""" # determine if this is a slot that has been induced by slot_usage; if so # the meaning of the slot is context-specific and should not be used for # global properties - slot_uri = self._prop_uri(slot) + effective = self._effective_slot(slot, owning_class) + slot_uri = self._prop_uri( + effective if self._explicit_property_role(effective) == OWL.AnnotationProperty else slot + ) # Slots may be modeled as Object or Datatype Properties # if type_objects is True, then ALL slots are ObjectProperties - self.graph.add((slot_uri, RDF.type, self.slot_owl_type(slot))) + role = self._explicit_property_role(effective) or self.slot_owl_type(slot) + self._register_property_role(slot_uri, role, f"slot {slot.name}") + self.graph.add((slot_uri, RDF.type, role)) + if role == OWL.AnnotationProperty: + slot = effective + self._check_annotation_slot(slot) + self.add_metadata(slot, slot_uri) + if not attribute: + self._add_annotation_property_axioms(slot) + return if self.metaclasses: # add metaclass which this property instantiates -- induces punning self.graph.add( @@ -1063,7 +1327,9 @@ def add_slot(self, slot: SlotDefinition, attribute: bool = False) -> None: if slot.domain: self.graph.add((slot_uri, RDFS.domain, self._class_uri(slot.domain))) if slot.inverse: - self.graph.add((slot_uri, OWL.inverseOf, self._prop_uri(slot.inverse))) + inverse_uri = self._prop_uri(self._effective_slot(self.schemaview.get_slot(slot.inverse))) + self._require_logical_property(inverse_uri, f"inverse of {slot.name}") + self.graph.add((slot_uri, OWL.inverseOf, inverse_uri)) characteristics = { "symmetric": OWL.SymmetricProperty, "asymmetric": OWL.AsymmetricProperty, @@ -1076,15 +1342,47 @@ def add_slot(self, slot: SlotDefinition, attribute: bool = False) -> None: self.graph.add((slot_uri, RDF.type, uri)) if slot.is_a: - self.graph.add((slot_uri, RDFS.subPropertyOf, self._prop_uri(slot.is_a))) + parent_uri = self._prop_uri(self._effective_slot(self.schemaview.get_slot(slot.is_a))) + self._require_logical_property(parent_uri, f"logical subproperty {slot.name}") + self.graph.add((slot_uri, RDFS.subPropertyOf, parent_uri)) for mixin in slot.mixins: - self.graph.add((slot_uri, RDFS.subPropertyOf, self._prop_uri(mixin))) + parent_uri = self._prop_uri(self._effective_slot(self.schemaview.get_slot(mixin))) + self._require_logical_property(parent_uri, f"logical subproperty {slot.name}") + self.graph.add((slot_uri, RDFS.subPropertyOf, parent_uri)) + + def _add_annotation_property_axioms(self, slot: SlotDefinition) -> None: + """Emit named-IRI domain/range and annotation subproperties, without logical validation.""" + if slot.range_expression or slot.any_of or slot.all_of or slot.none_of or slot.exactly_one_of: + raise ValueError( + f"Annotation property {self._prop_uri(slot)} requires a named IRI range, not an expression" + ) + uri = self._prop_uri(slot) + if slot.domain: + self.graph.add((uri, RDFS.domain, self._class_uri(slot.domain))) + if slot.range: + sv = self.schemaview + if slot.range in sv.all_types(): + range_uri = self._type_uri(slot.range, native=False) + elif slot.range in sv.all_classes(): + range_uri = self._class_uri(slot.range) + elif slot.range in sv.all_enums(): + range_uri = self._enum_uri(slot.range) + else: + raise ValueError(f"Unknown annotation property range {slot.range!r} on {slot.name}") + self.graph.add((uri, RDFS.range, range_uri)) + for parent in ([slot.is_a] if slot.is_a else []) + slot.mixins: + parent_slot = self._effective_slot(self.schemaview.get_slot(parent)) + parent_uri = self._prop_uri(parent_slot) + self._register_property_role(parent_uri, OWL.AnnotationProperty, f"annotation subproperty {slot.name}") + self.graph.add((parent_uri, RDF.type, OWL.AnnotationProperty)) + self.graph.add((uri, RDFS.subPropertyOf, parent_uri)) def add_type(self, typ: TypeDefinition) -> None: type_uri = self._type_uri(typ.name) if typ.from_schema == "https://w3id.org/linkml/types": return + self._add_annotations(typ, type_uri) if self.metaclasses: self.graph.add( ( @@ -1101,8 +1399,9 @@ def add_type(self, typ: TypeDefinition) -> None: else: if not self.top_value_uri: self.top_value_uri = self.metamodel.namespaces[METAMODEL_NAMESPACE_NAME]["topValue"] - self.graph.add((self.top_value_uri, RDF.type, OWL.DatatypeProperty)) - self.graph.add((self.top_value_uri, RDFS.label, Literal("value"))) + self._register_property_role(self.top_value_uri, OWL.DatatypeProperty, "type-object value property") + self.graph.add((self.top_value_uri, RDF.type, OWL.DatatypeProperty)) + self._emit_annotation(self.top_value_uri, RDFS.label, Literal("value"), "type-object value label") restr = BNode() self.graph.add((restr, RDF.type, OWL.Restriction)) self.graph.add((restr, OWL.qualifiedCardinality, Literal(1))) @@ -1199,17 +1498,11 @@ def add_enum(self, e: EnumDefinition) -> None: else: pv_node = self._permissible_value_uri(pv, enum_uri, e) pv_uris.append(pv_node) - g.add( - ( - enum_uri, - self.metamodel.namespaces[METAMODEL_NAMESPACE_NAME]["permissible_values"], - pv_node, - ) - ) + self._add_permissible_value_metadata(enum_uri, pv_node, e.name) if not isinstance(pv_node, Literal): self.add_metadata(pv, pv_node) g.add((pv_node, RDF.type, pv_owl_type)) - g.add((pv_node, RDFS.label, self._literal(pv.text, pv))) + self._emit_annotation(pv_node, RDFS.label, self._literal(pv.text, pv), f"permissible value {pv.text}") # TODO: make this configurable # self._add_element_properties(pv_uri, pv) if self.metaclasses: @@ -1256,10 +1549,29 @@ def add_enum(self, e: EnumDefinition) -> None: owl_types={owl_type for owl_type in owl_types if owl_type is not None}, ) for pv_node in pv_uris: - # this would normally be entailed, but we assert here so it is visible - # without reasoning + # Assert membership so it is visible without reasoning. if not isinstance(pv_node, Literal): - g.add((pv_node, sub_pred, enum_uri)) + if sub_pred == DCTERMS.isPartOf: + self._emit_annotation(pv_node, sub_pred, enum_uri, f"enum membership {e.name}", legacy=True) + else: + g.add((pv_node, sub_pred, enum_uri)) + + def _add_permissible_value_metadata(self, enum_uri: URIRef, value: OWL_VALUE, enum_name: str) -> None: + """Preserve an explicit LinkML data relation, otherwise emit enum membership metadata.""" + predicate = self.metamodel.namespaces[METAMODEL_NAMESPACE_NAME]["permissible_values"] + declared = self._property_roles.get(predicate) + if declared is None or OWL.AnnotationProperty in declared: + self._emit_annotation(enum_uri, predicate, value, f"permissible value of {enum_name}") + else: + # When generating the metamodel itself, this is an existing schema data + # property. Class/individual punning preserves the original relation. + expected = OWL.DatatypeProperty if isinstance(value, Literal) else OWL.ObjectProperty + if expected not in declared: + raise ValueError( + f"Conflicting OWL property roles for {predicate}: incompatible permissible value of {enum_name}" + ) + self._register_property_role(predicate, expected, f"permissible value of {enum_name}") + self.graph.add((enum_uri, predicate, value)) def _is_vacuous_avf_filler(self, top_slot: SlotDefinition, x: URIRef | BNode) -> bool: """Return True when an ``owl:allValuesFrom x`` restriction is vacuous. @@ -1390,6 +1702,7 @@ def _remove_list(self, listnode: BNode) -> None: triples.extend(graph.triples((obj, None, None))) def _some_values_from(self, property_uri: URIRef, filler: OWL_EXPRESSION) -> BNode: + self._require_logical_property(property_uri, "existential restriction") if not property_uri: raise ValueError(f"Property is required, filler: {filler}") if not filler: @@ -1401,6 +1714,7 @@ def _some_values_from(self, property_uri: URIRef, filler: OWL_EXPRESSION) -> BNo return node def _has_value(self, property_uri: URIRef, filler: OWL_VALUE) -> BNode: + self._require_logical_property(property_uri, "has-value restriction") node = BNode() self.graph.add((node, RDF.type, OWL.Restriction)) self.graph.add((node, OWL.onProperty, property_uri)) @@ -1410,6 +1724,7 @@ def _has_value(self, property_uri: URIRef, filler: OWL_VALUE) -> BNode: def _add_cardinality_restriction( self, property_uri: URIRef, cardinality_property: URIRef, cardinality: int ) -> BNode: + self._require_logical_property(property_uri, "cardinality restriction") node = BNode() self.graph.add((node, RDF.type, OWL.Restriction)) self.graph.add((node, cardinality_property, Literal(cardinality))) @@ -1428,6 +1743,7 @@ def _swrl_class_atom(self, cls_ref: BNode | URIRef, var: str) -> BNode: return node def _swrl_abox_atom(self, pred_ref: OWL_EXPRESSION, arg1: str, arg2: str) -> BNode: + self._require_logical_property(pred_ref, "SWRL property atom") node = BNode() self.graph.add((node, RDF.type, SWRL.IndividualPropertyAtom)) self.graph.add((node, SWRL.classPredicate, pred_ref)) @@ -1600,9 +1916,9 @@ def _declare_grouping_class( label = meta_class.title or camelcase(meta_class.name) or label description = meta_class.description or description if label is not None: - self.graph.add((uri, RDFS.label, Literal(label))) + self._emit_annotation(uri, RDFS.label, Literal(label), f"grouping class {uri}") if description is not None: - self.graph.add((uri, SKOS.definition, Literal(description))) + self._emit_annotation(uri, SKOS.definition, Literal(description), f"grouping class {uri}", legacy=True) def _class_uri(self, cn: str | ClassDefinitionName) -> URIRef: c = self.schemaview.get_class(cn) @@ -1669,11 +1985,13 @@ def _permissible_value_uri( return URIRef(enum_uri + self.enum_iri_separator + encoded_text) def slot_owl_type(self, slot: SlotDefinition) -> URIRef: + """Resolve an explicit OWL role or retain the existing range-based default.""" sv = self.schemaview - if slot.implements: - for t in ["owl:AnnotationProperty", "owl:ObjectProperty", "owl:DatatypeProperty"]: - if t in slot.implements: - return OWL[t.replace("owl:", "")] + explicit_role = self._explicit_property_role(slot) + if explicit_role is not None: + return explicit_role + if self._prop_uri(slot) in self._BUILTIN_ANNOTATION_PROPERTIES: + return OWL.AnnotationProperty if slot.range is None: slot_range = self.schemaview.schema.default_range else: diff --git a/packages/linkml/src/linkml/generators/shaclgen.py b/packages/linkml/src/linkml/generators/shaclgen.py index 4731b9f0b8..b90a982765 100644 --- a/packages/linkml/src/linkml/generators/shaclgen.py +++ b/packages/linkml/src/linkml/generators/shaclgen.py @@ -11,12 +11,14 @@ from rdflib.namespace import RDF, RDFS, SH, XSD from linkml._version import __version__ -from linkml.generators.common.subproperty import get_subproperty_values, is_uri_range +from linkml.generators.common.annotations import declared_annotation +from linkml.generators.common.subproperty import get_subproperty_values, is_uri_range, is_xsd_anyuri_range from linkml.generators.shacl.shacl_data_type import ShaclDataType from linkml.generators.shacl.shacl_ifabsent_processor import ShaclIfAbsentProcessor from linkml.utils.generator import Generator, shared_arguments from linkml.utils.language_tags import LanguageTagResolver from linkml_runtime.linkml_model.meta import ClassDefinition, ElementName, PresenceEnum +from linkml_runtime.linkml_model.types import SHEX from linkml_runtime.utils.formatutils import underscore from linkml_runtime.utils.rdf_canonicalize import canonicalize_rdf_graph from linkml_runtime.utils.yamlutils import TypedNode, extended_float, extended_int, extended_str @@ -685,37 +687,23 @@ def _add_enum(self, g: Graph, func: Callable, r: ElementName) -> None: ) func(SH["in"], pv_node) - # Type URIs denoting non-literal (IRI or blank-node) values. - # SHACL §4.8.1 - # defines sh:IRI, sh:BlankNode, and sh:BlankNodeOrIRI as valid node kinds. - # These URIs map to sh:IRI or sh:BlankNodeOrIRI constraints (never sh:Literal). - _NON_LITERAL_TYPE_URIS = frozenset( - { - "xsd:anyURI", # uri, uriorcurie → sh:IRI - "http://www.w3.org/ns/shex#nonLiteral", # nodeidentifier → sh:BlankNodeOrIRI - "http://www.w3.org/ns/shex#iri", # future-proofing → sh:IRI - } - ) - # IRI-only subset: uri/uriorcurie must be strict IRI references (sh:IRI), - # while nodeidentifier (shex:nonLiteral) allows blank nodes too (sh:BlankNodeOrIRI). - # See RDF 1.1 §3.2–3.3 . - _IRI_ONLY_TYPE_URIS = frozenset( - { - "xsd:anyURI", - } - ) - def _add_type(self, func: Callable, r: ElementName) -> None: sv = self.schemaview # Types can inherit URI and pattern constraints. rt = sv.induced_type(r) type_uri = rt.uri expanded = sv.get_uri(rt, expand=True) if type_uri else None - if type_uri and (type_uri in self._NON_LITERAL_TYPE_URIS or expanded in self._NON_LITERAL_TYPE_URIS): - if type_uri in self._IRI_ONLY_TYPE_URIS: - func(SH.nodeKind, SH.IRI) - else: - func(SH.nodeKind, SH.BlankNodeOrIRI) + # Resolve vocabulary IRIs before selecting RDF node kinds. The ShEx + # vocabulary distinguishes IRI-only and non-literal (IRI or blank) nodes. + node_kind = None + if expanded == str(SHEX.iri): + node_kind = SH.IRI + elif expanded == str(SHEX.nonLiteral): + node_kind = SH.BlankNodeOrIRI + elif expanded == str(XSD.anyURI) and is_xsd_anyuri_range(sv, r): + node_kind = SH.IRI + if node_kind is not None: + func(SH.nodeKind, node_kind) elif type_uri: func(SH.nodeKind, SH.Literal) func(SH.datatype, URIRef(sv.get_uri(rt, expand=True))) @@ -787,6 +775,10 @@ def _add_annotations(self, func: Callable, item) -> None: if type(annotations) is JsonObj: annotations = as_dict(annotations) for a in annotations.values(): + declared = declared_annotation(sv, item, a["tag"], a["value"], self._resolve_language(item)) + if declared is not None: + func(*declared) + continue # If ':' is in the tag, treat it as a CURIE, otherwise string Literal if ":" in a["tag"]: N_predicate = URIRef(sv.expand_curie(a["tag"])) diff --git a/packages/linkml/src/linkml/generators/shexgen.py b/packages/linkml/src/linkml/generators/shexgen.py index 40a93ffbc9..1a99decb3c 100644 --- a/packages/linkml/src/linkml/generators/shexgen.py +++ b/packages/linkml/src/linkml/generators/shexgen.py @@ -2,23 +2,25 @@ import os import urllib.parse as urlparse +from copy import deepcopy from dataclasses import dataclass, field import click from jsonasobj import as_json as as_json_1 -from rdflib import OWL, RDF, XSD, Graph, Namespace +from rdflib import OWL, RDF, Graph, Namespace from ShExJSG import ShExC from ShExJSG.SchemaWithContext import Schema from ShExJSG.ShExJ import IRIREF, EachOf, NodeConstraint, Shape, ShapeOr, TripleConstraint from linkml import METAMODEL_NAMESPACE, METAMODEL_NAMESPACE_NAME from linkml._version import __version__ -from linkml.generators.common.subproperty import get_subproperty_values +from linkml.generators.common.subproperty import get_subproperty_values, is_xsd_anyuri_range from linkml.utils.generator import Generator, shared_arguments from linkml_runtime.linkml_model.meta import ( ClassDefinition, ElementName, EnumDefinition, + Prefix, SlotDefinition, SlotDefinitionName, TypeDefinition, @@ -27,6 +29,7 @@ from linkml_runtime.utils.formatutils import camelcase, sfx from linkml_runtime.utils.metamodelcore import URIorCURIE from linkml_runtime.utils.rdf_canonicalize import canonicalize_rdf_graph +from linkml_runtime.utils.schemaview import SchemaView @dataclass @@ -67,12 +70,20 @@ def visit_schema(self, **_): # Adjust the schema context to include the base model URI context = self.shex["@context"] self.shex["@context"] = [context, {"@base": self.namespaces._base}] + # SchemaLoader has already resolved imports. Inspect a copy of that + # effective schema without reopening source files or changing provenance. + type_schema = deepcopy(self.schema) + type_schema.imports = [] + for prefix, namespace in self.namespaces.items(): + if not prefix.startswith("@"): + type_schema.prefixes[prefix] = Prefix(prefix, str(namespace)) + type_view = SchemaView(type_schema) # Emit all of the type definitions for typ in self.schema.types.values(): model_uri = self._class_or_type_uri(typ) if typ.uri: typ_type_uri = self.namespaces.uri_for(typ.uri) - if typ_type_uri in (XSD.anyURI, SHEX.iri): + if typ_type_uri == SHEX.iri or is_xsd_anyuri_range(type_view, typ.name): self.shapes.append(NodeConstraint(id=model_uri, nodeKind="iri")) elif typ_type_uri == SHEX.nonLiteral: self.shapes.append(NodeConstraint(id=model_uri, nodeKind="nonliteral")) diff --git a/packages/linkml_runtime/src/linkml_runtime/dumpers/rdflib_dumper.py b/packages/linkml_runtime/src/linkml_runtime/dumpers/rdflib_dumper.py index 177186051a..8c3da30dca 100644 --- a/packages/linkml_runtime/src/linkml_runtime/dumpers/rdflib_dumper.py +++ b/packages/linkml_runtime/src/linkml_runtime/dumpers/rdflib_dumper.py @@ -5,7 +5,7 @@ from curies import Converter from pydantic import BaseModel from rdflib import XSD, Graph, URIRef -from rdflib.namespace import RDF +from rdflib.namespace import RDF, RDFS from rdflib.term import BNode, Literal, Node from linkml_runtime.dumpers.dumper_root import Dumper @@ -101,17 +101,19 @@ def inject_triples( else: return Literal(element.text) if target_type in schemaview.all_types(): - t = schemaview.get_type(target_type) + t = schemaview.induced_type(target_type) dt_uri = t.uri if dt_uri: - if dt_uri in ("rdfs:Resource", "xsd:anyURI"): + if "xsd" not in namespaces: + namespaces["xsd"] = XSD + datatype = namespaces.uri_for(dt_uri) + uri_ancestry = any(name in ("uri", "uriorcurie") for name in schemaview.type_ancestors(target_type)) + if datatype == RDFS.Resource or (datatype == XSD.anyURI and uri_ancestry): return URIRef(schemaview.expand_curie(element)) - elif dt_uri == "xsd:string": + elif datatype == XSD.string: return Literal(element) else: - if "xsd" not in namespaces: - namespaces["xsd"] = XSD - return Literal(element, datatype=namespaces.uri_for(dt_uri)) + return Literal(element, datatype=datatype) else: logger.warning(f"No datatype specified for : {t.name}, using plain Literal") return Literal(element) diff --git a/tests/linkml/test_base/__snapshots__/meta.owl b/tests/linkml/test_base/__snapshots__/meta.owl index 2f02afafd7..dfb05a0bfe 100644 --- a/tests/linkml/test_base/__snapshots__/meta.owl +++ b/tests/linkml/test_base/__snapshots__/meta.owl @@ -19,6 +19,9 @@ @prefix linkml: . @prefix vann1: . @prefix schema1: . +dcterms:conformsTo a owl:AnnotationProperty . +dcterms:license a owl:AnnotationProperty . +dcterms:title a owl:AnnotationProperty . rdf:object a owl:Class , linkml:RelationalRoleEnum ; rdfs:label "OBJECT" ; rdfs:subClassOf linkml:RelationalRoleEnum ; @@ -34,18 +37,29 @@ rdf:subject a owl:Class , linkml:RelationalRoleEnum ; rdfs:subClassOf linkml:RelationalRoleEnum ; skos:definition "a slot with this role connects a relationship to its subject/source node" ; skos:exactMatch owl:annotatedSource . +rdfs:label a owl:AnnotationProperty . +rdfs:seeAlso a owl:AnnotationProperty . +skos:altLabel a owl:AnnotationProperty . skos:broaderMatch a owl:Class , linkml:AliasPredicateEnum ; rdfs:label "BROAD_SYNONYM" ; rdfs:subClassOf linkml:AliasPredicateEnum . -skos:exactMatch a owl:Class , linkml:AliasPredicateEnum ; +skos:closeMatch a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:editorialNote a owl:AnnotationProperty . +skos:exactMatch a owl:AnnotationProperty , owl:Class , linkml:AliasPredicateEnum ; rdfs:label "EXACT_SYNONYM" ; rdfs:subClassOf linkml:AliasPredicateEnum . +skos:inScheme a owl:AnnotationProperty . +skos:mappingRelation a owl:AnnotationProperty . skos:narrowerMatch a owl:Class , linkml:AliasPredicateEnum ; rdfs:label "NARROW_SYNONYM" ; rdfs:subClassOf linkml:AliasPredicateEnum . +skos:note a owl:AnnotationProperty . +skos:prefLabel a owl:AnnotationProperty . skos:relatedMatch a owl:Class , linkml:AliasPredicateEnum ; rdfs:label "RELATED_SYNONYM" ; rdfs:subClassOf linkml:AliasPredicateEnum . +sh:order a owl:AnnotationProperty . linkml:AliasPredicateEnum a owl:Class , linkml:EnumDefinition ; rdfs:label "alias_predicate_enum" ; owl:unionOf _:c14n349 ; @@ -1633,6 +1647,7 @@ linkml:shared a owl:ObjectProperty , linkml:SlotDefinition ; skos:altLabel "inverse functional" , "many to one or many" ; skos:definition "If True, then the relationship between the slot domain and range is many to one or many to many" ; skos:inScheme linkml:meta . +linkml:simple_dict_value a owl:AnnotationProperty . linkml:singular_name a owl:ObjectProperty , linkml:SlotDefinition ; rdfs:domain linkml:SlotDefinition ; rdfs:label "singular_name" ; diff --git a/tests/linkml/test_biolink_model/__snapshots__/biolink.owl.ttl b/tests/linkml/test_biolink_model/__snapshots__/biolink.owl.ttl index 364bcd01db..3450e7dbd0 100644 --- a/tests/linkml/test_biolink_model/__snapshots__/biolink.owl.ttl +++ b/tests/linkml/test_biolink_model/__snapshots__/biolink.owl.ttl @@ -71,6 +71,21 @@ @prefix CTD: . @prefix schema1: . @prefix doi: . +dct:license a owl:AnnotationProperty . +pav:version a owl:AnnotationProperty . +rdfs:label a owl:AnnotationProperty . +rdfs:seeAlso a owl:AnnotationProperty . +skos:altLabel a owl:AnnotationProperty . +skos:broadMatch a owl:AnnotationProperty . +skos:closeMatch a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:editorialNote a owl:AnnotationProperty . +skos:exactMatch a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . +skos:mappingRelation a owl:AnnotationProperty . +skos:narrowMatch a owl:AnnotationProperty . +skos:note a owl:AnnotationProperty . +skos:relatedMatch a owl:AnnotationProperty . os:AllSomeInterpretation a owl:Class , biolink:LogicalInterpretationEnum ; rdfs:label "all_some" ; rdfs:subClassOf biolink:LogicalInterpretationEnum ; @@ -2883,6 +2898,7 @@ biolink:can_be_carried_out_by a owl:ObjectProperty , linkml:SlotDefinition ; rdfs:subPropertyOf biolink:actively_involves ; owl:inverseOf biolink:capable_of ; skos:inScheme . +biolink:canonical_predicate a owl:AnnotationProperty . biolink:capable_of a owl:ObjectProperty , linkml:SlotDefinition ; rdfs:domain biolink:NamedThing ; rdfs:label "capable of" ; @@ -3202,6 +3218,7 @@ biolink:decreases_response_to a owl:ObjectProperty , linkml:SlotDefinition ; skos:narrowMatch CTD:decreases_response_to_substance ; biolink:canonical_predicate true ; biolink:opposite_of "increases response to" . +biolink:denormalized a owl:AnnotationProperty . biolink:deprecated a owl:ObjectProperty , linkml:SlotDefinition ; rdfs:label "deprecated" ; rdfs:range linkml:Boolean ; @@ -5902,6 +5919,7 @@ biolink:xref a owl:ObjectProperty , linkml:SlotDefinition ; skos:definition "A database cross reference or alternative identifier for a NamedThing or edge between two NamedThings. This property should point to a database record or webpage that supports the existence of the edge, or gives more detail about the edge. This property can be used on a node or edge to provide multiple URIs or CURIE cross references." ; skos:inScheme ; skos:narrowMatch gff3:Dbxref , gpi:DB_Xrefs . +linkml:permissible_values a owl:AnnotationProperty . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . _:c14n0 a owl:Restriction ; diff --git a/tests/linkml/test_compliance/test_annotation_compliance.py b/tests/linkml/test_compliance/test_annotation_compliance.py index 8c19c54b85..a0bfa0e642 100644 --- a/tests/linkml/test_compliance/test_annotation_compliance.py +++ b/tests/linkml/test_compliance/test_annotation_compliance.py @@ -58,9 +58,8 @@ def test_annotation( Note annotations do not affect data, so there is no instance data accompanying this test suite. - LinkML 1.6 introduced the "instantiates" metaslot which - can be used to impose structure on annotations. However, this - is not yet implemented. + LinkML's "instantiates" metaslot supplies metadata declarations. + RDF serialization of scalar declarations is distinct from full extension validation. :param framework: some frameworks like sqlite do not support annotations :param name: name of the test @@ -112,6 +111,7 @@ def onode(v: Any): "attributes": { "class_metaslot": { "required": True, + "implements": ["http://www.w3.org/2002/07/owl#AnnotationProperty"], }, } }, diff --git a/tests/linkml/test_generators/input/owl_annotation_properties/AnnotationProbe.java b/tests/linkml/test_generators/input/owl_annotation_properties/AnnotationProbe.java new file mode 100644 index 0000000000..529b1df1e0 --- /dev/null +++ b/tests/linkml/test_generators/input/owl_annotation_properties/AnnotationProbe.java @@ -0,0 +1,74 @@ +import java.io.File; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.List; +import org.semanticweb.owlapi.apibinding.OWLManager; +import org.semanticweb.owlapi.formats.TurtleDocumentFormat; +import org.semanticweb.owlapi.io.RDFParserMetaData; +import org.semanticweb.owlapi.model.IRI; +import org.semanticweb.owlapi.model.OWLAnnotationValue; +import org.semanticweb.owlapi.model.OWLOntology; +import org.semanticweb.owlapi.profiles.OWL2DLProfile; + +/** Check generated artifacts with the pinned OWLAPI, including annotation retention on round-trip. */ +class AnnotationProbe { + private static void verify(OWLOntology ontology, List expectations) { + var report = new OWL2DLProfile().checkOntology(ontology); + if (!report.isInProfile()) { + throw new AssertionError(report.toString()); + } + if (ontology.signature().anyMatch(entity -> + entity.getIRI().toString().startsWith("http://org.semanticweb.owlapi/error#"))) { + throw new AssertionError("Parser recovery entities in ontology"); + } + var metadata = ontology.getOWLOntologyManager().getOntologyFormat(ontology).getOntologyLoaderMetaData(); + if (metadata.isEmpty() || !(metadata.get() instanceof RDFParserMetaData)) { + throw new AssertionError("Missing RDF parser diagnostics"); + } + var rdfMetadata = (RDFParserMetaData) metadata.get(); + if (rdfMetadata.getUnparsedTriples().findAny().isPresent()) { + throw new AssertionError("Unparsed RDF triples: " + rdfMetadata.getUnparsedTriples().toList()); + } + var factory = ontology.getOWLOntologyManager().getOWLDataFactory(); + for (var line : expectations) { + // subject (or 'ontology'), predicate, value kind, value, datatype, language. + var fields = line.split("\t", -1); + var property = factory.getOWLAnnotationProperty(IRI.create(fields[1])); + OWLAnnotationValue value; + if (fields[2].equals("IRI")) { + value = IRI.create(fields[3]); + } else if (!fields[5].isEmpty()) { + value = factory.getOWLLiteral(fields[3], fields[5]); + } else if (!fields[4].isEmpty()) { + value = factory.getOWLLiteral(fields[3], factory.getOWLDatatype(IRI.create(fields[4]))); + } else { + value = factory.getOWLLiteral(fields[3]); + } + boolean retained = fields[0].equals("ontology") + ? ontology.getAnnotations().contains(factory.getOWLAnnotation(property, value)) + : ontology.containsAxiom(factory.getOWLAnnotationAssertionAxiom( + property, IRI.create(fields[0]), value)); + if (!retained) { + throw new AssertionError("Expected annotation lost: " + line); + } + } + } + + public static void main(String[] args) throws Exception { + var source = OWLManager.class.getProtectionDomain().getCodeSource().getLocation().toString(); + if (!source.endsWith("/owlapi-distribution-5.5.0.jar")) { + throw new AssertionError("Unexpected OWLAPI artifact: " + source); + } + var manager = OWLManager.createOWLOntologyManager(); + var ontology = manager.loadOntologyFromOntologyDocument(new File(args[0])); + var expectations = Files.readAllLines(Path.of(args[2])); + if (expectations.isEmpty()) { + throw new AssertionError("No annotation expectations supplied"); + } + verify(ontology, expectations); + var saved = new File(args[1]); + manager.saveOntology(ontology, new TurtleDocumentFormat(), IRI.create(saved)); + verify(OWLManager.createOWLOntologyManager().loadOntologyFromOntologyDocument(saved), expectations); + System.out.println("PASS: OWLAPI 5.5.0; OWL 2 DL; expected annotations survive round-trip"); + } +} diff --git a/tests/linkml/test_generators/input/owl_annotation_properties/pom.xml b/tests/linkml/test_generators/input/owl_annotation_properties/pom.xml new file mode 100644 index 0000000000..ca84f0daab --- /dev/null +++ b/tests/linkml/test_generators/input/owl_annotation_properties/pom.xml @@ -0,0 +1,15 @@ + + 4.0.0 + org.linkml.tests + annotation-consumer-check + 1.0 + + + net.sourceforge.owlapi + owlapi-distribution + 5.5.0 + + + diff --git a/tests/linkml/test_generators/test_anyuri_literal_types.py b/tests/linkml/test_generators/test_anyuri_literal_types.py new file mode 100644 index 0000000000..06a83b898f --- /dev/null +++ b/tests/linkml/test_generators/test_anyuri_literal_types.py @@ -0,0 +1,253 @@ +"""``xsd:anyURI``: an IRI for ``uri`` and ``uriorcurie``, a typed literal for types derived from ``string``. + +A schema can need both behaviours. A slot that points to a resource is an IRI node; a slot +that holds a URI reference as data - a relative file path such as ``./data/file.png`` - must +stay a literal, because JSON-LD resolves an ``@id`` against the document base and turns the +path into a machine-specific absolute IRI. The second is a type derived from ``string`` that +declares ``uri: xsd:anyURI``. + +The OWL generator already decides by type ancestry (:func:`is_xsd_anyuri_range`). These tests +pin the JSON-LD context generator, the SHACL generator and the RDF dumper to the same rule. +""" + +import json + +import pytest +import yaml +from pyshacl import validate +from pyshex import ShExEvaluator +from rdflib import OWL, RDF, SH, XSD, BNode, Graph, Literal, URIRef +from rdflib.compare import isomorphic + +from linkml.generators.jsonldcontextgen import ContextGenerator +from linkml.generators.owlgen import OwlSchemaGenerator +from linkml.generators.pythongen import PythonGenerator +from linkml.generators.shaclgen import ShaclGenerator +from linkml.generators.shexgen import ShExGenerator +from linkml_runtime.dumpers import rdflib_dumper +from linkml_runtime.utils.compile_python import compile_python +from linkml_runtime.utils.schemaview import SchemaView + +SCHEMA = """ +id: https://example.org/anyuri +name: anyuri +prefixes: + ex: https://example.org/ + linkml: https://w3id.org/linkml/ +imports: + - linkml:types +default_prefix: ex +default_range: string + +types: + FilePath: + typeof: string + uri: xsd:anyURI + description: A URI reference kept as a literal; it may be relative. + Homepage: + typeof: uri + description: A uri by derivation, so an IRI. + +slots: + id: + identifier: true + range: uriorcurie + link: + range: uri + slot_uri: ex:link + homepage: + range: Homepage + slot_uri: ex:homepage + path: + range: FilePath + slot_uri: ex:path + +classes: + Resource: + slots: [id, link, homepage, path] +""" + +EX = "https://example.org/" + + +@pytest.mark.parametrize("xsd_anyuri_as_iri", [False, True]) +def test_context_keeps_string_derived_anyuri_a_literal(xsd_anyuri_as_iri: bool) -> None: + """The existing option promotes only the URI family, not literal-valued types.""" + ctx = json.loads(ContextGenerator(SCHEMA, xsd_anyuri_as_iri=xsd_anyuri_as_iri).serialize())["@context"] + assert ctx["path"]["@type"] == "xsd:anyURI" + expected_iri = "@id" if xsd_anyuri_as_iri else "xsd:anyURI" + assert ctx["link"]["@type"] == expected_iri + assert ctx["homepage"]["@type"] == expected_iri + + +ANY_OF_SCHEMA = """ +id: https://example.org/anyuri-any-of +name: anyuri_any_of +prefixes: + ex: https://example.org/ + linkml: https://w3id.org/linkml/ +imports: + - linkml:types +default_prefix: ex +default_range: string +types: + FilePath: + typeof: string + uri: xsd:anyURI +slots: + either_path: + slot_uri: ex:eitherPath + any_of: + - range: Target + - range: FilePath + either_uri: + slot_uri: ex:eitherUri + any_of: + - range: Target + - range: uri +classes: + Target: + class_uri: ex:Target + Holder: + slots: [either_path, either_uri] +""" + + +def test_context_any_of_with_string_derived_anyuri_is_not_promoted() -> None: + """A mixed union coerces scalar values to literals; class values can use explicit node objects.""" + ctx = json.loads(ContextGenerator(ANY_OF_SCHEMA, xsd_anyuri_as_iri=True).serialize())["@context"] + assert ctx["either_path"]["@type"] == "xsd:anyURI" + # a uri branch agrees with the class branch, as before + assert ctx["either_uri"]["@type"] == "@id" + + +def _property_shape(g: Graph, path: str) -> URIRef | BNode: + """Find the generated property shape for an example property.""" + return next(ps for ps in g.subjects(SH.path, URIRef(EX + path))) + + +def test_shacl_string_derived_anyuri_is_a_typed_literal() -> None: + """SHACL preserves literal types while retaining URI-family node kinds.""" + g = Graph().parse(data=ShaclGenerator(SCHEMA, mergeimports=True).serialize(), format="turtle") + + path = _property_shape(g, "path") + assert g.value(path, SH.nodeKind) == SH.Literal + assert g.value(path, SH.datatype) == XSD.anyURI + + for iri_slot in ("link", "homepage"): + ps = _property_shape(g, iri_slot) + assert g.value(ps, SH.nodeKind) == SH.IRI, iri_slot + assert g.value(ps, SH.datatype) is None, iri_slot + + +@pytest.mark.parametrize("xsd_anyuri_as_iri", [False, True]) +def test_owl_string_derived_anyuri_is_a_datatype_property(xsd_anyuri_as_iri: bool) -> None: + """OWL and JSON-LD use the same option boundary.""" + g = OwlSchemaGenerator(SCHEMA, xsd_anyuri_as_iri=xsd_anyuri_as_iri, type_objects=False).as_graph() + assert (URIRef(EX + "path"), RDF.type, OWL.DatatypeProperty) in g + expected = OWL.ObjectProperty if xsd_anyuri_as_iri else OWL.DatatypeProperty + assert (URIRef(EX + "link"), RDF.type, expected) in g + + +def test_dumper_string_derived_anyuri_is_a_typed_literal() -> None: + """Generated Python instances preserve relative URI literals in RDF.""" + module = compile_python(str(PythonGenerator(SCHEMA, mergeimports=True).serialize())) + resource = module.Resource( + id="ex:r1", + link="https://example.org/target", + homepage="https://example.org/home", + path="./data/file.png", + ) + g = rdflib_dumper.as_rdf_graph(resource, schemaview=SchemaView(SCHEMA)) + subject = URIRef(EX + "r1") + + assert g.value(subject, URIRef(EX + "path")) == Literal("./data/file.png", datatype=XSD.anyURI) + assert g.value(subject, URIRef(EX + "link")) == URIRef("https://example.org/target") + assert g.value(subject, URIRef(EX + "homepage")) == URIRef("https://example.org/home") + + +@pytest.mark.parametrize("datatype", ["xsd:anyURI", "xs:anyURI", str(XSD.anyURI)]) +@pytest.mark.parametrize("derived", [False, True]) +@pytest.mark.parametrize("path", ["./data/file.png", "#section", "https://example.net/file"]) +def test_rdf_representation_contract(datatype: str, derived: bool, path: str) -> None: + """Generated contexts and Python RDF agree, and both shape languages validate them.""" + schema = yaml.safe_load(SCHEMA) + schema["prefixes"]["xs"] = str(XSD) + schema["types"]["FilePath"]["uri"] = datatype + schema["types"]["Homepage"]["uri"] = datatype + if derived: + for name in ("FilePath", "Homepage"): + schema["types"][name + "Child"] = {"typeof": name} + schema["slots"]["path"]["range"] = "FilePathChild" + schema["slots"]["homepage"]["range"] = "HomepageChild" + source = yaml.safe_dump(schema) + context = json.loads(ContextGenerator(source, xsd_anyuri_as_iri=True).serialize())["@context"] + document = { + "@context": context, + "@type": "Resource", + "id": "ex:r1", + "link": "https://example.org/target", + "homepage": "https://example.org/home", + "path": path, + } + graph = Graph().parse(data=json.dumps(document), format="json-ld", publicID="https://unrelated.example/base/") + subject = URIRef(EX + "r1") + predicate = URIRef(EX + "path") + assert graph.value(subject, predicate) == Literal(path, datatype=XSD.anyURI) + module = compile_python(str(PythonGenerator(source).serialize())) + instance = module.Resource(**{key: value for key, value in document.items() if not key.startswith("@")}) + dumped = rdflib_dumper.as_rdf_graph(instance, schemaview=SchemaView(source)) + assert isomorphic(graph, dumped) + + shacl = ShaclGenerator(source).as_graph() + shex = ShExGenerator(source).serialize() + assert validate(graph, shacl_graph=shacl, meta_shacl=True)[0] + results = ShExEvaluator(rdf=graph, schema=shex, focus=subject, start=EX + "Resource").evaluate() + assert results and all(result.result for result in results), [result.reason for result in results] + owl = OwlSchemaGenerator(source, xsd_anyuri_as_iri=True, type_objects=False).as_graph() + assert (predicate, RDF.type, OWL.DatatypeProperty) in owl + assert (URIRef(EX + "homepage"), RDF.type, OWL.ObjectProperty) in owl + + for wrong in (URIRef("https://example.org/file"), Literal(path)): + graph.set((subject, predicate, wrong)) + assert not validate(graph, shacl_graph=shacl)[0] + results = ShExEvaluator(rdf=graph, schema=shex, focus=subject, start=EX + "Resource").evaluate() + assert results and not any(result.result for result in results) + + +def test_context_uses_supplied_schema_without_reopening_source() -> None: + """A source_file annotation is provenance, not permission to replace the given schema.""" + schema = SchemaView(SCHEMA).schema + schema.source_file = "/not/a/real/schema.yaml" + context = json.loads(ContextGenerator(schema, xsd_anyuri_as_iri=True).serialize())["@context"] + assert context["path"]["@type"] == "xsd:anyURI" + assert context["homepage"]["@type"] == "@id" + + +def test_uri_ancestry_with_string_datatype_is_not_promoted() -> None: + """An explicit datatype override must agree across all generators.""" + schema = yaml.safe_load(SCHEMA) + schema["types"]["Homepage"]["uri"] = "xsd:string" + source = yaml.safe_dump(schema) + context = json.loads(ContextGenerator(source, xsd_anyuri_as_iri=True).serialize())["@context"] + assert context["homepage"].get("@type") != "@id" + owl = OwlSchemaGenerator(source, xsd_anyuri_as_iri=True, type_objects=False).as_graph() + assert (URIRef(EX + "homepage"), RDF.type, OWL.DatatypeProperty) in owl + shacl = ShaclGenerator(source).as_graph() + assert shacl.value(_property_shape(shacl, "homepage"), SH.datatype) == XSD.string + dumper = rdflib_dumper.inject_triples("https://example.org/value", SchemaView(source), Graph(), "Homepage") + assert dumper == Literal("https://example.org/value") + + +@pytest.mark.parametrize("as_node", [False, True]) +def test_jsonld_union_preserves_literal_and_explicit_node_values(as_node: bool) -> None: + """Both alternatives retain their RDF terms through JSON-LD expansion and SHACL.""" + context = json.loads(ContextGenerator(ANY_OF_SCHEMA, xsd_anyuri_as_iri=True).serialize())["@context"] + value = {"@id": EX + "target", "@type": "Target"} if as_node else "./data/file.png" + document = {"@context": context, "@id": EX + "holder", "@type": "Holder", "either_path": value} + graph = Graph().parse(data=json.dumps(document), format="json-ld", publicID="https://unrelated.example/base/") + expected = URIRef(EX + "target") if as_node else Literal(value, datatype=XSD.anyURI) + assert graph.value(URIRef(EX + "holder"), URIRef(EX + "eitherPath")) == expected + assert validate(graph, shacl_graph=ShaclGenerator(ANY_OF_SCHEMA).as_graph(), meta_shacl=True)[0] + graph.set((URIRef(EX + "holder"), URIRef(EX + "eitherPath"), Literal("wrong datatype"))) + assert not validate(graph, shacl_graph=ShaclGenerator(ANY_OF_SCHEMA).as_graph())[0] diff --git a/tests/linkml/test_generators/test_declared_annotations.py b/tests/linkml/test_generators/test_declared_annotations.py new file mode 100644 index 0000000000..4397dc14d0 --- /dev/null +++ b/tests/linkml/test_generators/test_declared_annotations.py @@ -0,0 +1,238 @@ +"""Declared annotation ranges determine RDF terms independently of vocabulary.""" + +from pathlib import Path + +import pytest +import yaml +from pyshacl import validate +from rdflib import RDF, SH, XSD, BNode, Graph, Literal, URIRef + +from linkml.generators.owlgen import OwlSchemaGenerator +from linkml.generators.shaclgen import ShaclGenerator + +EX = "https://example.org/" +SCHEMA = """ +id: https://example.org/model +name: model +prefixes: + ex: https://example.org/ + linkml: https://w3id.org/linkml/ + owl: http://www.w3.org/2002/07/owl# +imports: [linkml:types] +default_prefix: ex +types: + Reference: + typeof: nodeidentifier + Text: + typeof: string +classes: + Metadata: + class_uri: ex:Metadata + attributes: + reference: + slot_uri: ex:reference + range: Reference + implements: [owl:AnnotationProperty] + text: + slot_uri: ex:text + range: Text + implements: [owl:AnnotationProperty] + Profile: + is_a: Metadata + class_uri: ex:Profile + Thing: + instantiates: [ex:Profile] + annotations: + ex:reference: ex:target + ex:text: https://example.org/literal-text +""" + + +def _graph(source: str | Path, generator: str, **kwargs: object) -> Graph: + """Exercise generated Turtle, including term preservation after parsing.""" + if generator == "owl": + output = OwlSchemaGenerator(source, **kwargs).serialize() + else: + output = ShaclGenerator(source, include_annotations=True, **kwargs).serialize() + return Graph().parse(data=output, format="turtle") + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +@pytest.mark.parametrize("tag_form", ["local", "curie", "iri"]) +@pytest.mark.parametrize("value", ["ex:target", "https://example.net/target", "urn:example:target"]) +def test_declared_ranges(generator: str, tag_form: str, value: str) -> None: + """Inherited declarations handle arbitrary predicates, CURIEs and absolute IRIs.""" + schema = yaml.safe_load(SCHEMA) + prefix = {"local": "", "curie": "ex:", "iri": EX}[tag_form] + schema["classes"]["Thing"]["annotations"] = { + prefix + "reference": value, + prefix + "text": EX + "literal-text", + } + graph = _graph(yaml.safe_dump(schema), generator) + expected = URIRef(EX + "target" if value == "ex:target" else value) + assert list(graph.objects(None, URIRef(EX + "reference"))) == [expected] + assert list(graph.objects(None, URIRef(EX + "text"))) == [Literal(EX + "literal-text")] + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +@pytest.mark.parametrize("owner", ["class", "slot", "type"]) +def test_metadata_owners(generator: str, owner: str) -> None: + """Every annotated shape/resource uses the same declared term conversion.""" + schema = yaml.safe_load(SCHEMA) + metadata = {"instantiates": ["ex:Profile"], "annotations": {"ex:reference": "ex:target"}} + schema["classes"]["Thing"].pop("annotations") + if owner == "class": + schema["classes"]["Thing"].update(metadata) + elif owner == "slot": + schema["classes"]["Thing"]["attributes"] = {"value": {"range": "string", **metadata}} + else: + schema["types"]["Text"].update(metadata) + schema["classes"]["Thing"]["attributes"] = {"value": {"range": "Text"}} + graph = _graph(yaml.safe_dump(schema), generator) + assert URIRef(EX + "target") in graph.objects(None, URIRef(EX + "reference")) + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +def test_imported_metaclass(tmp_path: Path, generator: str) -> None: + """Imported definitions are resolved by class URI, including inherited slots.""" + profile = yaml.safe_load(SCHEMA) + del profile["classes"]["Thing"] + (tmp_path / "profile.yaml").write_text(yaml.safe_dump(profile)) + schema = yaml.safe_load(SCHEMA) + schema["id"] = EX + "consumer" + schema["imports"] = ["profile"] + del schema["types"] + schema["classes"] = {"Thing": schema["classes"]["Thing"]} + source = tmp_path / "consumer.yaml" + source.write_text(yaml.safe_dump(schema)) + assert URIRef(EX + "target") in _graph(source, generator).objects(None, URIRef(EX + "reference")) + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +@pytest.mark.parametrize("value", ["plain text", "relative/path", "https://example.org/%ZZ", 42]) +def test_invalid_node_identifier_fails(generator: str, value: object) -> None: + """A declared node cannot silently become a literal or an invalid RDF IRI.""" + schema = yaml.safe_load(SCHEMA) + schema["classes"]["Thing"]["annotations"]["ex:reference"] = value + with pytest.raises(ValueError, match="requires (an absolute IRI|a node identifier)"): + _graph(yaml.safe_dump(schema), generator) + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +def test_blank_node_and_language(generator: str) -> None: + """Explicit node identifiers allow blank nodes; only text receives a language tag.""" + schema = yaml.safe_load(SCHEMA) + schema["classes"]["Thing"]["annotations"]["ex:reference"] = "_:target" + graph = _graph(yaml.safe_dump(schema), generator, default_language="en") + assert isinstance(next(graph.objects(None, URIRef(EX + "reference"))), BNode) + assert Literal(EX + "literal-text", lang="en") in graph.objects(None, URIRef(EX + "text")) + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +def test_conflicting_metaclasses_fail(generator: str) -> None: + """Different RDF terms cannot be selected by the order of metaclass declarations.""" + schema = yaml.safe_load(SCHEMA) + schema["classes"]["Other"] = { + "attributes": { + "reference": {"slot_uri": "ex:reference", "range": "string", "implements": ["owl:AnnotationProperty"]} + } + } + schema["classes"]["Thing"]["instantiates"].append("ex:Other") + with pytest.raises(ValueError, match="Conflicting metaclass"): + _graph(yaml.safe_dump(schema), generator) + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +def test_uri_literal_is_distinct_from_node(generator: str) -> None: + """The xsd:anyURI datatype does not by itself require an IRI node.""" + schema = yaml.safe_load(SCHEMA) + schema["types"]["Text"]["uri"] = "xsd:anyURI" + graph = _graph(yaml.safe_dump(schema), generator) + assert Literal(EX + "literal-text", datatype=XSD.anyURI) in graph.objects(None, URIRef(EX + "text")) + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +def test_curie_range_is_a_string_literal(generator: str) -> None: + """``curie`` has datatype ``xsd:string``, so its value is a literal, as for + slot values in the other generators; ``nodeidentifier`` declares a node.""" + schema = yaml.safe_load(SCHEMA) + schema["types"]["Reference"]["typeof"] = "curie" + graph = _graph(yaml.safe_dump(schema), generator) + assert set(graph.objects(None, URIRef(EX + "reference"))) == {Literal("ex:target")} + + +@pytest.mark.parametrize( + "type_definition,anyuri_as_iri,expected", + [ + pytest.param({"typeof": "uri"}, False, Literal(EX + "literal-text", datatype=XSD.anyURI), id="uri-default"), + pytest.param({"typeof": "uri"}, True, URIRef(EX + "literal-text"), id="uri-as-iri"), + pytest.param({"typeof": "uriorcurie"}, True, URIRef(EX + "literal-text"), id="uriorcurie-as-iri"), + pytest.param( + {"typeof": "string", "uri": "xsd:anyURI"}, + True, + Literal(EX + "literal-text", datatype=XSD.anyURI), + id="string-derived-stays-literal", + ), + ], +) +def test_owl_anyuri_value_follows_xsd_anyuri_as_iri(type_definition: dict, anyuri_as_iri: bool, expected) -> None: + """``--xsd-anyuri-as-iri`` turns ``uri`` and ``uriorcurie`` annotation values + into IRIs, as it does for slot values; string-derived anyURI types stay literals.""" + schema = yaml.safe_load(SCHEMA) + schema["types"]["Text"] = type_definition + graph = _graph(yaml.safe_dump(schema), "owl", xsd_anyuri_as_iri=anyuri_as_iri) + assert set(graph.objects(None, URIRef(EX + "text"))) == {expected} + + +@pytest.mark.parametrize("generator", ["owl", "shacl"]) +@pytest.mark.parametrize("unsupported", ["structured", "class", "union"]) +def test_unsupported_declared_representation_fails(generator: str, unsupported: str) -> None: + """Unsupported values and mixed range expressions are not silently stringified.""" + schema = yaml.safe_load(SCHEMA) + slot = schema["classes"]["Metadata"]["attributes"]["reference"] + if unsupported == "structured": + schema["classes"]["Thing"]["annotations"]["ex:reference"] = {"value": {"nested": "value"}} + elif unsupported == "class": + slot["range"] = "Thing" + else: + slot["any_of"] = [{"range": "nodeidentifier"}, {"range": "string"}] + with pytest.raises(ValueError, match="scalar"): + _graph(yaml.safe_dump(schema), generator) + + +def test_untyped_metadata_preserves_literal_values() -> None: + """OWL does not infer RDF node kinds from familiar vocabulary names or URL text.""" + schema = yaml.safe_load(SCHEMA) + schema["prefixes"]["dcterms"] = "http://purl.org/dc/terms/" + schema["license"] = "https://example.org/license" + schema["annotations"] = {"dcterms:license": "SPDX:MIT"} + graph = _graph(yaml.safe_dump(schema), "owl") + predicate = URIRef("http://purl.org/dc/terms/license") + assert set(graph.objects(URIRef(EX + "model"), predicate)) == { + Literal("https://example.org/license"), + Literal("SPDX:MIT"), + } + + +def test_owl_header_enum_and_permissible_value() -> None: + """OWL annotation declarations also apply to the ontology and vocabulary resources.""" + schema = yaml.safe_load(SCHEMA) + metadata = {"instantiates": ["ex:Profile"], "annotations": {"ex:reference": "ex:target"}} + schema.update(metadata) + schema["enums"] = {"Choice": {**metadata, "permissible_values": {"A": {"meaning": "ex:A", **metadata}}}} + graph = _graph(yaml.safe_dump(schema), "owl") + for subject in [EX + "model", EX + "Choice", EX + "A"]: + assert (URIRef(subject), URIRef(EX + "reference"), URIRef(EX + "target")) in graph + + +def test_annotations_do_not_constrain_data() -> None: + """Metadata appears on a shape without becoming a required data property.""" + graph = _graph(SCHEMA, "shacl") + shape = next(graph.subjects(SH.targetClass, URIRef(EX + "Thing"))) + assert (shape, URIRef(EX + "reference"), URIRef(EX + "target")) in graph + for prop in graph.objects(shape, SH.property): + assert (prop, SH.path, URIRef(EX + "reference")) not in graph + assert (shape, RDF.type, SH.NodeShape) in graph + data = Graph() + data.add((URIRef(EX + "instance"), RDF.type, URIRef(EX + "Thing"))) + assert validate(data, shacl_graph=graph, meta_shacl=True)[0] diff --git a/tests/linkml/test_generators/test_jsonldcontextgen.py b/tests/linkml/test_generators/test_jsonldcontextgen.py index 72089eba44..44ab1e9afc 100644 --- a/tests/linkml/test_generators/test_jsonldcontextgen.py +++ b/tests/linkml/test_generators/test_jsonldcontextgen.py @@ -1291,8 +1291,8 @@ def test_xsd_anyuri_as_iri_owl_curie_unchanged(): ``curie`` maps to ``xsd:string`` (not ``xsd:anyURI``), so the ``--xsd-anyuri-as-iri`` flag must not promote it to ObjectProperty. This verifies cross-generator consistency: the JSON-LD context generator - already correctly excludes ``curie`` via ``URI_RANGES_WITH_XSD``; the - OWL generator must match via ``is_xsd_anyuri_range()``. + already excludes ``curie``, and both generators decide by + ``is_xsd_anyuri_range()``. """ from rdflib import OWL, RDF, URIRef diff --git a/tests/linkml/test_generators/test_owl_annotation_properties.py b/tests/linkml/test_generators/test_owl_annotation_properties.py new file mode 100644 index 0000000000..24e2898cd3 --- /dev/null +++ b/tests/linkml/test_generators/test_owl_annotation_properties.py @@ -0,0 +1,1004 @@ +"""Explicit OWL roles, real consumers, and the executed generic documentation example.""" + +import json +import os +import subprocess +from copy import deepcopy +from pathlib import Path + +import jsonschema +import pytest +import yaml +from click.testing import CliRunner +from jsonasobj2 import as_dict +from pyshacl import validate +from pyshex import ShExEvaluator +from rdflib import DCTERMS, OWL, RDF, RDFS, SH, SKOS, XSD, Graph, Literal, URIRef + +from linkml.generators.jsonldcontextgen import ContextGenerator +from linkml.generators.jsonldgen import JSONLDGenerator +from linkml.generators.jsonschemagen import JsonSchemaGenerator +from linkml.generators.owlgen import MetadataProfile, OwlSchemaGenerator, cli +from linkml.generators.pythongen import PythonGenerator +from linkml.generators.rdfgen import RDFGenerator +from linkml.generators.shaclgen import ShaclGenerator +from linkml.generators.shexgen import ShExGenerator +from linkml_runtime import SchemaView +from linkml_runtime.dumpers import json_dumper +from linkml_runtime.loaders import yaml_loader + +EX = "https://example.org/" +ROOT = Path(__file__).resolve().parents[3] +EXAMPLE = ROOT / "docs/examples/owl-annotation-properties.yaml" +HARNESS = Path(__file__).parent / "input/owl_annotation_properties" + + +@pytest.fixture +def schema() -> dict: + """Load the same source that Sphinx includes in the OWL documentation.""" + return yaml.safe_load(EXAMPLE.read_text()) + + +def _generator(schema: dict, **options: object) -> OwlSchemaGenerator: + """Use explicit CLI-like options so profile claims have a precise boundary.""" + return OwlSchemaGenerator( + yaml.safe_dump(schema), + **{"use_native_uris": False, "metaclasses": False, "type_objects": False, **options}, + ) + + +def _graph(schema: dict, **options: object) -> Graph: + """Parse the direct serialized artifact without any graph repair.""" + return Graph().parse(data=_generator(schema, **options).serialize(), format="turtle") + + +def _assert_annotation_roles(graph: Graph) -> None: + """APs must not occur in logical restrictions, keys, inverses or characteristics.""" + for predicate in graph.subjects(RDF.type, OWL.AnnotationProperty): + assert (predicate, RDF.type, OWL.ObjectProperty) not in graph + assert (predicate, RDF.type, OWL.DatatypeProperty) not in graph + assert not list(graph.subjects(OWL.onProperty, predicate)) + assert not list(graph.triples((predicate, OWL.inverseOf, None))) + assert not list(graph.triples((None, OWL.inverseOf, predicate))) + for key in graph.objects(None, OWL.hasKey): + assert predicate not in graph.items(key) + for characteristic in [OWL.SymmetricProperty, OWL.TransitiveProperty, OWL.FunctionalProperty]: + assert (predicate, RDF.type, characteristic) not in graph + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("type_objects", [False, True]) +def test_documented_annotation_projection(schema: dict, native: bool, type_objects: bool) -> None: + """RDF value kind and property role remain independent under both URI/type modes.""" + graph = _graph(schema, use_native_uris=native, type_objects=type_objects) + assert (URIRef(EX + "model"), URIRef(EX + "reference"), URIRef(EX + "target")) in graph + assert (URIRef(EX + "model"), URIRef(EX + "text"), Literal(EX + "a-textual-label")) in graph + for name in ["reference", "text"]: + assert (URIRef(EX + name), RDF.type, OWL.AnnotationProperty) in graph + assert (SKOS.inScheme, RDF.type, OWL.AnnotationProperty) in graph + _assert_annotation_roles(graph) + + +@pytest.mark.parametrize( + "role", ["owl:AnnotationProperty", "alternate:AnnotationProperty", str(OWL.AnnotationProperty)] +) +def test_expanded_role_and_unrelated_implements(schema: dict, role: str) -> None: + """Equivalent CURIEs/full IRIs resolve identically and unrelated mappings are retained.""" + schema["prefixes"]["alternate"] = str(OWL) + schema["classes"]["OntologyMetadata"]["attributes"]["reference"]["implements"] = ["ex:Interface", role] + graph = _graph(schema) + assert (URIRef(EX + "reference"), RDF.type, OWL.AnnotationProperty) in graph + _assert_annotation_roles(graph) + + +@pytest.mark.parametrize("role", ["owl:ObjectProperty", "owl:DatatypeProperty"]) +def test_conflicting_explicit_roles(schema: dict, role: str) -> None: + """The order of implements entries cannot choose among incompatible roles.""" + schema["classes"]["OntologyMetadata"]["attributes"]["reference"]["implements"].append(role) + with pytest.raises(ValueError, match="Conflicting OWL property roles.*reference"): + _graph(schema) + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("role", ["owl:ObjectProperty", "owl:DatatypeProperty"]) +def test_metadata_data_collision(schema: dict, native: bool, role: str) -> None: + """Shared output IRIs cannot have both AP and data-property roles.""" + schema["classes"]["Data"] = { + "attributes": {"reference": {"slot_uri": "ex:reference", "range": "string", "implements": [role]}} + } + with pytest.raises(ValueError, match="Conflicting OWL property roles.*https://example.org/reference"): + _graph(schema, use_native_uris=native) + + +def test_mapped_and_local_predicates_are_distinct(schema: dict) -> None: + """Native property URIs need not equal the mapped annotation URI.""" + schema["classes"]["Data"] = {"attributes": {"value": {"slot_uri": "ex:reference", "range": "string"}}} + _assert_annotation_roles(_graph(schema, use_native_uris=True)) + with pytest.raises(ValueError, match="Conflicting OWL property roles.*reference"): + _graph(schema, use_native_uris=False) + + +def test_missing_ap_role_is_not_inferred_from_instantiates(schema: dict) -> None: + """Instantiation and a node range do not convert ordinary properties to APs.""" + for slot in schema["classes"]["OntologyMetadata"]["attributes"].values(): + del slot["implements"] + with pytest.raises(ValueError, match="Conflicting OWL property roles.*reference"): + _graph(schema) + + +@pytest.mark.parametrize("role", ["owl:ObjectProperty", "owl:DatatypeProperty"]) +def test_undeclared_annotations_preserve_logical_rdf_projection(schema: dict, role: str) -> None: + """Untyped metadata on a known logical predicate retains its existing role, terms and restrictions.""" + schema["classes"]["Data"] = { + "attributes": {"value": {"range": "string", "implements": [role]}}, + "annotations": {"ex:value": "https://example.org/intentional-text"}, + } + graph = _graph(schema) + predicate = URIRef(EX + "value") + assert (URIRef(EX + "Data"), predicate, Literal(EX + "intentional-text")) in graph + assert (predicate, RDF.type, URIRef(str(OWL) + role.split(":")[1])) in graph + assert (predicate, RDF.type, OWL.AnnotationProperty) not in graph + assert list(graph.subjects(OWL.onProperty, predicate)) + + +def test_native_metadata_preserves_known_logical_role(schema: dict) -> None: + """Native metadata preserves a schema's logical mapping and its original RDF terms.""" + schema["prefixes"]["skos"] = str(SKOS) + schema["classes"]["Data"] = {} + schema["slots"] = {"origin": {"slot_uri": "skos:inScheme", "range": "string"}} + graph = _graph(schema) + assert (URIRef(EX + "Data"), SKOS.inScheme, URIRef(EX + "model")) in graph + assert (SKOS.inScheme, RDF.type, OWL.DatatypeProperty) in graph + assert (SKOS.inScheme, RDF.type, OWL.AnnotationProperty) not in graph + assert (SKOS.inScheme, RDFS.range, XSD.string) in graph + + +@pytest.mark.parametrize("mergeimports", [False, True]) +@pytest.mark.parametrize("expression_only", [False, True]) +def test_imported_role_conflict(schema: dict, tmp_path: Path, mergeimports: bool, expression_only: bool) -> None: + """An available imported definition participates even without merged output.""" + imported = deepcopy(schema) + imported["id"] = EX + "imported" + imported.pop("annotations") + imported.pop("instantiates") + definition = {"any_of": [{"range": "string"}, {"range": "integer"}]} if expression_only else {"range": "string"} + imported["classes"] = {"Data": {"attributes": {"reference": definition}}} + (tmp_path / "imported.yaml").write_text(yaml.safe_dump(imported)) + schema["imports"].append("imported") + source = tmp_path / "model.yaml" + source.write_text(yaml.safe_dump(schema)) + with pytest.raises(ValueError, match="Conflicting OWL property roles.*reference"): + OwlSchemaGenerator(source, mergeimports=mergeimports, metaclasses=False, type_objects=False).serialize() + + +@pytest.mark.parametrize("mergeimports", [False, True]) +def test_imported_inherited_mixin_roles(schema: dict, tmp_path: Path, mergeimports: bool) -> None: + """Inherited and mixed-in AP definitions remain available to metadata resolution.""" + profile = deepcopy(schema) + profile.pop("instantiates") + profile.pop("annotations") + profile["id"] = EX + "profile" + profile["classes"]["OntologyMetadata"]["mixin"] = True + (tmp_path / "profile.yaml").write_text(yaml.safe_dump(profile)) + schema["imports"].append("profile") + schema["classes"] = {"Profile": {"mixins": ["OntologyMetadata"]}} + schema["instantiates"] = ["ex:Profile"] + source = tmp_path / "model.yaml" + source.write_text(yaml.safe_dump(schema)) + graph = Graph().parse(data=OwlSchemaGenerator(source, mergeimports=mergeimports).serialize(), format="turtle") + assert (URIRef(EX + "model"), URIRef(EX + "reference"), URIRef(EX + "target")) in graph + _assert_annotation_roles(graph) + + +def test_slot_usage_and_inheritance(schema: dict) -> None: + """Inherited implements survives slot_usage induction without mutating the view.""" + attributes = schema["classes"]["OntologyMetadata"].pop("attributes") + schema["slots"] = attributes + schema["classes"]["OntologyMetadata"]["slots"] = list(attributes) + schema["classes"]["Child"] = {"is_a": "OntologyMetadata", "slot_usage": {"reference": {"required": True}}} + generator = _generator(schema) + before = as_dict(generator.schemaview.schema) + first = generator.serialize() + assert as_dict(generator.schemaview.schema) == before + assert generator.serialize() == first + _assert_annotation_roles(Graph().parse(data=first, format="turtle")) + + +@pytest.mark.parametrize( + "field", + [ + "inverse", + "symmetric", + "asymmetric", + "transitive", + "reflexive", + "irreflexive", + "designates_type", + "has_member", + "all_members", + ], +) +def test_explicit_logical_annotation_use_fails(schema: dict, field: str) -> None: + """Explicit logical conditions must not be silently omitted by AP projection.""" + values = {"inverse": "text", "has_member": {"equals_string": "x"}, "all_members": {"equals_string": "x"}} + schema["classes"]["OntologyMetadata"]["attributes"]["reference"][field] = values.get(field, True) + with pytest.raises(ValueError, match="Annotation property.*cannot be used"): + _graph(schema) + + +@pytest.mark.parametrize("flag", ["identifier", "key"]) +def test_annotation_identity_flags_keep_instance_semantics(schema: dict, flag: str) -> None: + """Identity flags retain runtime requiredness and RDF identity while omitting OWL cardinalities.""" + slot = schema["classes"]["OntologyMetadata"]["attributes"]["reference"] + slot[flag] = True + slot.pop("required") + source = yaml.safe_dump(schema) + generator = _generator(schema) + graph = Graph().parse(data=generator.serialize(), format="turtle") + _assert_annotation_roles(graph) + assert not list(graph.triples((None, OWL.hasKey, None))) + assert getattr(generator.schemaview.induced_slot("reference", "OntologyMetadata"), flag) + module = PythonGenerator(source).compile_module() + instance = module.OntologyMetadata(reference=EX + "target", text="text") + assert str(instance.reference) == EX + "target" + with pytest.raises(ValueError, match="reference must be supplied"): + module.OntologyMetadata(text="text") + output = json.loads(JsonSchemaGenerator(source, top_class="OntologyMetadata").serialize()) + jsonschema.validate({"reference": EX + "target", "text": "text"}, output) + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate({"text": "text"}, output) + if flag == "identifier": + context = ContextGenerator(source).serialize() + data = Graph().parse(data=json_dumper.dumps(instance, contexts=context), format="json-ld") + assert (URIRef(EX + "target"), RDF.type, URIRef(EX + "OntologyMetadata")) in data + assert (URIRef(EX + "target"), URIRef(EX + "text"), Literal("text")) in data + + +@pytest.mark.parametrize( + "condition", + [ + "slot_conditions", + "any_of", + "all_of", + "none_of", + "exactly_one_of", + "rules", + "classification_rules", + "unique_keys", + ], +) +def test_logical_class_conditions_fail(schema: dict, condition: str) -> None: + """Nested expressions, rules and keys cannot lose an AP condition.""" + cls = schema["classes"]["OntologyMetadata"] + expression = {"slot_conditions": {"reference": {"equals_string": "ex:target"}}} + if condition == "unique_keys": + cls[condition] = {"key": {"unique_key_slots": ["reference"]}} + elif condition == "rules": + cls[condition] = [{"preconditions": expression, "postconditions": expression}] + elif condition == "slot_conditions": + cls.update(expression) + else: + cls[condition] = [expression] + with pytest.raises(ValueError, match="Annotation property.*cannot be used"): + _graph(schema) + + +@pytest.mark.parametrize("helper", ["_some_values_from", "_has_value", "_add_cardinality_restriction"]) +def test_direct_iri_restriction_helpers_reject_ap(schema: dict, helper: str) -> None: + """Helpers used outside slot translation honor the same role registry.""" + generator = _generator(schema) + generator.as_graph() + args = (OWL.minCardinality, 1) if helper == "_add_cardinality_restriction" else (URIRef(EX + "target"),) + with pytest.raises(ValueError, match="Annotation property.*cannot be used"): + getattr(generator, helper)(URIRef(EX + "reference"), *args) + + +@pytest.mark.parametrize("helper", ["_some_values_from", "_has_value", "_add_cardinality_restriction"]) +@pytest.mark.parametrize("annotation_first", [False, True]) +def test_synthetic_logical_use_conflicts_in_either_order(schema: dict, helper: str, annotation_first: bool) -> None: + """Synthetic restrictions and strict AP emissions cannot acquire contradictory roles in either order.""" + generator = _generator(schema) + generator.as_graph() + predicate = URIRef(EX + "synthetic") + args = (OWL.minCardinality, 1) if helper == "_add_cardinality_restriction" else (URIRef(EX + "target"),) + if annotation_first: + generator._emit_annotation(URIRef(EX + "model"), predicate, Literal("text"), "declared metadata") + with pytest.raises(ValueError, match="Annotation property.*synthetic.*cannot be used"): + getattr(generator, helper)(predicate, *args) + else: + getattr(generator, helper)(predicate, *args) + assert list(generator.graph.subjects(OWL.onProperty, predicate)) + with pytest.raises(ValueError, match="Conflicting OWL property roles.*synthetic"): + generator._emit_annotation(URIRef(EX + "model"), predicate, Literal("text"), "declared metadata") + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("owner", ["ontology", "Annotated", "ZAnnotated"]) +def test_declared_annotation_cannot_retype_synthetic_mixins(schema: dict, native: bool, owner: str) -> None: + """Mapped metadata cannot turn an already used synthetic mixin predicate into an AP.""" + schema["classes"]["OntologyMetadata"]["attributes"]["reference"]["slot_uri"] = "linkml:mixins" + schema["classes"].update({"Marker": {"mixin": True}, "Thing": {"mixins": ["Marker"]}}) + if owner != "ontology": + del schema["annotations"]["reference"] + schema["classes"][owner] = { + "instantiates": ["ex:OntologyMetadata"], + "annotations": {"reference": "ex:target"}, + } + with pytest.raises(ValueError, match="(Annotation property|Conflicting OWL property roles).*linkml/mixins"): + _graph(schema, use_native_uris=native, mixins_as_expressions=True) + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("owner", ["ontology", "Annotated", "ZAnnotated"]) +def test_ordinary_synthetic_mixins_keep_legacy_metadata(schema: dict, native: bool, owner: str) -> None: + """Early and late legacy metadata preserve ordinary mixin restrictions and original literal values.""" + schema["classes"].update({"Marker": {"mixin": True}, "Thing": {"mixins": ["Marker"]}}) + annotations = {"linkml:mixins": "intentional text", "ex:legacy_note": "annotation text"} + subject = URIRef(EX + "model") if owner == "ontology" else URIRef(EX + owner) + if owner == "ontology": + schema["annotations"].update(annotations) + else: + schema["classes"][owner] = {"annotations": annotations} + graph = _graph(schema, use_native_uris=native, mixins_as_expressions=True) + predicate = URIRef("https://w3id.org/linkml/mixins") + assert len(list(graph.subjects(OWL.onProperty, predicate))) == 2 + assert (subject, predicate, Literal("intentional text")) in graph + assert (predicate, RDF.type, OWL.AnnotationProperty) not in graph + assert (subject, URIRef(EX + "legacy_note"), Literal("annotation text")) in graph + assert (URIRef(EX + "legacy_note"), RDF.type, OWL.AnnotationProperty) in graph + _assert_annotation_roles(graph) + + +@pytest.mark.parametrize("native", [False, True]) +def test_legacy_annotation_finalization_is_repeatable(schema: dict, native: bool) -> None: + """Each generation resets candidates without changing the source or inherited AP declarations.""" + schema["classes"].update( + { + "Annotated": {"annotations": {"linkml:mixins": "intentional text", "ex:legacy_note": "text"}}, + "Marker": {"mixin": True}, + "Thing": {"mixins": ["Marker"]}, + "ChildMetadata": {"is_a": "OntologyMetadata"}, + } + ) + generator = _generator(schema, use_native_uris=native, mixins_as_expressions=True) + before = as_dict(generator.schemaview.schema) + first = generator.serialize() + assert as_dict(generator.schemaview.schema) == before + # An emission on the completed graph must not carry candidates into the next run. + generator._emit_annotation( + URIRef(EX + "Annotated"), URIRef(EX + "transient"), Literal("text"), "extra", legacy=True + ) + assert generator.serialize() == first + assert as_dict(generator.schemaview.schema) == before + _assert_annotation_roles(generator.as_graph()) + assert generator.serialize() == first + + +@pytest.mark.parametrize("annotation_first", [False, True]) +def test_legacy_candidate_does_not_hide_strict_role_collision(schema: dict, annotation_first: bool) -> None: + """A pending legacy declaration cannot defer a strict annotation's collision with logical use.""" + generator = _generator(schema) + generator.as_graph() + predicate = URIRef(EX + "synthetic") + subject = URIRef(EX + "model") + generator._emit_annotation(subject, predicate, Literal("legacy text"), "legacy metadata", legacy=True) + if annotation_first: + generator._emit_annotation(subject, predicate, Literal("declared text"), "declared metadata") + with pytest.raises(ValueError, match="Annotation property.*synthetic.*cannot be used"): + generator._some_values_from(predicate, URIRef(EX + "target")) + else: + generator._some_values_from(predicate, URIRef(EX + "target")) + with pytest.raises(ValueError, match="Conflicting OWL property roles.*synthetic"): + generator._emit_annotation(subject, predicate, Literal("declared text"), "declared metadata") + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("configured", [False, True]) +def test_type_object_value_role_repeats(schema: dict, native: bool, configured: bool) -> None: + """The actual synthetic datatype property and its restrictions survive every generation.""" + predicate = URIRef(EX + "custom_value" if configured else "https://w3id.org/linkml/topValue") + tag = "ex:custom_value" if configured else "linkml:topValue" + schema["types"] = {"Count": {"uri": "xsd:integer", "base": "int"}} + schema["classes"]["Annotated"] = {"annotations": {tag: "intentional text"}} + generator = _generator( + schema, use_native_uris=native, type_objects=True, top_value_uri=predicate if configured else None + ) + before = as_dict(generator.schemaview.schema) + first = generator.serialize() + for serialized in [first, generator.serialize(), generator.serialize()]: + assert serialized == first + graph = Graph().parse(data=serialized, format="turtle") + assert (predicate, RDF.type, OWL.DatatypeProperty) in graph + assert (predicate, RDFS.label, Literal("value")) in graph + assert (URIRef(EX + "Annotated"), predicate, Literal("intentional text")) in graph + restrictions = list(graph.objects(URIRef(EX + "Count"), RDFS.subClassOf)) + assert len(restrictions) == 1 + assert (restrictions[0], OWL.onProperty, predicate) in graph + assert (restrictions[0], OWL.qualifiedCardinality, Literal(1)) in graph + assert (restrictions[0], OWL.onDataRange, URIRef(EX + "Count")) in graph + _assert_annotation_roles(graph) + assert as_dict(generator.schemaview.schema) == before + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("predicate", [EX + "reference", str(RDFS.label)]) +def test_preconfigured_type_value_cannot_use_annotation_property(schema: dict, native: bool, predicate: str) -> None: + """A caller-supplied synthetic property IRI cannot bypass explicit or built-in AP roles.""" + schema["types"] = {"Count": {"uri": "xsd:integer", "base": "int"}} + generator = _generator(schema, use_native_uris=native, type_objects=True, top_value_uri=URIRef(predicate)) + for _ in range(2): + with pytest.raises(ValueError, match="Conflicting OWL property roles.*" + predicate): + generator.serialize() + + +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("owner", ["ontology", "Annotated"]) +def test_declared_annotation_cannot_retype_type_object_value(schema: dict, native: bool, owner: str) -> None: + """Strict mapped annotations reject the synthetic DP whether emitted before or after add_type.""" + schema["types"] = {"Count": {"uri": "xsd:integer", "base": "int"}} + schema["classes"]["OntologyMetadata"]["attributes"]["reference"]["slot_uri"] = "linkml:topValue" + if owner != "ontology": + del schema["annotations"]["reference"] + schema["classes"][owner] = { + "instantiates": ["ex:OntologyMetadata"], + "annotations": {"reference": "ex:target"}, + } + with pytest.raises(ValueError, match="Conflicting OWL property roles.*linkml/topValue"): + _graph(schema, use_native_uris=native, type_objects=True) + + +def _shadowed_rule_schema(schema: dict, nested: bool, annotation_attribute: bool = False) -> dict: + """Model independent global and attribute declarations sharing a name, with an actual class rule.""" + schema = deepcopy(schema) + schema["slots"] = { + "shared": {"slot_uri": "ex:metadata", "range": "string", "implements": ["owl:AnnotationProperty"]} + } + attribute = {"slot_uri": "ex:shadowed", "range": "string"} + if annotation_attribute: + attribute["implements"] = ["owl:AnnotationProperty"] + + def condition(value: str) -> dict: + """Exercise both anonymous class and slot-expression recursion.""" + slot = {"all_of": [{"equals_string": value}]} if nested else {"equals_string": value} + expression = {"slot_conditions": {"shared": slot}} + return {"all_of": [expression]} if nested else expression + + schema["classes"]["Data"] = { + "attributes": {"shared": attribute}, + "rules": [{"preconditions": condition("x"), "postconditions": condition("y")}], + } + return schema + + +@pytest.mark.parametrize("nested", [False, True]) +def test_rule_uses_shadowing_attribute_declaration(schema: dict, nested: bool) -> None: + """Rules use their owning class's logical attribute, including its non-default mapped IRI.""" + graph = _graph(_shadowed_rule_schema(schema, nested)) + assert (URIRef(EX + "metadata"), RDF.type, OWL.AnnotationProperty) in graph + assert (URIRef(EX + "shadowed"), RDF.type, OWL.DatatypeProperty) in graph + restrictions = list(graph.subjects(OWL.onProperty, URIRef(EX + "shadowed"))) + # Preserve the existing nested-class quantifier default; this correction + # concerns ownership and the actual predicate selected by the rule. + quantifier = OWL.allValuesFrom if nested else OWL.someValuesFrom + conditions = {} + for node in restrictions: + for filler in graph.objects(node, quantifier): + for facets in graph.objects(filler, OWL.withRestrictions): + for facet in graph.items(facets): + for value in graph.objects(facet, XSD.pattern): + conditions[value] = node + assert set(conditions) == {Literal("x"), Literal("y")} + assert len(set(conditions.values())) == 2 + _assert_annotation_roles(graph) + + +@pytest.mark.parametrize("nested", [False, True]) +def test_rule_rejects_annotation_attribute_selected_by_owner(schema: dict, nested: bool) -> None: + """An actual AP selected in a rule still fails, with the owning attribute's IRI in the diagnostic.""" + with pytest.raises(ValueError, match="Annotation property https://example.org/shadowed cannot be used"): + _graph(_shadowed_rule_schema(schema, nested, annotation_attribute=True)) + + +def test_rule_shadowing_cannot_hide_native_iri_role_collision(schema: dict) -> None: + """Native URIs still reject the genuinely shared output IRI of global AP and logical attribute.""" + with pytest.raises(ValueError, match="Conflicting OWL property roles.*https://example.org/shared"): + _graph(_shadowed_rule_schema(schema, nested=True), use_native_uris=True) + + +@pytest.mark.parametrize( + "predicate", + [ + str(OWL.imports), + str(OWL.versionIRI), + str(OWL.equivalentClass), + str(OWL) + "totallyUnknown", + str(RDF) + "unknown", + str(RDFS) + "unknown", + str(XSD.string), + ], +) +@pytest.mark.parametrize("declared", [False, True]) +def test_reserved_annotation_predicates_fail(schema: dict, predicate: str, declared: bool) -> None: + """OWL 2's entire reserved namespace boundary applies, including unknown names.""" + if declared: + schema["classes"]["OntologyMetadata"]["attributes"]["reference"]["slot_uri"] = predicate + else: + schema["annotations"][predicate] = "ex:target" + with pytest.raises(ValueError, match="Unsupported structural predicate"): + _graph(schema) + + +def test_builtin_annotation_boundary(schema: dict) -> None: + """Table 5's complete nine APs are admitted; structural header IRIs are excluded.""" + expected = { + RDFS.label, + RDFS.comment, + RDFS.seeAlso, + RDFS.isDefinedBy, + OWL.deprecated, + OWL.versionInfo, + OWL.priorVersion, + OWL.backwardCompatibleWith, + OWL.incompatibleWith, + } + assert OwlSchemaGenerator._BUILTIN_ANNOTATION_PROPERTIES == expected + assert not {OWL.imports, OWL.versionIRI, OWL.equivalentClass} & expected + schema["prefixes"]["rdfs"] = str(RDFS) + schema["annotations"].update( + { + "rdfs:" + str(predicate).removeprefix(str(RDFS)) + if str(predicate).startswith(str(RDFS)) + else "owl:" + str(predicate).removeprefix(str(OWL)): "text" + for predicate in expected + } + ) + graph = _graph(schema) + for predicate in expected: + assert (URIRef(EX + "model"), predicate, Literal("text")) in graph + + +@pytest.mark.parametrize("predicate", sorted(OwlSchemaGenerator._BUILTIN_ANNOTATION_PROPERTIES)) +@pytest.mark.parametrize("native", [False, True]) +def test_builtin_role_uses_actual_output_iri(schema: dict, predicate: URIRef, native: bool) -> None: + """Every specification-defined AP gets its role implicitly only at its actual output IRI.""" + schema["classes"]["Data"] = {"attributes": {"value": {"slot_uri": str(predicate), "range": "string"}}} + graph = _graph(schema, use_native_uris=native) + actual = URIRef(EX + "value") if native else predicate + role = OWL.DatatypeProperty if native else OWL.AnnotationProperty + assert (actual, RDF.type, role) in graph + assert bool(list(graph.subjects(OWL.onProperty, actual))) == native + _assert_annotation_roles(graph) + + +@pytest.mark.parametrize("predicate", sorted(OwlSchemaGenerator._BUILTIN_ANNOTATION_PROPERTIES)) +@pytest.mark.parametrize("role", ["owl:ObjectProperty", "owl:DatatypeProperty"]) +def test_explicit_wrong_builtin_role_fails(schema: dict, predicate: URIRef, role: str) -> None: + """The normative built-in boundary rejects contradictory explicit logical roles.""" + schema["classes"]["Data"] = { + "attributes": {"value": {"slot_uri": str(predicate), "range": "string", "implements": [role]}} + } + with pytest.raises(ValueError, match="Conflicting OWL property roles"): + _graph(schema) + + +def test_legal_global_annotation_axioms(schema: dict) -> None: + """Annotation domain/range are named IRIs and subproperties preserve AP roles.""" + schema["slots"] = { + "parent": {"implements": ["owl:AnnotationProperty"], "range": "string"}, + "child": { + "is_a": "parent", + "implements": ["owl:AnnotationProperty"], + "range": "string", + "domain": "OntologyMetadata", + "pattern": "^x$", + }, + } + graph = _graph(schema) + assert (URIRef(EX + "child"), RDFS.subPropertyOf, URIRef(EX + "parent")) in graph + assert (URIRef(EX + "child"), RDFS.domain, URIRef(EX + "OntologyMetadata")) in graph + assert (URIRef(EX + "child"), RDFS.range, XSD.string) in graph + _assert_annotation_roles(graph) + + +def test_anonymous_global_annotation_range_fails(schema: dict) -> None: + """Annotation-property ranges cannot reuse anonymous logical range builders.""" + schema["slots"] = {"value": {"implements": ["owl:AnnotationProperty"], "any_of": [{"range": "string"}]}} + with pytest.raises(ValueError, match="requires a named IRI range"): + _graph(schema) + + +@pytest.mark.parametrize("role", ["owl:ObjectProperty", "owl:DatatypeProperty"]) +@pytest.mark.parametrize("literal", [False, True]) +def test_enum_membership_preserves_declared_data_role(schema: dict, role: str, literal: bool) -> None: + """The LinkML enum relation retains a schema data role and rejects incompatible RDF values.""" + schema["slots"] = {"membership": {"slot_uri": "linkml:permissible_values", "range": "string", "implements": [role]}} + schema["enums"] = { + "Choice": { + "implements": ["rdfs:Literal"] if literal else ["owl:Class"], + "permissible_values": {"A": {"meaning": "ex:A"}}, + } + } + if literal != (role == "owl:DatatypeProperty"): + with pytest.raises(ValueError, match="Conflicting OWL property roles.*permissible_values"): + _graph(schema) + else: + graph = _graph(schema) + predicate = URIRef("https://w3id.org/linkml/permissible_values") + expected = Literal("A") if literal else URIRef(EX + "A") + assert (URIRef(EX + "Choice"), predicate, expected) in graph + assert (predicate, RDF.type, OWL.AnnotationProperty) not in graph + assert (predicate, RDF.type, URIRef(str(OWL) + role.split(":")[1])) in graph + + +def _mixed_enum_schema(schema: dict, role: str | None) -> dict: + """Declare mixed PV kinds and an optional independent schema role for their membership predicate.""" + schema = deepcopy(schema) + schema["prefixes"]["dcterms"] = str(DCTERMS) + schema["classes"]["Thing"] = {} + schema["enums"] = { + "Mixed": { + "permissible_values": { + "C": {"meaning": "ex:C", "implements": ["owl:Class"]}, + "I": {"meaning": "ex:I", "implements": ["owl:NamedIndividual"]}, + } + } + } + if role is not None: + schema["slots"] = {"member_of": {"slot_uri": "dcterms:isPartOf", "range": "Thing", "implements": [role]}} + schema["classes"]["Carrier"] = {"slots": ["member_of"]} + return schema + + +@pytest.mark.parametrize("role", [None, "owl:AnnotationProperty", "owl:ObjectProperty"]) +@pytest.mark.parametrize("native", [False, True]) +def test_mixed_enum_membership_respects_existing_role(schema: dict, role: str | None, native: bool) -> None: + """Mixed enums preserve membership triples, logical restrictions, and independent AP projections.""" + graph = _graph(_mixed_enum_schema(schema, role), use_native_uris=native) + for name in ["C", "I"]: + assert (URIRef(EX + name), DCTERMS.isPartOf, URIRef(EX + "Mixed")) in graph + logical_membership = role == "owl:ObjectProperty" and not native + assert ((DCTERMS.isPartOf, RDF.type, OWL.AnnotationProperty) in graph) == (not logical_membership) + if role == "owl:ObjectProperty": + predicate = URIRef(EX + "member_of") if native else DCTERMS.isPartOf + assert (predicate, RDF.type, OWL.ObjectProperty) in graph + assert (predicate, RDFS.range, URIRef(EX + "Thing")) in graph + assert list(graph.subjects(OWL.onProperty, predicate)) + _assert_annotation_roles(graph) + + +def test_declared_ap_metadata_still_conflicts_with_mixed_enum_data_role(schema: dict) -> None: + """Legacy synthetic membership does not relax strict declared metaclass annotation collisions.""" + schema = _mixed_enum_schema(schema, "owl:ObjectProperty") + schema["classes"]["OntologyMetadata"]["attributes"]["reference"]["slot_uri"] = "dcterms:isPartOf" + with pytest.raises(ValueError, match="Conflicting OWL property roles.*isPartOf"): + _graph(schema) + + +def test_logical_subproperty_of_annotation_fails(schema: dict) -> None: + """Explicitly overriding an AP parent's role does not produce a cross-role axiom.""" + schema["slots"] = { + "parent": {"implements": ["owl:AnnotationProperty"], "range": "string"}, + "child": {"is_a": "parent", "implements": ["owl:DatatypeProperty"], "range": "string"}, + } + with pytest.raises(ValueError, match="Annotation property.*logical subproperty"): + _graph(schema) + + +def test_ordinary_expression_inference_and_contextual_enum(schema: dict) -> None: + """Expression-only DP inference and local enum refinements keep their prior declarations.""" + schema.pop("annotations") + schema.pop("instantiates") + schema["slots"] = { + "union_value": {"any_of": [{"range": "string"}, {"range": "integer"}]}, + "text_value": {"range": "string"}, + "unconstrained": {}, + } + schema["enums"] = {"Choice": {"permissible_values": {"A": {}}}} + schema["classes"] = { + "Data": {"slots": ["union_value", "text_value"], "slot_usage": {"text_value": {"range": "Choice"}}} + } + graph = _graph(schema) + assert (URIRef(EX + "union_value"), RDF.type, OWL.DatatypeProperty) in graph + assert (URIRef(EX + "text_value"), RDF.type, OWL.DatatypeProperty) in graph + assert list(graph.subjects(OWL.onProperty, URIRef(EX + "union_value"))) + schema["default_range"] = "string" + graph = _graph(schema) + assert not list(graph.objects(URIRef(EX + "unconstrained"), RDFS.range)) + + +def test_same_name_attributes_use_their_own_iris(schema: dict) -> None: + """Two attributes with the same name may have distinct mapped predicates and roles.""" + schema["classes"]["Data"] = {"attributes": {"reference": {"slot_uri": "ex:data_reference", "range": "string"}}} + graph = _graph(schema) + assert (URIRef(EX + "data_reference"), RDF.type, OWL.DatatypeProperty) in graph + assert list(graph.subjects(OWL.onProperty, URIRef(EX + "data_reference"))) + _assert_annotation_roles(graph) + + +@pytest.mark.parametrize("equivalent", [False, True]) +def test_class_mappings_and_ols_intent(schema: dict, equivalent: bool) -> None: + """Mapping and OLS annotations are declared; structural equivalence stays structural.""" + schema["classes"]["OntologyMetadata"]["class_uri"] = "ex:Mapped" + graph = _graph( + schema, use_native_uris=True, assert_equivalent_classes=equivalent, metadata_profile=MetadataProfile.ols + ) + if equivalent: + assert (URIRef(EX + "OntologyMetadata"), OWL.equivalentClass, URIRef(EX + "Mapped")) in graph + assert (OWL.equivalentClass, RDF.type, OWL.AnnotationProperty) not in graph + else: + assert (SKOS.exactMatch, RDF.type, OWL.AnnotationProperty) in graph + assert (URIRef("http://purl.obolibrary.org/obo/IAO_0000700"), RDF.type, OWL.AnnotationProperty) in graph + + +def test_cli_and_api_defaults(schema: dict, tmp_path: Path) -> None: + """Default API and explicit CLI options retain the same declared annotation terms.""" + source = tmp_path / "model.yaml" + source.write_text(yaml.safe_dump(schema)) + api_graph = Graph().parse(data=OwlSchemaGenerator(source).serialize(), format="turtle") + _assert_annotation_roles(api_graph) + result = CliRunner().invoke(cli, [str(source), "--no-type-objects", "--no-metaclasses", "--no-use-native-uris"]) + assert result.exit_code == 0, result.output + cli_graph = Graph().parse(data=result.output, format="turtle") + assert URIRef(EX + "target") in cli_graph.objects(None, URIRef(EX + "reference")) + _assert_annotation_roles(cli_graph) + + +def _data(reference: object, text: object) -> Graph: + """Construct actual metadata-class instances with chosen RDF value kinds.""" + graph = Graph() + node = URIRef(EX + "instance") + graph.add((node, RDF.type, URIRef(EX + "OntologyMetadata"))) + graph.add((node, URIRef(EX + "reference"), reference)) + graph.add((node, URIRef(EX + "text"), text)) + return graph + + +@pytest.mark.parametrize("valid", [True, False]) +def test_shacl_instance_constraints_and_shape_annotations(schema: dict, valid: bool) -> None: + """OWL AP projection leaves SHACL metadata-instance validation and shape annotations intact.""" + schema["classes"]["Thing"] = {"instantiates": schema["instantiates"], "annotations": schema["annotations"]} + output = ShaclGenerator(yaml.safe_dump(schema), include_annotations=True).serialize() + graph = Graph().parse(data=output, format="turtle") + shape = next(graph.subjects(SH.targetClass, URIRef(EX + "Thing"))) + assert (shape, URIRef(EX + "reference"), URIRef(EX + "target")) in graph + data = _data(URIRef(EX + "target") if valid else Literal("ex:target"), Literal("text")) + assert validate(data, shacl_graph=graph, meta_shacl=True)[0] == valid + data = _data(URIRef(EX + "target"), Literal("text") if valid else URIRef(EX + "text")) + assert validate(data, shacl_graph=graph, meta_shacl=True)[0] == valid + + +def test_jsonschema_metadata_instances(schema: dict) -> None: + """JSON accepts strings for both ranges and rejects a number without promising RDF node kinds.""" + output = json.loads(JsonSchemaGenerator(yaml.safe_dump(schema), top_class="OntologyMetadata").serialize()) + jsonschema.validate({"reference": EX + "target", "text": "text"}, output) + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate({"reference": 42, "text": "text"}, output) + with pytest.raises(jsonschema.ValidationError): + jsonschema.validate({"reference": EX + "target"}, output) + + +@pytest.mark.parametrize("valid", [True, False]) +def test_shex_real_metadata_instances(schema: dict, valid: bool) -> None: + """A real ShEx consumer enforces the original nodeidentifier/string instance contract.""" + output = ShExGenerator(yaml.safe_dump(schema)).serialize() + data = _data(URIRef(EX + "target") if valid else Literal("text"), Literal("text")) + results = ShExEvaluator(rdf=data, schema=output, focus=EX + "instance", start=EX + "OntologyMetadata").evaluate() + assert results and all(result.result == valid for result in results), results + + +def test_generated_python_and_schema_runtime(schema: dict, tmp_path: Path) -> None: + """Generated Python retains instance fields; loading a schema preserves declarations and metadata.""" + source = tmp_path / "model.yaml" + source.write_text(yaml.safe_dump(schema)) + module = PythonGenerator(source).compile_module() + instance = yaml_loader.load({"reference": EX + "target", "text": "text"}, target_class=module.OntologyMetadata) + assert str(instance.reference) == EX + "target" + assert instance.text == "text" + with pytest.raises(ValueError, match="reference must be supplied"): + module.OntologyMetadata(text="text") + view = SchemaView(source) + slot = view.induced_slot("reference", "OntologyMetadata") + assert slot.range == "nodeidentifier" + assert slot.implements == ["owl:AnnotationProperty"] + assert view.schema.annotations["reference"].value == "ex:target" + # Python YAMLRoot intentionally coerces string fields; it is not JSON Schema validation. + coerced = module.OntologyMetadata(reference=EX + "target", text=42) + assert coerced.text == "42" + + +def test_rdf_jsonld_preserve_schema_metadata(schema: dict) -> None: + """Schema serialization keeps LinkML annotation objects, their original values, and implements.""" + import linkml_runtime + + context = Path(linkml_runtime.__file__).parent / "linkml_model/jsonld/meta.context.jsonld" + view = SchemaView(yaml.safe_dump(schema)) + view.merge_imports() + view.schema.imports = [] + encoded = JSONLDGenerator(view.schema, metamodel_context=str(context)).serialize() + graph = Graph().parse(data=encoded, format="json-ld") + rdf = Graph().parse(data=RDFGenerator(view.schema).serialize(context=[str(context)]), format="turtle") + linkml = "https://w3id.org/linkml/" + for artifact in [graph, rdf]: + # Annotation.value is mapped to skos:example by the vendored metamodel context. + assert Literal("ex:target") in artifact.objects(None, SKOS.example) + assert Literal("https://example.org/a-textual-label") in artifact.objects(None, SKOS.example) + assert list(artifact.triples((None, URIRef(linkml + "instantiates"), None))) + assert list(artifact.triples((None, URIRef(linkml + "implements"), None))) + assert (URIRef(EX + "model"), URIRef(EX + "reference"), URIRef(EX + "target")) not in artifact + + +@pytest.fixture +def owlapi_classpath() -> str: + """Require a prepared dependency tree in the dedicated CI job; never fetch from pytest.""" + filename = os.environ.get("LINKML_OWLAPI_CLASSPATH_FILE") + if not filename: + if os.environ.get("LINKML_REQUIRE_OWLAPI") == "1": + pytest.fail("Required OWLAPI gate has no LINKML_OWLAPI_CLASSPATH_FILE") + pytest.skip("OWLAPI external consumer runs in its dedicated CI job with a prepared classpath") + classpath = Path(filename).read_text().strip() + assert classpath, "Empty prepared OWLAPI classpath" + return classpath + + +def _probe(schema: dict, tmp_path: Path, classpath: str, rows: list[list[str]], **options: object) -> None: + """Run the real Java consumer on direct generated output and check its round-trip verdict.""" + source = tmp_path / "generated.ttl" + serialized = _generator(schema, **options).serialize() + source.write_text(serialized) + _assert_annotation_roles(Graph().parse(data=serialized, format="turtle")) + expectations = tmp_path / "expected.tsv" + expectations.write_text("\n".join("\t".join(row) for row in rows) + "\n") + result = subprocess.run( + [ + "java", + "--class-path", + classpath, + str(HARNESS / "AnnotationProbe.java"), + str(source), + str(tmp_path / "roundtrip.ttl"), + str(expectations), + ], + check=True, + ) + assert result.returncode == 0 + + +@pytest.mark.integration +@pytest.mark.parametrize("native", [False, True]) +@pytest.mark.parametrize("type_objects", [False, True]) +def test_owlapi_documentation_roundtrip( + schema: dict, tmp_path: Path, owlapi_classpath: str, native: bool, type_objects: bool +) -> None: + """The published generic example has zero profile violations and retains both header values.""" + rows = [ + ["ontology", EX + "reference", "IRI", EX + "target", "", ""], + ["ontology", EX + "text", "LITERAL", EX + "a-textual-label", "", ""], + ] + _probe(schema, tmp_path, owlapi_classpath, rows, use_native_uris=native, type_objects=type_objects) + + +@pytest.mark.integration +def test_owlapi_non_header_owners(schema: dict, tmp_path: Path, owlapi_classpath: str) -> None: + """Class, slot, type, enum and PV annotation assertions survive a real OWLAPI round-trip.""" + metadata = {"instantiates": schema["instantiates"], "annotations": schema["annotations"]} + schema["classes"]["Thing"] = deepcopy(metadata) + schema["slots"] = {"value": {"range": "string", **deepcopy(metadata)}} + # The existing custom typeof-only mapping emits a singleton DataIntersectionOf. + # A direct datatype URI isolates annotation retention from that unrelated profile defect. + schema["types"] = {"Count": {"uri": "xsd:integer", "base": "int", **deepcopy(metadata)}} + schema["enums"] = { + "Choice": {**deepcopy(metadata), "permissible_values": {"A": {"meaning": "ex:A", **deepcopy(metadata)}}} + } + rows = [ + [owner, EX + "reference", "IRI", EX + "target", "", ""] + for owner in ["ontology", EX + "Thing", EX + "value", str(XSD.integer), EX + "Choice", EX + "A"] + ] + _probe(schema, tmp_path, owlapi_classpath, rows) + + +@pytest.mark.integration +def test_owlapi_implicit_builtin_identifier(schema: dict, tmp_path: Path, owlapi_classpath: str) -> None: + """An implicit built-in AP with a LinkML identifier survives the same strict consumer gate.""" + schema["prefixes"]["rdfs"] = str(RDFS) + schema["classes"]["Data"] = { + "attributes": {"label": {"slot_uri": "rdfs:label", "range": "string", "identifier": True}}, + "annotations": {"rdfs:label": "Human label"}, + } + rows = [ + ["ontology", EX + "reference", "IRI", EX + "target", "", ""], + ["ontology", EX + "text", "LITERAL", EX + "a-textual-label", "", ""], + [EX + "Data", str(RDFS.label), "LITERAL", "Human label", "", ""], + ] + _probe(schema, tmp_path, owlapi_classpath, rows) + + +@pytest.mark.integration +@pytest.mark.parametrize("predicate", [EX + "reference", str(RDFS.label)]) +def test_owlapi_unused_preconfigured_type_value( + schema: dict, tmp_path: Path, owlapi_classpath: str, predicate: str +) -> None: + """A configured IRI retains its legal AP role when no synthetic value property is actually emitted.""" + rows = [ + ["ontology", EX + "reference", "IRI", EX + "target", "", ""], + ["ontology", EX + "text", "LITERAL", EX + "a-textual-label", "", ""], + ] + _probe(schema, tmp_path, owlapi_classpath, rows, type_objects=True, top_value_uri=URIRef(predicate)) + + +@pytest.mark.integration +@pytest.mark.parametrize("owner", ["ontology", "Annotated", "ZAnnotated"]) +def test_owlapi_finalized_legacy_annotations(schema: dict, tmp_path: Path, owlapi_classpath: str, owner: str) -> None: + """Finalized genuine APs retain early/late class and ontology values through the real consumer.""" + annotations = {"ex:legacy_note": "annotation text"} + if owner == "ontology": + schema["annotations"].update(annotations) + else: + schema["classes"][owner] = {"annotations": annotations} + rows = [ + ["ontology", EX + "reference", "IRI", EX + "target", "", ""], + ["ontology", EX + "text", "LITERAL", EX + "a-textual-label", "", ""], + ["ontology" if owner == "ontology" else EX + owner, EX + "legacy_note", "LITERAL", "annotation text", "", ""], + ] + _probe(schema, tmp_path, owlapi_classpath, rows) + + +@pytest.mark.integration +def test_owlapi_rule_with_shadowing_attribute(schema: dict, tmp_path: Path, owlapi_classpath: str) -> None: + """A nested rule on a logical attribute shadowing a global AP passes the real profile/round-trip gate.""" + rows = [ + ["ontology", EX + "reference", "IRI", EX + "target", "", ""], + ["ontology", EX + "text", "LITERAL", EX + "a-textual-label", "", ""], + ] + _probe(_shadowed_rule_schema(schema, nested=True), tmp_path, owlapi_classpath, rows) + + +@pytest.mark.integration +@pytest.mark.parametrize("logical", [False, True]) +def test_owlapi_mixed_enum_membership(schema: dict, tmp_path: Path, owlapi_classpath: str, logical: bool) -> None: + """The actual mixed-enum membership assertions survive both OWLAPI load and reload.""" + rows = [ + ["ontology", EX + "reference", "IRI", EX + "target", "", ""], + ["ontology", EX + "text", "LITERAL", EX + "a-textual-label", "", ""], + ] + if not logical: + rows.extend([[EX + name, str(DCTERMS.isPartOf), "IRI", EX + "Mixed", "", ""] for name in ["C", "I"]]) + _probe(_mixed_enum_schema(schema, "owl:ObjectProperty" if logical else None), tmp_path, owlapi_classpath, rows) + if logical: + # The shared probe checks profile validity and annotations. Independently + # assert the retained object-property assertions in both emitted documents. + java_source = tmp_path / "MembershipProbe.java" + java_source.write_text(""" +import java.io.File; +import org.semanticweb.owlapi.apibinding.OWLManager; +import org.semanticweb.owlapi.model.IRI; + +class MembershipProbe { + public static void main(String[] args) throws Exception { + for (var path : args) { + var manager = OWLManager.createOWLOntologyManager(); + var ontology = manager.loadOntologyFromOntologyDocument(new File(path)); + var factory = manager.getOWLDataFactory(); + var property = factory.getOWLObjectProperty(IRI.create("http://purl.org/dc/terms/isPartOf")); + for (var subject : new String[] {"C", "I"}) { + var assertion = factory.getOWLObjectPropertyAssertionAxiom(property, + factory.getOWLNamedIndividual(IRI.create("https://example.org/" + subject)), + factory.getOWLNamedIndividual(IRI.create("https://example.org/Mixed"))); + if (!ontology.containsAxiom(assertion)) { + throw new AssertionError("Missing mixed-enum membership in " + path + ": " + assertion); + } + } + } + } +} +""") + subprocess.run( + [ + "java", + "--class-path", + owlapi_classpath, + str(java_source), + str(tmp_path / "generated.ttl"), + str(tmp_path / "roundtrip.ttl"), + ], + check=True, + ) diff --git a/tests/linkml/test_issues/__snapshots__/issue_163.owl b/tests/linkml/test_issues/__snapshots__/issue_163.owl index f89ca116ea..88b050f2de 100644 --- a/tests/linkml/test_issues/__snapshots__/issue_163.owl +++ b/tests/linkml/test_issues/__snapshots__/issue_163.owl @@ -60,6 +60,8 @@ ex:unit a owl:ObjectProperty , linkml:SlotDefinition ; rdfs:label "unit" ; rdfs:range ex:Unitcode ; skos:inScheme ex:sample\/example1 . +rdfs:label a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . _:c14n0 a owl:Restriction ; diff --git a/tests/linkml/test_issues/__snapshots__/issue_163b.owl b/tests/linkml/test_issues/__snapshots__/issue_163b.owl index c76655e4af..4a4a703250 100644 --- a/tests/linkml/test_issues/__snapshots__/issue_163b.owl +++ b/tests/linkml/test_issues/__snapshots__/issue_163b.owl @@ -60,6 +60,8 @@ ex:unit a owl:ObjectProperty , linkml:SlotDefinition ; skos:inScheme . a owl:Ontology ; rdfs:label "example1" . +rdfs:label a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . _:c14n0 a owl:Restriction ; diff --git a/tests/linkml/test_issues/__snapshots__/issue_163c.owl b/tests/linkml/test_issues/__snapshots__/issue_163c.owl index 2e4506b525..be34b9eb19 100644 --- a/tests/linkml/test_issues/__snapshots__/issue_163c.owl +++ b/tests/linkml/test_issues/__snapshots__/issue_163c.owl @@ -27,6 +27,10 @@ ex:s2 a owl:ObjectProperty , linkml:SlotDefinition ; skos:prefLabel "source" . ex:sample\/example163c a owl:Ontology ; rdfs:label "example163c" . +rdfs:label a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . +skos:prefLabel a owl:AnnotationProperty . _:c14n0 a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty ex:s1 . diff --git a/tests/linkml/test_issues/__snapshots__/issue_290.owl b/tests/linkml/test_issues/__snapshots__/issue_290.owl index 235810e989..1d253c0dd3 100644 --- a/tests/linkml/test_issues/__snapshots__/issue_290.owl +++ b/tests/linkml/test_issues/__snapshots__/issue_290.owl @@ -1,28 +1,23 @@ -@prefix ex: . -@prefix linkml: . -@prefix owl: . +@prefix rdf: . @prefix rdfs: . @prefix skos: . - -ex:s a owl:ObjectProperty, - owl:SymmetricProperty, - linkml:SlotDefinition ; - rdfs:label "s" ; - rdfs:range ex:C ; - owl:inverseOf ex:t ; - skos:inScheme . - -ex:t a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "t" ; - rdfs:range ex:C ; - skos:inScheme . - -ex:C a owl:Class, - linkml:ClassDefinition ; - rdfs:label "c" ; - skos:inScheme . - +@prefix xsd: . +@prefix owl: . +@prefix linkml: . +@prefix ex: . +ex:C a owl:Class , linkml:ClassDefinition ; + rdfs:label "c" ; + skos:inScheme . +ex:s a owl:ObjectProperty , owl:SymmetricProperty , linkml:SlotDefinition ; + rdfs:label "s" ; + rdfs:range ex:C ; + owl:inverseOf ex:t ; + skos:inScheme . +ex:t a owl:ObjectProperty , linkml:SlotDefinition ; + rdfs:label "t" ; + rdfs:range ex:C ; + skos:inScheme . a owl:Ontology ; - rdfs:label "example.org" . - + rdfs:label "example.org" . +rdfs:label a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . diff --git a/tests/linkml/test_issues/__snapshots__/linkml_issue_384.owl.txt b/tests/linkml/test_issues/__snapshots__/linkml_issue_384.owl.txt index 0dfbd8ea82..585abe5e53 100644 --- a/tests/linkml/test_issues/__snapshots__/linkml_issue_384.owl.txt +++ b/tests/linkml/test_issues/__snapshots__/linkml_issue_384.owl.txt @@ -1,4 +1,8 @@ # --- linkml_issue_384-False-False.owl --- + . + . + . + . . "GeoAge" . _:c14n10 . @@ -177,6 +181,10 @@ _:c14n9 "1"^^ . # --- linkml_issue_384-True-True.owl --- + . + . + . + . . . "GeoAge" . diff --git a/tests/linkml/test_issues/__snapshots__/linkml_issue_387.owl b/tests/linkml/test_issues/__snapshots__/linkml_issue_387.owl index ebc4c29f9f..68167aec24 100644 --- a/tests/linkml/test_issues/__snapshots__/linkml_issue_387.owl +++ b/tests/linkml/test_issues/__snapshots__/linkml_issue_387.owl @@ -1,28 +1,28 @@ +@prefix rdf: . @prefix ex: . -@prefix owl: . @prefix rdfs: . @prefix skos: . @prefix xsd: . - -ex:C1 a owl:Class ; - rdfs:label "C1" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty ex:a ], - [ a owl:Restriction ; - owl:allValuesFrom xsd:string ; - owl:onProperty ex:a ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty ex:a ] ; - skos:inScheme . - +@prefix owl: . +@prefix linkml: . +rdfs:label a owl:AnnotationProperty . xsd:string a rdfs:Datatype . - - a owl:Ontology ; - rdfs:label "test" . - +skos:inScheme a owl:AnnotationProperty . +ex:C1 a owl:Class ; + rdfs:label "C1" ; + rdfs:subClassOf _:c14n0 , _:c14n1 , _:c14n2 ; + skos:inScheme linkml:examples\/test . ex:a a owl:DatatypeProperty ; - rdfs:label "a" ; - skos:inScheme . - + rdfs:label "a" ; + skos:inScheme linkml:examples\/test . +linkml:examples\/test a owl:Ontology ; + rdfs:label "test" . +_:c14n0 a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty ex:a . +_:c14n1 a owl:Restriction ; + owl:allValuesFrom xsd:string ; + owl:onProperty ex:a . +_:c14n2 a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty ex:a . diff --git a/tests/linkml/test_issues/test_linkml_issue_711.py b/tests/linkml/test_issues/test_linkml_issue_711.py index 6195ffa6f1..e4dd75e8d3 100644 --- a/tests/linkml/test_issues/test_linkml_issue_711.py +++ b/tests/linkml/test_issues/test_linkml_issue_711.py @@ -26,6 +26,7 @@ schema: http://schema.org/ ae: http://example.org/annotation-export# oa: http://www.w3.org/ns/oa# + owl: http://www.w3.org/2002/07/owl# default_prefix: ae default_range: string @@ -49,8 +50,10 @@ slots: is current: range: boolean + implements: [owl:AnnotationProperty] metadata: range: string + implements: [owl:AnnotationProperty] name: title: Name diff --git a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.jsonld b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.jsonld index c1db60e45a..d8e2d8a723 100644 --- a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.jsonld +++ b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.jsonld @@ -1,26 +1,18 @@ [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent", + "@id": "http://www.w3.org/2004/02/skos/core#mappingRelation", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "BirthEvent" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" - }, - { - "@id": "_:N60afd31d83864133abecbb1fe14caf83" - }, - { - "@id": "_:Na29e1247ffbc40fcbb7fb2a3660de39e" - }, - { - "@id": "_:N6f458392795b465bb8b72debd47adb6e" + "@value": "activities" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -30,84 +22,82 @@ ] }, { - "@id": "_:N60afd31d83864133abecbb1fe14caf83", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + "@value": "NuSequenceIdentifier13_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Na29e1247ffbc40fcbb7fb2a3660de39e", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N6f458392795b465bb8b72debd47adb6e", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "type" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes", + "@id": "https://example.org/bizcodes/003", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "other codes" + "@value": "PROMOTION" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } ], - "https://w3id.org/linkml/permissible_values": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b" + "@value": "promotion event" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "persons" + "@value": "cordialness" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -117,34 +107,35 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt", + "@id": "https://w3id.org/linkml/permissible_values", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "heartfelt" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@value": "persons" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@value": "warm and hearty friendliness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + "@value": "RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ @@ -154,13 +145,19 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city", + "@id": "http://www.w3.org/2004/02/skos/core#closeMatch", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "city" + "@value": "tree_slot_A" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -170,13 +167,18 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "related to" + "@value": "addresses" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -186,60 +188,88 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/fallible", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Relationship" + "@value": "ceo" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:Nb5c9fe17e07543fca32efed49e36450e" - }, - { - "@id": "_:N07b007b715fd4c33bbd8c4921cc98b5e" - }, - { - "@id": "_:Nbed84608c9694b15a7a63d649e5ecf5c" - }, - { - "@id": "_:Nc93e5425af904602bf146f5f59fec913" - }, + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:N99915d40be5f4df9b8a539de1ab2b41c" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N67db87ff8d0e42c9ae2f9ad2b5e19c84" - }, + "@value": "CordialnessEnum" + } + ], + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "_:N4680841ca5a74bf5baeefbf2c706bfa8" - }, + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" + } + ] + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:N53cf5682fbf641f1a8dc2c8c0558cf61" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/linkml/permissible_values": [ { - "@id": "_:N8a1b79271bae4aa7807a18abc298a133" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" }, { - "@id": "_:Nc155e020ff6a4a04aec85180341d08c4" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" }, { - "@id": "_:N21403332e94d4238a5321085bad0fb09" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsStringIn", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N513500ced8b941e388802c5c8f150157" - }, + "@value": "EqualsStringIn" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nb2729c6d29924eb28870b703d5540bd3" + "@id": "_:N72c6157aa0c1464f90ddd71a2c9c55e5" }, { - "@id": "_:N6156e74d075b4d48bbcf217aece36b75" + "@id": "_:Nf7cb71e299c5437aa5e89341b75daff8" }, { - "@id": "_:N894b315c7cc44a41bb1d8328be5fc020" + "@id": "_:Nfccfbba51dbc45048f5b7075e5af23e5" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -249,23 +279,41 @@ ] }, { - "@id": "_:Nb5c9fe17e07543fca32efed49e36450e", + "@id": "_:N72c6157aa0c1464f90ddd71a2c9c55e5", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@id": "_:Nc783a355d7c6413d9e4c5f57f0b8b4e4" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + } + ] + }, + { + "@id": "_:Nc783a355d7c6413d9e4c5f57f0b8b4e4", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#oneOf": [ + { + "@list": [ + { + "@value": "foo" + }, + { + "@value": "bar" + } + ] } ] }, { - "@id": "_:N07b007b715fd4c33bbd8c4921cc98b5e", + "@id": "_:Nf7cb71e299c5437aa5e89341b75daff8", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -277,12 +325,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" } ] }, { - "@id": "_:Nbed84608c9694b15a7a63d649e5ecf5c", + "@id": "_:Nfccfbba51dbc45048f5b7075e5af23e5", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -294,128 +342,146 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" } ] }, { - "@id": "_:Nc93e5425af904602bf146f5f59fec913", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@value": "other codes" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/linkml/permissible_values": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b" } ] }, { - "@id": "_:N99915d40be5f4df9b8a539de1ab2b41c", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "city" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N67db87ff8d0e42c9ae2f9ad2b5e19c84", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "DiagnosisType" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" - } - ] - }, - { - "@id": "_:N4680841ca5a74bf5baeefbf2c706bfa8", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "https://w3id.org/linkml/permissible_values": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO" } ] }, { - "@id": "_:N53cf5682fbf641f1a8dc2c8c0558cf61", + "@id": "https://w3id.org/linkml/tests/core/ended_at_time", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "ended at time" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@id": "http://www.w3.org/2001/XMLSchema#date" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:N8a1b79271bae4aa7807a18abc298a133", + "@id": "http://www.w3.org/2004/02/skos/core#altLabel", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "MarriageEvent" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation" + }, + { + "@id": "_:N57905377390045208ce7800d1ca7cc29" + }, + { + "@id": "_:N436eddd5aaf04507abfb3866fc4be082" + }, + { + "@id": "_:Nbc1c4566cdfa49b6b6267a5b4c357238" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nc155e020ff6a4a04aec85180341d08c4", + "@id": "_:N57905377390045208ce7800d1ca7cc29", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" } ] }, { - "@id": "_:N21403332e94d4238a5321085bad0fb09", + "@id": "_:N436eddd5aaf04507abfb3866fc4be082", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -427,12 +493,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" } ] }, { - "@id": "_:N513500ced8b941e388802c5c8f150157", + "@id": "_:Nbc1c4566cdfa49b6b6267a5b4c357238", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -444,68 +510,92 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" } ] }, { - "@id": "_:Nb2729c6d29924eb28870b703d5540bd3", + "@id": "https://w3id.org/linkml/tests/core/started_at_time", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "started at time" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "http://www.w3.org/2001/XMLSchema#date" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:N6156e74d075b4d48bbcf217aece36b75", + "@id": "http://www.w3.org/2000/01/rdf-schema#seeAlso", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/TubSubClass1", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "tub sub class 1" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "Same depth as Sub sub class 1" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N894b315c7cc44a41bb1d8328be5fc020", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "heartfelt" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "warm and hearty friendliness" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "street" + "@value": "companies" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -515,24 +605,13 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfMix", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "AnyOfMix" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:Ncc834fed9a354f8783c533534b204b45" - }, - { - "@id": "_:N2e76e85afe2b4de1bba4fe89d2c08b42" - }, - { - "@id": "_:N0b048e3336c94d299f4422cdedc064a5" + "@value": "related to" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -542,87 +621,118 @@ ] }, { - "@id": "_:Ncc834fed9a354f8783c533534b204b45", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "age in years" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "_:N203c4cb6b4c44d0da4959f4e59aac4a3" + "@id": "_:N2b71ec7e82f6457c8624306305ff021d" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" + "@value": "number of years since birth" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N203c4cb6b4c44d0da4959f4e59aac4a3", - "http://www.w3.org/2002/07/owl#unionOf": [ + "@id": "_:N2b71ec7e82f6457c8624306305ff021d", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#intersectionOf": [ { "@list": [ { "@id": "http://www.w3.org/2001/XMLSchema#integer" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "_:N4fb933f469db4ca6b9ed4cadd0229089" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@id": "_:N0c1071b560ca46e9a3a40d39e2e4800d" } ] } ] }, { - "@id": "_:N2e76e85afe2b4de1bba4fe89d2c08b42", + "@id": "_:N4fb933f469db4ca6b9ed4cadd0229089", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" + "@list": [ + { + "@id": "_:N469f307c9cfa44aea6623610d0439531" + } + ] + } + ] + }, + { + "@id": "_:N469f307c9cfa44aea6623610d0439531", + "http://www.w3.org/2001/XMLSchema#minInclusive": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ] }, { - "@id": "_:N0b048e3336c94d299f4422cdedc064a5", + "@id": "_:N0c1071b560ca46e9a3a40d39e2e4800d", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" + "@list": [ + { + "@id": "_:N1503c075fea04670935c7821ee826ad1" + } + ] } ] }, { - "@id": "http://www.w3.org/2001/XMLSchema#integer", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "@id": "_:N1503c075fea04670935c7821ee826ad1", + "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 999 + } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "MedicalEvent" + "@value": "EmploymentEvent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ @@ -630,57 +740,54 @@ "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" }, { - "@id": "_:N6b0b461b31c248f3931c4e1f173f7558" - }, - { - "@id": "_:N8134efc4fd5045a38f060d8d19e6f92e" - }, - { - "@id": "_:N45b4acee638642609295cd7b57d3c368" + "@id": "_:N5d25a6b8dbaa404294b96ed030a6e726" }, { - "@id": "_:N7881f41e8011438e99c21961e4aa146b" + "@id": "_:Ndc4cfa5be8bc40568ca6bb3b6231a6aa" }, { - "@id": "_:N7ec09b4f7e384c3b9b515edd3b0d231d" + "@id": "_:Na45dffb791f14395b75eb6086683b5c4" }, { - "@id": "_:N798f5e34c778423e8ae9550f5969dd15" + "@id": "_:N10a65f29ccaa4b889ad580f5cb2cdab9" }, { - "@id": "_:Nfcae41c8efe34ac1b065d786a077c960" + "@id": "_:N434297f28e254d478da47e8bdf4be2e9" }, { - "@id": "_:N48a2f55dda94469fa5c926565caa2346" - }, - { - "@id": "_:N54904c463c65490aa38821fbf13245e5" + "@id": "_:Nb90fefd76be444a9892b6d93557c244b" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 6 + } ] }, { - "@id": "_:N6b0b461b31c248f3931c4e1f173f7558", + "@id": "_:N5d25a6b8dbaa404294b96ed030a6e726", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" } ] }, { - "@id": "_:N8134efc4fd5045a38f060d8d19e6f92e", + "@id": "_:Ndc4cfa5be8bc40568ca6bb3b6231a6aa", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -692,12 +799,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" } ] }, { - "@id": "_:N45b4acee638642609295cd7b57d3c368", + "@id": "_:Na45dffb791f14395b75eb6086683b5c4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -709,78 +816,43 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" } ] }, { - "@id": "_:N7881f41e8011438e99c21961e4aa146b", + "@id": "_:N10a65f29ccaa4b889ad580f5cb2cdab9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + "@id": "_:N45a7f5d37fad4b30ad27258724a905df" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "_:N7ec09b4f7e384c3b9b515edd3b0d231d", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "@id": "_:N45a7f5d37fad4b30ad27258724a905df", + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" - } - ] - }, - { - "@id": "_:N798f5e34c778423e8ae9550f5969dd15", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" - } - ] - }, - { - "@id": "_:Nfcae41c8efe34ac1b065d786a077c960", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ] } ] }, { - "@id": "_:N48a2f55dda94469fa5c926565caa2346", + "@id": "_:N434297f28e254d478da47e8bdf4be2e9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -792,12 +864,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "_:N54904c463c65490aa38821fbf13245e5", + "@id": "_:Nb90fefd76be444a9892b6d93557c244b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -809,101 +881,71 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent", + "@id": "https://example.org/bizcodes/002", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "MarriageEvent" + "@value": "FIRE" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation" - }, - { - "@id": "_:N908ca98fa3f04ff7b074114026d85abf" - }, - { - "@id": "_:N02335e8a215e49b381efa09bccc45f5a" - }, - { - "@id": "_:N3fc151bb479a4e1f896933bcae3d8e2b" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "https://w3id.org/biolink/opposite": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "HIRE" } ] }, { - "@id": "_:N908ca98fa3f04ff7b074114026d85abf", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" - } + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" + "@value": "has familial relationships" } - ] - }, - { - "@id": "_:N02335e8a215e49b381efa09bccc45f5a", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N3fc151bb479a4e1f896933bcae3d8e2b", + "@id": "http://www.w3.org/2004/02/skos/core#exactMatch", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "is_living" + "@value": "altitude" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#decimal" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -913,18 +955,13 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_marriage_history", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "has marriage history" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent" + "@value": "aliases" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -934,18 +971,18 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with", + "@id": "https://w3id.org/linkml/tests/core/used", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2000/01/rdf-schema#domain": [ { - "@value": "was associated with" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@value": "used" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -955,203 +992,221 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type", + "@id": "http://www.w3.org/2000/01/rdf-schema#label", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "type" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "https://w3id.org/linkml/tests/core/activity_set", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "activity set" + "@value": "Company" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" + }, + { + "@id": "_:N0031194aa3fe456b947a6554bc2aa681" + }, + { + "@id": "_:N6e89ab81b39542f2b274bdfc1172c3da" + }, + { + "@id": "_:Nab7e7722351f4dd09d16d0cd58ee3b83" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3", + "@id": "_:N0031194aa3fe456b947a6554bc2aa681", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "attribute3" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern", + "@id": "_:N6e89ab81b39542f2b274bdfc1172c3da", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" } ] }, { - "@id": "https://example.org/bizcodes/003", + "@id": "_:Nab7e7722351f4dd09d16d0cd58ee3b83", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "PROMOTION" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "promotion event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept", + "@id": "https://w3id.org/linkml/tests/core/was_associated_with", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "ProcedureConcept" + "@value": "was associated with" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" + "@id": "https://w3id.org/linkml/tests/core/Agent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://example.org/bizcodes/002", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "FIRE" + "@value": "indifferent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" } ], - "https://w3id.org/biolink/opposite": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@value": "HIRE" + "@value": "not overly friendly nor obnoxiously spiteful" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata", + "@id": "https://w3id.org/linkml/tests/kitchen_sink.owl.ttl", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Ontology" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://purl.org/dc/terms/title": [ { - "@value": "metadata" + "@value": "Kitchen Sink Schema" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" + "@value": "kitchen_sink" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ { - "@value": "Example of a slot that has an unconstrained range" + "@id": "https://example.org/" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "Kitchen Sink Schema\n\nThis schema does not do anything useful. It exists to test all features of linkml.\n\nThis particular text field exists to demonstrate markdown within a text field:\n\nLists:\n\n * a\n * b\n * c\n\nAnd links, e.g to [Person](Person.md)" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "FamilialRelationship" + "@value": "UNKNOWN" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship" - }, - { - "@id": "_:N207a3af45bd94f91a273f185c3f11570" - }, - { - "@id": "_:Ne6a69b29230a4b2487353f7e3451b4b5" - }, - { - "@id": "_:N5b6d860e0f4c4bcf9dad47b47c754e68" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/opinions", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "FamilialRelationship" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship" + }, + { + "@id": "_:Nd69e1efb2f9a4876bcd2cc9589bc1f00" + }, + { + "@id": "_:Nace3a0fc988846fc8ea9313508d38142" + }, + { + "@id": "_:N8d8f7ebd5f93495bb613b5f17d1f56c8" }, { - "@id": "_:N2a1ad22ba8ba47b6b0a2a1ac4070bb7c" + "@id": "_:N008ba9738f0e4147a1be28e7aa7c71e5" }, { - "@id": "_:N56db2c53fbc443e6aea35f6b79baa2fd" + "@id": "_:N5922eb6038eb446a82bec1132b4be590" }, { - "@id": "_:Na9f020e0e82641b28fff2a1833acf30d" + "@id": "_:N32fd647a23b0466da0b7efde18d2df69" }, { - "@id": "_:Nfbf1acc038cc4008a6726ae6c571bef6" + "@id": "_:Na488bda15d8346ee9073a1f6bde28d25" }, { - "@id": "_:N7d87621257e34b62bdf954bf5974cba6" + "@id": "_:Nc8534c9f29fc410e98735065f3ed9471" }, { - "@id": "_:N2d3a2c1299a44fb3bdb0578d2f8699ce" + "@id": "_:N2748fb1f03e944dfa0b19df75d2cd907" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1167,7 +1222,7 @@ ] }, { - "@id": "_:N207a3af45bd94f91a273f185c3f11570", + "@id": "_:Nd69e1efb2f9a4876bcd2cc9589bc1f00", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1183,7 +1238,7 @@ ] }, { - "@id": "_:Ne6a69b29230a4b2487353f7e3451b4b5", + "@id": "_:Nace3a0fc988846fc8ea9313508d38142", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1200,7 +1255,7 @@ ] }, { - "@id": "_:N5b6d860e0f4c4bcf9dad47b47c754e68", + "@id": "_:N8d8f7ebd5f93495bb613b5f17d1f56c8", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1217,7 +1272,7 @@ ] }, { - "@id": "_:N2a1ad22ba8ba47b6b0a2a1ac4070bb7c", + "@id": "_:N008ba9738f0e4147a1be28e7aa7c71e5", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1233,7 +1288,7 @@ ] }, { - "@id": "_:N56db2c53fbc443e6aea35f6b79baa2fd", + "@id": "_:N5922eb6038eb446a82bec1132b4be590", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1250,7 +1305,7 @@ ] }, { - "@id": "_:Na9f020e0e82641b28fff2a1833acf30d", + "@id": "_:N32fd647a23b0466da0b7efde18d2df69", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1267,7 +1322,7 @@ ] }, { - "@id": "_:Nfbf1acc038cc4008a6726ae6c571bef6", + "@id": "_:Na488bda15d8346ee9073a1f6bde28d25", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1283,7 +1338,7 @@ ] }, { - "@id": "_:N7d87621257e34b62bdf954bf5974cba6", + "@id": "_:Nc8534c9f29fc410e98735065f3ed9471", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1300,7 +1355,7 @@ ] }, { - "@id": "_:N2d3a2c1299a44fb3bdb0578d2f8699ce", + "@id": "_:N2748fb1f03e944dfa0b19df75d2cd907", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1317,161 +1372,58 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies", - "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "companies" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FakeClass", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "FakeClass" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N6e54618f1f594b3fb276df73600be64d" - }, - { - "@id": "_:N298cbd0e06724411bc8787ea8b721cb4" - }, - { - "@id": "_:N5829047ee5c74f69b8be0e2d67e4bf62" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "_:N6e54618f1f594b3fb276df73600be64d", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" - } - ] - }, - { - "@id": "_:N298cbd0e06724411bc8787ea8b721cb4", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" - } - ] - }, - { - "@id": "_:N5829047ee5c74f69b8be0e2d67e4bf62", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "in location" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + "@value": "attribute4" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ], - "https://w3id.org/biolink/opposite": [ - { - "@value": "location_of" - } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "CodeSystem" + "@value": "Concept" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Ne4c50282470f46aa900c5bfb4bb044b3" + "@id": "_:N481f692a1e754a339c979fd2bec1aa24" }, { - "@id": "_:Nce7e273abba641ab9862b68d6f1f9ee5" + "@id": "_:N63796bb51e0347559fd55005187994fe" }, { - "@id": "_:Nae212815f137483eb4b2dd453ee2dd3b" + "@id": "_:N8ac543983b494449beb4802bfeed3e04" }, { - "@id": "_:N69771cef07a741fa93a212cb2914f82c" + "@id": "_:Nadd2bb0ddc9f42b68077b21cdd5ba6cf" }, { - "@id": "_:Na88623665db4405289c9670f13f2f145" + "@id": "_:N34b83d4c6dcd483fba9524ead86dfc3d" }, { - "@id": "_:N271ca287b14e456ba228ce32e16e6446" + "@id": "_:Nc83d22db84364d8eaa8aee0e7a5da591" }, { - "@id": "_:Ncb18735b827a4354959f01c431807b89" + "@id": "_:Nd99d45aac04c4726a363262bccd8e341" }, { - "@id": "_:N57952d3f527e4b0dbdc7285accbad1a8" + "@id": "_:Nb5790dfe5b3b4518beca60259d601708" }, { - "@id": "_:Nbae89cec4fd94537920d5b185fd67f20" + "@id": "_:N93c499cd50e848f5a9ef7653934071cc" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1481,7 +1433,7 @@ ] }, { - "@id": "_:Ne4c50282470f46aa900c5bfb4bb044b3", + "@id": "_:N481f692a1e754a339c979fd2bec1aa24", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1497,7 +1449,7 @@ ] }, { - "@id": "_:Nce7e273abba641ab9862b68d6f1f9ee5", + "@id": "_:N63796bb51e0347559fd55005187994fe", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1514,7 +1466,7 @@ ] }, { - "@id": "_:Nae212815f137483eb4b2dd453ee2dd3b", + "@id": "_:N8ac543983b494449beb4802bfeed3e04", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1531,23 +1483,23 @@ ] }, { - "@id": "_:N69771cef07a741fa93a212cb2914f82c", + "@id": "_:Nadd2bb0ddc9f42b68077b21cdd5ba6cf", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" } ] }, { - "@id": "_:Na88623665db4405289c9670f13f2f145", + "@id": "_:N34b83d4c6dcd483fba9524ead86dfc3d", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1559,12 +1511,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" } ] }, { - "@id": "_:N271ca287b14e456ba228ce32e16e6446", + "@id": "_:Nc83d22db84364d8eaa8aee0e7a5da591", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1576,12 +1528,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" } ] }, { - "@id": "_:Ncb18735b827a4354959f01c431807b89", + "@id": "_:Nd99d45aac04c4726a363262bccd8e341", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1597,7 +1549,7 @@ ] }, { - "@id": "_:N57952d3f527e4b0dbdc7285accbad1a8", + "@id": "_:Nb5790dfe5b3b4518beca60259d601708", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1614,7 +1566,7 @@ ] }, { - "@id": "_:Nbae89cec4fd94537920d5b185fd67f20", + "@id": "_:N93c499cd50e848f5a9ef7653934071cc", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1631,94 +1583,104 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "married to" + "@value": "has medical history" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 5 + } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/core/name", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + "@value": "name" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/core" + } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 2 } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Organization" + "@value": "in code system" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" - }, + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "_:N2a2e679758b54827b103dc1e159c7244" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:Na4608a2a109b48ec9a5b9ada08d06b65" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N15665e8e1aa248179417cb4766092363" - }, + "@value": "class with spaces" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N3b44dd95e53b4374a2cf8de4380d7864" + "@id": "_:N6a30feb1ec494ae5a7e43bb75149ea84" }, { - "@id": "_:Na251771ee1bd4dec8e083926ccbdc656" + "@id": "_:N79118bd384bc4bc3b365e09b275dde5c" }, { - "@id": "_:Nfdd87056dfc142a38f1369bcd1844304" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "An organization.\n\nThis description\nincludes newlines\n\n## Markdown headers\n\n * and\n * a\n * list" + "@id": "_:Nef50afa409cd4fb5893ec7cbb1f02c65" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ], - "http://www.w3.org/ns/shacl#order": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 3 - } ] }, { - "@id": "_:N2a2e679758b54827b103dc1e159c7244", + "@id": "_:N6a30feb1ec494ae5a7e43bb75149ea84", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1729,29 +1691,29 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" } ] }, { - "@id": "_:Na4608a2a109b48ec9a5b9ada08d06b65", + "@id": "_:N79118bd384bc4bc3b365e09b275dde5c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" } ] }, { - "@id": "_:N15665e8e1aa248179417cb4766092363", + "@id": "_:Nef50afa409cd4fb5893ec7cbb1f02c65", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1763,76 +1725,107 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" } ] }, { - "@id": "_:N3b44dd95e53b4374a2cf8de4380d7864", + "@id": "https://w3id.org/linkml/tests/core/activity_set", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "activity set" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/core/Activity" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:Na251771ee1bd4dec8e083926ccbdc656", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "HasAliases" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "_:N4625e2ebe2704afc8f522ae62ec929ae" + }, + { + "@id": "_:N2ef424d3935a496cbdc1c668a82df6d3" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nfdd87056dfc142a38f1369bcd1844304", + "@id": "_:N4625e2ebe2704afc8f522ae62ec929ae", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" + } + ] + }, + { + "@id": "_:N2ef424d3935a496cbdc1c668a82df6d3", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfClasses", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "HasAliases" + "@value": "AnyOfClasses" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nc09af9427c4b45769d64342afbc3ef70" + "@id": "_:Ne3145a6a1c96446d968a7962f57482b6" }, { - "@id": "_:Ncc2718e813284aa1b8fb6d39ae1cca21" + "@id": "_:N59514fcd103740e0bad6d72905e9585d" + }, + { + "@id": "_:N3b1c54e00313490cab6887dea70b7d40" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1842,23 +1835,38 @@ ] }, { - "@id": "_:Nc09af9427c4b45769d64342afbc3ef70", + "@id": "_:Ne3145a6a1c96446d968a7962f57482b6", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "_:N30466b8632dd485b8db2ec4cb8da5254" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + } + ] + }, + { + "@id": "_:N30466b8632dd485b8db2ec4cb8da5254", + "http://www.w3.org/2002/07/owl#unionOf": [ + { + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" + } + ] } ] }, { - "@id": "_:Ncc2718e813284aa1b8fb6d39ae1cca21", + "@id": "_:N59514fcd103740e0bad6d72905e9585d", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1870,7 +1878,99 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + } + ] + }, + { + "@id": "_:N3b1c54e00313490cab6887dea70b7d40", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "CHILD_OF" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "DEAD" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + } + ] + }, + { + "@id": "http://www.w3.org/2004/02/skos/core#definition", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_marriage_history", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "has marriage history" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "code systems" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, @@ -1886,37 +1986,37 @@ ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nbf183bf5211f4994a241bd7ab74f6a11" + "@id": "_:N98f3c107fe504457b230bc967e213275" }, { - "@id": "_:Nf73d42f314ad46538907ec8b5dfcbafc" + "@id": "_:N87740c4725914faeb2286c1d1af8d808" }, { - "@id": "_:Ndae2d68a10714800b9d0e43ca2c18b72" + "@id": "_:Nd52ad62242904cb09a682eb90c542c18" }, { - "@id": "_:N1aa4afffe9e04eec99c24eb81543b674" + "@id": "_:N8c14eb2165e841378363bc4b3f7ac5a1" }, { - "@id": "_:Nc3e7729ba1694fbeb899e385b8af761f" + "@id": "_:N591b05cd49454913990499a902021f37" }, { - "@id": "_:N1424eacf38fb4f89bff291819d34e9fb" + "@id": "_:Nb92b016f92c0490094bbdd070138f831" }, { - "@id": "_:N633be931a3774a2782801aeed2f7a015" + "@id": "_:N548474c2008e4717acb0942596dbd798" }, { - "@id": "_:N92cf686e982f4724ab3b0311275f9b95" + "@id": "_:Nee40a524d49a461abc82f68b2a9aefd7" }, { - "@id": "_:N95090dbc979342169afc4e656921faad" + "@id": "_:N86d711eac1074ba58b25b1817368465f" }, { - "@id": "_:Nd33f6c7975054d6f9d18e3eadaab58f6" + "@id": "_:N68b8a0ee58284c4b9e9763b9ae7fc249" }, { - "@id": "_:Nb0c59b1415ae4f0c99a693909ac145cb" + "@id": "_:N13ecad58d0294c96bf5121acbd9610ba" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1932,7 +2032,7 @@ ] }, { - "@id": "_:Nbf183bf5211f4994a241bd7ab74f6a11", + "@id": "_:N98f3c107fe504457b230bc967e213275", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1948,7 +2048,7 @@ ] }, { - "@id": "_:Nf73d42f314ad46538907ec8b5dfcbafc", + "@id": "_:N87740c4725914faeb2286c1d1af8d808", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1965,7 +2065,7 @@ ] }, { - "@id": "_:Ndae2d68a10714800b9d0e43ca2c18b72", + "@id": "_:Nd52ad62242904cb09a682eb90c542c18", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1981,7 +2081,7 @@ ] }, { - "@id": "_:N1aa4afffe9e04eec99c24eb81543b674", + "@id": "_:N8c14eb2165e841378363bc4b3f7ac5a1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1998,7 +2098,7 @@ ] }, { - "@id": "_:Nc3e7729ba1694fbeb899e385b8af761f", + "@id": "_:N591b05cd49454913990499a902021f37", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2014,7 +2114,7 @@ ] }, { - "@id": "_:N1424eacf38fb4f89bff291819d34e9fb", + "@id": "_:Nb92b016f92c0490094bbdd070138f831", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2031,7 +2131,7 @@ ] }, { - "@id": "_:N633be931a3774a2782801aeed2f7a015", + "@id": "_:N548474c2008e4717acb0942596dbd798", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2047,7 +2147,7 @@ ] }, { - "@id": "_:N92cf686e982f4724ab3b0311275f9b95", + "@id": "_:Nee40a524d49a461abc82f68b2a9aefd7", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2064,7 +2164,7 @@ ] }, { - "@id": "_:N95090dbc979342169afc4e656921faad", + "@id": "_:N86d711eac1074ba58b25b1817368465f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2081,7 +2181,7 @@ ] }, { - "@id": "_:Nd33f6c7975054d6f9d18e3eadaab58f6", + "@id": "_:N68b8a0ee58284c4b9e9763b9ae7fc249", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2097,7 +2197,7 @@ ] }, { - "@id": "_:Nb0c59b1415ae4f0c99a693909ac145cb", + "@id": "_:N13ecad58d0294c96bf5121acbd9610ba", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2114,220 +2214,210 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsStringIn", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EqualsStringIn" + "@value": "Person" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "https://en.wikipedia.org/wiki/Person" + }, + { + "@id": "http://schema.org/Person" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Naf216a1574804982a1c84f904fc1420e" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" + }, + { + "@id": "_:N7b8eedda339b4304bc643966e2034387" + }, + { + "@id": "_:N749812541c00498fa18fdad22bb1efc4" + }, + { + "@id": "_:N4fb34acbbe8c4c85bf5aad822b974926" + }, + { + "@id": "_:Ne57003fcb8784b9299c6b0a784ba6c4f" + }, + { + "@id": "_:Nb0c65a3869fe49eab9d216a7bc61ef1b" + }, + { + "@id": "_:N7da2cb4b4c0a409db37f7b2f206d9a8b" + }, + { + "@id": "_:N5553c0c21ba247cea9c4c5460837a15f" + }, + { + "@id": "_:N7abb7b7545d24cf3b54eeabd1c3d0e3c" + }, + { + "@id": "_:N54702605ea6d4f039458010360ba2e19" + }, + { + "@id": "_:N4e2e88e23a92459e847d4e41c5070088" + }, + { + "@id": "_:N1db7f2650c28405c8f27305e8e36d9cc" + }, + { + "@id": "_:Naf8a6e361e96410a8cac0dbd7b204e82" + }, + { + "@id": "_:N1930aa43ea474c4895d439332ef6886a" + }, + { + "@id": "_:Nc6283646ddd84bb0bfb6d1c896bdfdc2" + }, + { + "@id": "_:N26f0872f375b4ee788fb668b53bd9a0e" + }, + { + "@id": "_:N4ca83222aef540c4882fa985c29af578" + }, + { + "@id": "_:N610eba2e73b74ce0919f86b3faaa9bde" + }, + { + "@id": "_:Ndd1c8542f52d4a24be13717d734e1f84" + }, + { + "@id": "_:N8963a1f1f5334984b319a6b970850a50" + }, + { + "@id": "_:N60ca5e8881e54d759f7f929977dc9967" + }, + { + "@id": "_:N8c20bf3ff65d484d9e1f52d3f4e3bddf" + }, + { + "@id": "_:N28a8bbc7f20648e0946b8e1c5eae2e42" + }, + { + "@id": "_:N359f736ef0694ca4831dcacd8156fbce" + }, + { + "@id": "_:N4b975721e979420bb383f7230f1839ae" + }, + { + "@id": "_:N69ed5a20f5a9483fb8905bcaffb3af26" + }, + { + "@id": "_:N667b96556ba74cecb1bd6d1e86e19142" + }, + { + "@id": "_:N1e7fbdda9f0e464381156440645547d5" }, { - "@id": "_:N20df5dd33b4048129eb66f0e4f7560a1" + "@id": "_:Ne29ff7b622514fb09ea0df5bb19394e3" }, { - "@id": "_:N16745e063b004b50b295560e28360467" + "@id": "_:N9addaff77ffb48ffbea24627d9866b53" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "A person, living or dead" + } + ], + "http://www.w3.org/2004/02/skos/core#exactMatch": [ + { + "@id": "http://schema.org/Person" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ] - }, - { - "@id": "_:Naf216a1574804982a1c84f904fc1420e", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/ns/shacl#order": [ { - "@id": "_:N23f641cc3c8149f38ce8f408450afaa2" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 2 } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "https://w3id.org/linkml/tests/kitchen_sink/fallible": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + "@type": "http://www.w3.org/2001/XMLSchema#boolean", + "@value": true } - ] - }, - { - "@id": "_:N23f641cc3c8149f38ce8f408450afaa2", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#oneOf": [ + "https://w3id.org/linkml/tests/kitchen_sink/opinions": [ { - "@list": [ - { - "@value": "foo" - }, - { - "@value": "bar" - } - ] + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1000 } - ] - }, - { - "@id": "_:N20df5dd33b4048129eb66f0e4f7560a1", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "https://w3id.org/linkml/tests/kitchen_sink/resting": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "supine" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "https://w3id.org/linkml/tests/kitchen_sink/viewer": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + "@value": "ks:PersonViewer" } ] }, { - "@id": "_:N16745e063b004b50b295560e28360467", + "@id": "_:N7b8eedda339b4304bc643966e2034387", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "species name" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "_:N467cb9e75cc64eeb8083fdb181a3c69d" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "_:N467cb9e75cc64eeb8083fdb181a3c69d", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#onDatatype": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - } - ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ - { - "@list": [ - { - "@id": "_:Nc293a232418b41128dc0d593a2a6db6f" - } - ] - } - ] - }, - { - "@id": "_:Nc293a232418b41128dc0d593a2a6db6f", - "http://www.w3.org/2001/XMLSchema#pattern": [ - { - "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "SIBLING_OF" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history", + "@id": "_:N749812541c00498fa18fdad22bb1efc4", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "has medical history" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 5 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years", + "@id": "_:N4fb34acbbe8c4c85bf5aad822b974926", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "age in years" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "_:N2992684231f043db99e3710e8be1a9a2" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "number of years since birth" + "@id": "_:N6a48fee0858d48dab7e583cc9d831da8" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" } ] }, { - "@id": "_:N2992684231f043db99e3710e8be1a9a2", + "@id": "_:N6a48fee0858d48dab7e583cc9d831da8", "@type": [ "http://www.w3.org/2000/01/rdf-schema#Datatype" ], @@ -2338,17 +2428,17 @@ "@id": "http://www.w3.org/2001/XMLSchema#integer" }, { - "@id": "_:N91bf91513c0941b5845496a039591301" + "@id": "_:N385d581135d34b36b9b9df53f1b92826" }, { - "@id": "_:N082256d4d2954ad28b64e78d73ac362e" + "@id": "_:N97351db7b0d8481681e32615e01e6956" } ] } ] }, { - "@id": "_:N91bf91513c0941b5845496a039591301", + "@id": "_:N385d581135d34b36b9b9df53f1b92826", "@type": [ "http://www.w3.org/2000/01/rdf-schema#Datatype" ], @@ -2361,14 +2451,14 @@ { "@list": [ { - "@id": "_:Ne7e27dcb07c24794a8c0d1e56976f639" + "@id": "_:N2ef6c2aaad2043329c2440b098438292" } ] } ] }, { - "@id": "_:Ne7e27dcb07c24794a8c0d1e56976f639", + "@id": "_:N2ef6c2aaad2043329c2440b098438292", "http://www.w3.org/2001/XMLSchema#minInclusive": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", @@ -2377,7 +2467,7 @@ ] }, { - "@id": "_:N082256d4d2954ad28b64e78d73ac362e", + "@id": "_:N97351db7b0d8481681e32615e01e6956", "@type": [ "http://www.w3.org/2000/01/rdf-schema#Datatype" ], @@ -2390,14 +2480,14 @@ { "@list": [ { - "@id": "_:Nf8688a9f777b434a992319c75f6d83d8" + "@id": "_:N1287a7a1e14b46acbff8f2147f774e0d" } ] } ] }, { - "@id": "_:Nf8688a9f777b434a992319c75f6d83d8", + "@id": "_:N1287a7a1e14b46acbff8f2147f774e0d", "http://www.w3.org/2001/XMLSchema#maxInclusive": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", @@ -2406,86 +2496,57 @@ ] }, { - "@id": "https://example.org/bizcodes/001", + "@id": "_:Ne57003fcb8784b9299c6b0a784ba6c4f", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "HIRE" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "event for a new employee" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfEnums", + "@id": "_:Nb0c65a3869fe49eab9d216a7bc61ef1b", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "AnyOfEnums" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N34956026017b449caab1b08e0d02b75c" - }, - { - "@id": "_:Ncc0538c8d409451b957517de45e1d081" - }, + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:Nc868cef01b0f4383ba96b6a95b4c1c8a" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" } ] }, { - "@id": "_:N34956026017b449caab1b08e0d02b75c", + "@id": "_:N7da2cb4b4c0a409db37f7b2f206d9a8b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N7d1a0d06dc174765aa0abe94b179dbda" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" - } - ] - }, - { - "@id": "_:N7d1a0d06dc174765aa0abe94b179dbda", - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" } ] }, { - "@id": "_:Ncc0538c8d409451b957517de45e1d081", + "@id": "_:N5553c0c21ba247cea9c4c5460837a15f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2497,12 +2558,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" } ] }, { - "@id": "_:Nc868cef01b0f4383ba96b6a95b4c1c8a", + "@id": "_:N7abb7b7545d24cf3b54eeabd1c3d0e3c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2514,82 +2575,61 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event", + "@id": "_:N54702605ea6d4f039458010360ba2e19", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "Event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N0f307cede4cc442ba5840a251d97b54e" - }, - { - "@id": "_:N36a9b45664b1445f9eb26acf820bb0c8" - }, - { - "@id": "_:N4e82bd953e0d4bcd97562d4bc8cf2762" - }, - { - "@id": "_:N4fdd12aaa3e84aef9c77bad4db4af936" - }, - { - "@id": "_:Na13bd6b0ea48491eaf3fdb4787dcdaaa" - }, - { - "@id": "_:N2512f5107d9e47d0b72034c12cc40dbf" - }, - { - "@id": "_:N812b37ecbca443408c758da5d5316a39" - }, - { - "@id": "_:Nd2e08dc1934a4d38a9dc060c38ae57c9" - }, - { - "@id": "_:N0b355eea32b348f29174b1cfa82588cf" - }, - { - "@id": "_:N7cd77b36ff2e4dfaa3a39488bdeba0b9" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:Ncf85996a31cf4448b59be6d881f5737b" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" + } + ] + }, + { + "@id": "_:N4e2e88e23a92459e847d4e41c5070088", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "_:Nd4dd962edbcf43d0accd3724917f5014" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" } ] }, { - "@id": "_:N0f307cede4cc442ba5840a251d97b54e", + "@id": "_:N1db7f2650c28405c8f27305e8e36d9cc", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" } ] }, { - "@id": "_:N36a9b45664b1445f9eb26acf820bb0c8", + "@id": "_:Naf8a6e361e96410a8cac0dbd7b204e82", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2601,62 +2641,78 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" } ] }, { - "@id": "_:N4e82bd953e0d4bcd97562d4bc8cf2762", + "@id": "_:N1930aa43ea474c4895d439332ef6886a", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" + } + ] + }, + { + "@id": "_:Nc6283646ddd84bb0bfb6d1c896bdfdc2", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" } ] }, { - "@id": "_:N4fdd12aaa3e84aef9c77bad4db4af936", + "@id": "_:N26f0872f375b4ee788fb668b53bd9a0e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#boolean" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Na13bd6b0ea48491eaf3fdb4787dcdaaa", + "@id": "_:N4ca83222aef540c4882fa985c29af578", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N2512f5107d9e47d0b72034c12cc40dbf", + "@id": "_:N610eba2e73b74ce0919f86b3faaa9bde", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2668,28 +2724,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N812b37ecbca443408c758da5d5316a39", + "@id": "_:Ndd1c8542f52d4a24be13717d734e1f84", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" } ] }, { - "@id": "_:Nd2e08dc1934a4d38a9dc060c38ae57c9", + "@id": "_:N8963a1f1f5334984b319a6b970850a50", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2701,12 +2757,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" } ] }, { - "@id": "_:N0b355eea32b348f29174b1cfa82588cf", + "@id": "_:N60ca5e8881e54d759f7f929977dc9967", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2718,28 +2774,56 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" } ] }, { - "@id": "_:N7cd77b36ff2e4dfaa3a39488bdeba0b9", + "@id": "_:N8c20bf3ff65d484d9e1f52d3f4e3bddf", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "_:N2e68b5ffc9114cf0866af724df7e64f5" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/core/name" + } + ] + }, + { + "@id": "_:N2e68b5ffc9114cf0866af724df7e64f5", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#onDatatype": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2002/07/owl#withRestrictions": [ + { + "@list": [ + { + "@id": "_:Na6ef1fcbb596425ea39aa62b3d904389" + } + ] + } + ] + }, + { + "@id": "_:Na6ef1fcbb596425ea39aa62b3d904389", + "http://www.w3.org/2001/XMLSchema#pattern": [ + { + "@value": "^\\S+ \\S+$" } ] }, { - "@id": "_:Ncf85996a31cf4448b59be6d881f5737b", + "@id": "_:N28a8bbc7f20648e0946b8e1c5eae2e42", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2751,12 +2835,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Nd4dd962edbcf43d0accd3724917f5014", + "@id": "_:N359f736ef0694ca4831dcacd8156fbce", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2768,58 +2852,89 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest", + "@id": "_:N4b975721e979420bb383f7230f1839ae", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "subclass test" + "@id": "_:N3432c7078d2643da9f0718b380cd050f" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" - }, - { - "@id": "_:N1f5f09686aa44092bcc70b1dee048662" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:N74b80436288c476abaab304ed79ba936" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" + } + ] + }, + { + "@id": "_:N3432c7078d2643da9f0718b380cd050f", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#intersectionOf": [ { - "@id": "_:N0ea0e981732f4567a02acfead6fc1044" + "@list": [ + { + "@id": "_:Na99555f143494231a0c738d1dd54ea02" + }, + { + "@id": "_:N851b86ac557d46f59d1572501dbc1d0a" + } + ] } + ] + }, + { + "@id": "_:Na99555f143494231a0c738d1dd54ea02", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#oneOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@value": "human" + } + ] } ] }, { - "@id": "_:N1f5f09686aa44092bcc70b1dee048662", + "@id": "_:N851b86ac557d46f59d1572501dbc1d0a", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" + "@list": [ + { + "@id": "_:N4fa3216c57614acfbe35082efad82a2b" + } + ] + } + ] + }, + { + "@id": "_:N4fa3216c57614acfbe35082efad82a2b", + "http://www.w3.org/2001/XMLSchema#pattern": [ + { + "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" } ] }, { - "@id": "_:N74b80436288c476abaab304ed79ba936", + "@id": "_:N69ed5a20f5a9483fb8905bcaffb3af26", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2831,12 +2946,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" } ] }, { - "@id": "_:N0ea0e981732f4567a02acfead6fc1044", + "@id": "_:N667b96556ba74cecb1bd6d1e86e19142", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2848,206 +2963,124 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "indifferent" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "not overly friendly nor obnoxiously spiteful" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time", + "@id": "_:N1e7fbdda9f0e464381156440645547d5", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "ended at time" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "_:N491e20015cbc488699e88e5e49d1dab0" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum", + "@id": "_:N491e20015cbc488699e88e5e49d1dab0", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "CordialnessEnum" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#unionOf": [ + "http://www.w3.org/2002/07/owl#intersectionOf": [ { "@list": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" + "@id": "http://www.w3.org/2001/XMLSchema#integer" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" + "@id": "_:N7fa69f863b91412d86c407cf82affbc3" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" + "@id": "_:Naa98b3e9d47447cdb02a2df54adc5eb5" } ] } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" - } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6", + "@id": "_:N7fa69f863b91412d86c407cf82affbc3", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@value": "attribute6" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@id": "_:Nfb3540ed905742cb8e74129cc327889d" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "tree_slot_A" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "@id": "_:Nfb3540ed905742cb8e74129cc327889d", + "http://www.w3.org/2001/XMLSchema#minInclusive": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept", + "@id": "_:Naa98b3e9d47447cdb02a2df54adc5eb5", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "Concept" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:Nfa06b08b412d40ba87286f5962911410" - }, - { - "@id": "_:N8367849e7c1e4941b498d42028e075cb" - }, - { - "@id": "_:N883897ba99554a18a802631998d0bbfd" - }, - { - "@id": "_:Ncff9f80a74e841af95b8b6c41819e506" - }, - { - "@id": "_:Nefe792a2f8ae4fbebba0880102607609" - }, - { - "@id": "_:N94e28205999f4fd3b15f474327bfb7d1" - }, - { - "@id": "_:N5a39e561c10e45c0ae6f26fcf40e1e28" - }, - { - "@id": "_:N672766703a15427498561b37078f63ed" - }, + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "_:N69394fa8dd8d481d9380e80c0ac53f48" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@id": "_:N0e08f1efd4534d2d9cf980e74be3a949" + } + ] } ] }, { - "@id": "_:Nfa06b08b412d40ba87286f5962911410", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "@id": "_:N0e08f1efd4534d2d9cf980e74be3a949", + "http://www.w3.org/2001/XMLSchema#maxInclusive": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ] }, { - "@id": "_:N8367849e7c1e4941b498d42028e075cb", + "@id": "_:Ne29ff7b622514fb09ea0df5bb19394e3", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" } ] }, { - "@id": "_:N883897ba99554a18a802631998d0bbfd", + "@id": "_:N9addaff77ffb48ffbea24627d9866b53", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3059,192 +3092,226 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" } ] }, { - "@id": "_:Ncff9f80a74e841af95b8b6c41819e506", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" + "@value": "EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Nefe792a2f8ae4fbebba0880102607609", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/viewer", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "_:N94e28205999f4fd3b15f474327bfb7d1", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "LongEnum" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + } + ] } - ] - }, - { - "@id": "_:N5a39e561c10e45c0ae6f26fcf40e1e28", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "An example enum whose joined values will exceed 255 characters." } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ] - }, - { - "@id": "_:N672766703a15427498561b37078f63ed", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "https://w3id.org/linkml/permissible_values": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" + }, { - "@id": "https://w3id.org/linkml/tests/core/name" - } - ] - }, - { - "@id": "_:N69394fa8dd8d481d9380e80c0ac53f48", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" + }, { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" + }, { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "long_id" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@value": "a b" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_C", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "tree_slot_C" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I" + "@value": "AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Address" + "@value": "Place" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nb968cefabf054ad5845a71f18e9759cc" - }, - { - "@id": "_:Nbbd0d146aaae406ba8ec0b7fc4deba1e" - }, - { - "@id": "_:Naf474a99b5ec414c91e63505af9daa3f" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" }, { - "@id": "_:N9df8001c8c754d7f8543733490904a1a" + "@id": "_:N0821e0a1f5bf4cfd8de9679db59ebf71" }, { - "@id": "_:Nc807187fcbf843db9b810010d91854ef" + "@id": "_:N13cc6b37df1541e09f9ae2929b8d4e08" }, { - "@id": "_:N2ed9dfeaeeb4495d9754191b68c13bc1" + "@id": "_:N91b8aad301204b25bedfaba95403187c" }, { - "@id": "_:N560d224a9b6148ffac98d99d383f9d65" + "@id": "_:Ne300beb7ccdf41cdae27c6e2e9a91f9c" }, { - "@id": "_:N8f1b6ff018ae46f6b2d34feb59a98d3e" + "@id": "_:N1315c769dfb245b098acd227f0ee9273" }, { - "@id": "_:Nd30648ada1094967a1cc0e6654621010" + "@id": "_:Nac82d96fffe04e83a0b68769a0025e14" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3254,40 +3321,40 @@ ] }, { - "@id": "_:Nb968cefabf054ad5845a71f18e9759cc", + "@id": "_:N0821e0a1f5bf4cfd8de9679db59ebf71", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#decimal" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Nbbd0d146aaae406ba8ec0b7fc4deba1e", + "@id": "_:N13cc6b37df1541e09f9ae2929b8d4e08", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Naf474a99b5ec414c91e63505af9daa3f", + "@id": "_:N91b8aad301204b25bedfaba95403187c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3299,12 +3366,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N9df8001c8c754d7f8543733490904a1a", + "@id": "_:Ne300beb7ccdf41cdae27c6e2e9a91f9c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3315,12 +3382,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Nc807187fcbf843db9b810010d91854ef", + "@id": "_:N1315c769dfb245b098acd227f0ee9273", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3332,12 +3399,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N2ed9dfeaeeb4495d9754191b68c13bc1", + "@id": "_:Nac82d96fffe04e83a0b68769a0025e14", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3349,45 +3416,90 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N560d224a9b6148ffac98d99d383f9d65", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "CodeSystem" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" + "@id": "_:N035c7b97904a44b5891206682d394249" + }, + { + "@id": "_:Nd69d3994960547dcb2de86cb31a5e269" + }, + { + "@id": "_:N0f580c107c0e4cccae9d969355479316" + }, + { + "@id": "_:N4f8340118d484ce2b105da4fe4a3cd0b" + }, + { + "@id": "_:Ndaad6a7efaa4489faeae532a3f4761b2" + }, + { + "@id": "_:N4fdb39d9ca284e1b8393050aea834fdf" + }, + { + "@id": "_:N18953f9f11e542888b2a9aadd70689db" + }, + { + "@id": "_:Na2761b36bb5b4233be68b461bd918d6d" + }, + { + "@id": "_:N9cfa5f4852ec4f9bbc20d06dd296058e" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N8f1b6ff018ae46f6b2d34feb59a98d3e", + "@id": "_:N035c7b97904a44b5891206682d394249", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" + "@id": "https://w3id.org/linkml/tests/core/id" + } + ] + }, + { + "@id": "_:Nd69d3994960547dcb2de86cb31a5e269", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Nd30648ada1094967a1cc0e6654621010", + "@id": "_:N0f580c107c0e4cccae9d969355479316", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3399,113 +3511,154 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO", + "@id": "_:N4f8340118d484ce2b105da4fe4a3cd0b", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "TODO" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink.owl.ttl", + "@id": "_:Ndaad6a7efaa4489faeae532a3f4761b2", "@type": [ - "http://www.w3.org/2002/07/owl#Ontology" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://purl.org/dc/terms/title": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "Kitchen Sink Schema" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" } + ] + }, + { + "@id": "_:N4fdb39d9ca284e1b8393050aea834fdf", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://example.org/" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "Kitchen Sink Schema\n\nThis schema does not do anything useful. It exists to test all features of linkml.\n\nThis particular text field exists to demonstrate markdown within a text field:\n\nLists:\n\n * a\n * b\n * c\n\nAnd links, e.g to [Person](Person.md)" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern", + "@id": "_:N18953f9f11e542888b2a9aadd70689db", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept", + "@id": "_:Na2761b36bb5b4233be68b461bd918d6d", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "DiagnosisConcept" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" + "@id": "https://w3id.org/linkml/tests/core/name" } + ] + }, + { + "@id": "_:N9cfa5f4852ec4f9bbc20d06dd296058e", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#closeMatch": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/biolink/Disease" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/name" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/id", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "id" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" + } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "WithLocation" + "@value": "BirthEvent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N7420bc271578414d89434065a53cf342" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" + }, + { + "@id": "_:N1e9c4eaae4444a3180a46e02b2b971fd" }, { - "@id": "_:N2b124321926b4cefa048dda227872af2" + "@id": "_:N5299b246e71a47b687e63692e72f6cbe" }, { - "@id": "_:N18a9b20371a94254965c0dfb04555a97" + "@id": "_:N98f23e6577964fb9a6a47e36f991c561" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3515,7 +3668,7 @@ ] }, { - "@id": "_:N7420bc271578414d89434065a53cf342", + "@id": "_:N1e9c4eaae4444a3180a46e02b2b971fd", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3531,7 +3684,7 @@ ] }, { - "@id": "_:N2b124321926b4cefa048dda227872af2", + "@id": "_:N5299b246e71a47b687e63692e72f6cbe", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3548,7 +3701,7 @@ ] }, { - "@id": "_:N18a9b20371a94254965c0dfb04555a97", + "@id": "_:N98f23e6577964fb9a6a47e36f991c561", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3565,92 +3718,75 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" + "@value": "attribute3" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/was_generated_by", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "was generated by" + "@value": "married to" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/started_at_time", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "started at time" + "@value": "KitchenStatus" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" + } + ] } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/core" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "https://w3id.org/linkml/permissible_values": [ { - "@value": "XiSequenceIdentifier14_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" + }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" } ] }, @@ -3682,13 +3818,13 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "cordialness" + "@value": "attribute1" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3698,93 +3834,137 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/core/id", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfMix", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "id" + "@value": "AnyOfMix" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "_:N4f4326284740444798c3f2952dbd9f89" + }, + { + "@id": "_:N68807387139d4d3cb8e08a910e446093" + }, + { + "@id": "_:N39948b6b456249098680098888592515" } ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject", + "@id": "_:N4f4326284740444798c3f2952dbd9f89", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "AnyObject" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "Example of unconstrained class" + "@id": "_:Ne874c41edf2f4c2289eaf19252085fe7" } ], - "http://www.w3.org/2004/02/skos/core#exactMatch": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/Any" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + ] + }, + { + "@id": "_:Ne874c41edf2f4c2289eaf19252085fe7", + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ] } ] }, { - "@id": "https://example.org/bizcodes/004", + "@id": "_:N68807387139d4d3cb8e08a910e446093", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "TRANSFER" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" } + ] + }, + { + "@id": "_:N39948b6b456249098680098888592515", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "transfer internally" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfSimpleType", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "AnyOfSimpleType" + "@value": "Address" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N52bd1c09b6274752b8b38604308e0a13" + "@id": "_:N91ec2a2d15a440fdb0f5dbd525136a28" + }, + { + "@id": "_:Na49d6551e4a84ed3bbeff211da6e97c4" + }, + { + "@id": "_:N218614b4507a4725b861ebf039d41d6e" + }, + { + "@id": "_:N92718498d5e4493c92aa9ba008ec2f82" + }, + { + "@id": "_:Nfb03cd8945e546c4b107c5b81435b558" + }, + { + "@id": "_:N5926f0b24bed4ecdaf82ed22663ce341" + }, + { + "@id": "_:Ne0044e1877f34ba19dd2eadc6f3a3183" }, { - "@id": "_:Na68409246adf4c19b21b10a79532beb6" + "@id": "_:Nf59023dfb4df4e1fb06cc3813db57d8f" }, { - "@id": "_:N17ec7ad175ac481597ec8970cee137b3" + "@id": "_:Ncc76be3dcc0b4f7c91475a62efa5e99e" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3794,41 +3974,23 @@ ] }, { - "@id": "_:N52bd1c09b6274752b8b38604308e0a13", + "@id": "_:N91ec2a2d15a440fdb0f5dbd525136a28", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:Nb94526f092454c1bade9ee7426700c55" + "@id": "http://www.w3.org/2001/XMLSchema#decimal" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" - } - ] - }, - { - "@id": "_:Nb94526f092454c1bade9ee7426700c55", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - }, - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" } ] }, { - "@id": "_:Na68409246adf4c19b21b10a79532beb6", + "@id": "_:Na49d6551e4a84ed3bbeff211da6e97c4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3840,12 +4002,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" } ] }, { - "@id": "_:N17ec7ad175ac481597ec8970cee137b3", + "@id": "_:N218614b4507a4725b861ebf039d41d6e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3857,166 +4019,126 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude", + "@id": "_:N92718498d5e4493c92aa9ba008ec2f82", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "altitude" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#decimal" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo", + "@id": "_:Nfb03cd8945e546c4b107c5b81435b558", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "ceo" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType", + "@id": "_:N5926f0b24bed4ecdaf82ed22663ce341", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "FamilialRelationshipType" - } - ], - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" - } - ] - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/used", + "@id": "_:Ne0044e1877f34ba19dd2eadc6f3a3183", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#domain": [ - { - "@id": "https://w3id.org/linkml/tests/core/Activity" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "used" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current", + "@id": "_:Nf59023dfb4df4e1fb06cc3813db57d8f", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "is current" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "http://www.w3.org/2001/XMLSchema#boolean" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern", + "@id": "_:Ncc76be3dcc0b4f7c91475a62efa5e99e", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Friend", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_C", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Friend" + "@value": "tree_slot_C" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N92ec8882de0e4fe3941986272d3651fd" - }, + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ { - "@id": "_:N16f94a785663439ca0d0ad960949c636" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B" }, { - "@id": "_:N34d62f0a56a84a8bb817917de9a69941" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4026,68 +4148,77 @@ ] }, { - "@id": "_:N92ec8882de0e4fe3941986272d3651fd", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "employed at" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N16f94a785663439ca0d0ad960949c636", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "slot with space 2" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N34d62f0a56a84a8bb817917de9a69941", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by", + "@id": "https://w3id.org/biolink/opposite", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/agent_set", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "was informed by" + "@value": "agent set" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "https://w3id.org/linkml/tests/core/Agent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4097,102 +4228,74 @@ ] }, { - "@id": "http://www.w3.org/2001/XMLSchema#string", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#equivalentClass": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N1e0e538c43444782a89b6302ef3764f9" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N1e0e538c43444782a89b6302ef3764f9", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@list": [ - { - "@id": "_:Nf7a802763e05436e8f9079b1a4cca88a" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Nf7a802763e05436e8f9079b1a4cca88a", - "http://www.w3.org/2001/XMLSchema#pattern": [ - { - "@value": "^[\\\\+\\\\d+ +][\\\\d\\\\- ]+$" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "DiagnosisType" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "DIRTY" + "@value": "LIVING" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "LifeStatusEnum" + "@value": "FamilialRelationshipType" } ], "http://www.w3.org/2002/07/owl#unionOf": [ { "@list": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" } ] } @@ -4204,70 +4307,116 @@ ], "https://w3id.org/linkml/permissible_values": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern", + "@id": "http://www.w3.org/2001/XMLSchema#string", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#equivalentClass": [ + { + "@id": "_:N55d79321e7e44bb58b5ce187352d9b3d" + } + ] + }, + { + "@id": "_:N55d79321e7e44bb58b5ce187352d9b3d", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#onDatatype": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2002/07/owl#withRestrictions": [ + { + "@list": [ + { + "@id": "_:Naee1db8f852d436d8ec1342e4822a13b" + } + ] + } + ] + }, + { + "@id": "_:Naee1db8f852d436d8ec1342e4822a13b", + "http://www.w3.org/2001/XMLSchema#pattern": [ + { + "@value": "^[\\\\+\\\\d+ +][\\\\d\\\\- ]+$" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + "@value": "in location" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/biolink/opposite": [ + { + "@value": "location_of" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "PARENT_OF" + "@value": "is_living" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Company" + "@value": "WithLocation" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" - }, - { - "@id": "_:N9c621d8075bb4e08a13caacebb1bba97" + "@id": "_:N0f5f31cce8f545149c85c5f6aff1bbbb" }, { - "@id": "_:Na350cefa37d34f1298073f7fb0a607bf" + "@id": "_:Nc0c52abadf20423dabe1a469526648ea" }, { - "@id": "_:N1b13ed4045364502a2920dc0c7c81187" + "@id": "_:N88094235239441fc8c7b86999c8e72c6" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4277,23 +4426,23 @@ ] }, { - "@id": "_:N9c621d8075bb4e08a13caacebb1bba97", + "@id": "_:N0f5f31cce8f545149c85c5f6aff1bbbb", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:Na350cefa37d34f1298073f7fb0a607bf", + "@id": "_:Nc0c52abadf20423dabe1a469526648ea", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4305,12 +4454,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N1b13ed4045364502a2920dc0c7c81187", + "@id": "_:N88094235239441fc8c7b86999c8e72c6", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4322,118 +4471,92 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/TubSubClass1", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "tub sub class 1" + "@value": "XiSequenceIdentifier14_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "Same depth as Sub sub class 1" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN", + "@id": "https://example.org/bizcodes/004", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "UNKNOWN" + "@value": "TRANSFER" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "stomach count" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "transfer internally" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "slot with space 1" + "@value": "DIRTY" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "CLEAN" + "@value": "DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubSubClass2", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "employed at" + "@value": "Sub sub class 2" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4443,45 +4566,30 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/resting", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "procedure" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsString", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FakeClass", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EqualsString" + "@value": "FakeClass" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N2fb3f19303a246eab4f22ee8318cf0aa" + "@id": "_:N9e528ccbb0cd49db979a4f07d52403e9" }, { - "@id": "_:N2f364252b0bc48169467d3e72aefd7c6" + "@id": "_:N830228a2287d4ae3a5eb0225f3885b27" }, { - "@id": "_:Nc4096161909641a7852478757b091776" + "@id": "_:N4265d2cf380a491bb1cab7ba429b426c" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4491,38 +4599,23 @@ ] }, { - "@id": "_:N2fb3f19303a246eab4f22ee8318cf0aa", + "@id": "_:N9e528ccbb0cd49db979a4f07d52403e9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N8a1cad1bf5bf4450adc1c09050d54343" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" - } - ] - }, - { - "@id": "_:N8a1cad1bf5bf4450adc1c09050d54343", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#oneOf": [ - { - "@list": [ - { - "@value": "foo" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" } ] }, { - "@id": "_:N2f364252b0bc48169467d3e72aefd7c6", + "@id": "_:N830228a2287d4ae3a5eb0225f3885b27", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4534,12 +4627,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" } ] }, { - "@id": "_:Nc4096161909641a7852478757b091776", + "@id": "_:N4265d2cf380a491bb1cab7ba429b426c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4551,97 +4644,71 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B", + "@id": "https://w3id.org/linkml/tests/core/description", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "tree_slot_B" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A" + "@value": "description" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "aliases" + "@value": "TODO" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubSubClass2", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Sub sub class 2" + "@value": "SIBLING_OF" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "has birth event" + "@value": "procedure" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "attribute5" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4651,98 +4718,57 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/life_status", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "acted on behalf of" + "@value": "life_status" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum", + "@id": "http://purl.org/dc/terms/title", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "LongEnum" + "@value": "LifeStatusEnum" } ], "http://www.w3.org/2002/07/owl#unionOf": [ { "@list": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN" } ] } ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "An example enum whose joined values will exceed 255 characters." - } - ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" @@ -4750,98 +4776,50 @@ ], "https://w3id.org/linkml/permissible_values": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + "@value": "attribute5" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "slot with space 2" + "@value": "metadata" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@value": "attribute4" + "@value": "Example of a slot that has an unconstrained range" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4851,422 +4829,314 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "PiSequenceIdentifier16_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "LIVING" + "@value": "PARENT_OF" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "attribute2" + "@value": "EmploymentEventType" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@id": "https://example.org/bizcodes/001" + }, + { + "@id": "https://example.org/bizcodes/002" + }, + { + "@id": "https://example.org/bizcodes/003" + }, + { + "@id": "https://example.org/bizcodes/004" + } + ] } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system", - "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2004/02/skos/core#altLabel": [ { - "@value": "in code system" + "@value": "HR code" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" + "@value": "codes for different kinds of employment/HR related events" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/core/description", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "https://w3id.org/linkml/permissible_values": [ { - "@value": "description" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "@id": "https://example.org/bizcodes/001" + }, { - "@id": "https://w3id.org/linkml/tests/core" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "@id": "https://example.org/bizcodes/002" + }, { - "@value": "attribute1" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "@id": "https://example.org/bizcodes/003" + }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://example.org/bizcodes/004" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "activities" + "@value": "PiSequenceIdentifier16_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfSimpleType", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Person" - } - ], - "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ - { - "@id": "https://en.wikipedia.org/wiki/Person" - }, - { - "@id": "http://schema.org/Person" + "@value": "AnyOfSimpleType" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" - }, - { - "@id": "_:Ndc8ed70dcc2f4680b666993834470f57" - }, - { - "@id": "_:Na8497c89cbfd4af9bf1bda646f3bff49" - }, - { - "@id": "_:Nfe568c298b6447acb18594a2a518e7df" - }, - { - "@id": "_:N373054645b58469dae95ecf7122ffee6" - }, - { - "@id": "_:N10f0f52ac1284be5bfce94d91a5f7b9e" - }, - { - "@id": "_:Nb56fef1da5c6406fad69ec9c98e64615" - }, - { - "@id": "_:Nee1590a68d3a46379715f71a8ff004d3" - }, - { - "@id": "_:Nfcd42b5d2e914411978ee7a25efed2ca" - }, - { - "@id": "_:N800ff0f7902144369f8ccfd79b51719c" - }, - { - "@id": "_:N1b003b169ee54728997904fcb5bbf087" - }, - { - "@id": "_:Nb3d58ef9115d42a6b607d326f0f09671" - }, - { - "@id": "_:N2512ea25b797446d8075cfb9f473d2ad" - }, - { - "@id": "_:Nbb2afdc1e35542a2954d39b18876695b" - }, - { - "@id": "_:N0d2a86b6feb04d00b3152be83d928c70" - }, - { - "@id": "_:Nbeb4911bcd9b40acb52c03c9175c6ed7" - }, - { - "@id": "_:N480dee8bc8f34b01a5f8057ee06e0744" - }, - { - "@id": "_:N58108de2965246aaa13196130c026eb3" - }, - { - "@id": "_:N46ec74eb50a14a50a8d521c10c3761d9" - }, - { - "@id": "_:N44dc506f514c4f2e95e0fe988fd62d13" + "@id": "_:N07e0afae024b4b49a85bbc04cdd11180" }, { - "@id": "_:Ne2ddf7d2fd5240d4ac4ae0ddf1194f2e" + "@id": "_:N3c8ddeb5bae14cf0a27c41b1a8e0c429" }, { - "@id": "_:N25b6ee12176541e09267bd5111d8776f" - }, - { - "@id": "_:N6d1d2976b9bd4757a1e6a64179c615ce" - }, - { - "@id": "_:N10c3045e127d4dfea7b1e94c70fb818a" - }, - { - "@id": "_:Nf87a4147e5bb4a149526e851dbe595bc" - }, - { - "@id": "_:Nf49a158acc1247bf8ff8cb2369329f0e" - }, - { - "@id": "_:N85fcbcfcbda547969128693bd20c00c5" - }, - { - "@id": "_:N26a7243f70ff4f38bc7640b4f578fed1" - }, - { - "@id": "_:N3f4911f4c74c46d98fa01c99158a5dc7" - }, - { - "@id": "_:N5b6c37a437014fb9a700bc3ce9830070" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "A person, living or dead" - } - ], - "http://www.w3.org/2004/02/skos/core#exactMatch": [ - { - "@id": "http://schema.org/Person" + "@id": "_:N87c05b6675d6495abbe372792dede780" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ] + }, + { + "@id": "_:N07e0afae024b4b49a85bbc04cdd11180", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/ns/shacl#order": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 2 - } - ], - "https://w3id.org/linkml/tests/kitchen_sink/fallible": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#boolean", - "@value": true - } - ], - "https://w3id.org/linkml/tests/kitchen_sink/opinions": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1000 + "@id": "_:N0f4ed27899a94dd292f700fc36b7d73f" } ], - "https://w3id.org/linkml/tests/kitchen_sink/resting": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "supine" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" } + ] + }, + { + "@id": "_:N0f4ed27899a94dd292f700fc36b7d73f", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "https://w3id.org/linkml/tests/kitchen_sink/viewer": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@value": "ks:PersonViewer" + "@list": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" + }, + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ] } ] }, { - "@id": "_:Ndc8ed70dcc2f4680b666993834470f57", + "@id": "_:N3c8ddeb5bae14cf0a27c41b1a8e0c429", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" } ] }, { - "@id": "_:Na8497c89cbfd4af9bf1bda646f3bff49", + "@id": "_:N87c05b6675d6495abbe372792dede780", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" } ] }, { - "@id": "_:Nfe568c298b6447acb18594a2a518e7df", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:Nc2a83e5864954fdfa8c8890829bdef6c" + "@value": "attribute6" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nc2a83e5864954fdfa8c8890829bdef6c", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - }, - { - "@id": "_:Ncadca4bc19a34a8589b127a62c4aca4b" - }, - { - "@id": "_:Nd39f392e880f49ef8d254754fccf3d6f" - } - ] + "@value": "tree_slot_B" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Ncadca4bc19a34a8589b127a62c4aca4b", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@value": "is current" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@list": [ - { - "@id": "_:N4017769503ac4b218ce7d0e86d66bc72" - } - ] + "@id": "http://www.w3.org/2001/XMLSchema#boolean" } - ] - }, - { - "@id": "_:N4017769503ac4b218ce7d0e86d66bc72", - "http://www.w3.org/2001/XMLSchema#minInclusive": [ + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nd39f392e880f49ef8d254754fccf3d6f", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@value": "MedicalEvent" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@list": [ - { - "@id": "_:N11b7c33d2c004400a8ebdf611453808a" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" + }, + { + "@id": "_:Ne124ca3daccd457f856d79692c998c73" + }, + { + "@id": "_:Nc150292946b24c088c7632442ed89e42" + }, + { + "@id": "_:N70b9efbe69bd437695b0c7d15889feb4" + }, + { + "@id": "_:Nd1360e40ee5d4e3a93111f99efc3db45" + }, + { + "@id": "_:Na73b95c413d0486cb39df4cb38adfdc9" + }, + { + "@id": "_:N694084b81fd44165b66bc035313d1a8c" + }, + { + "@id": "_:N56cba695b05248e6b3091def6dc7ce9d" + }, + { + "@id": "_:N75b5cb0d9efe4ac996a23ae03b097dfa" + }, + { + "@id": "_:Ne6fbb7ec205046d7a301de5aa19821d0" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N11b7c33d2c004400a8ebdf611453808a", - "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + "@id": "_:Ne124ca3daccd457f856d79692c998c73", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 999 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" } ] }, { - "@id": "_:N373054645b58469dae95ecf7122ffee6", + "@id": "_:Nc150292946b24c088c7632442ed89e42", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5278,12 +5148,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" } ] }, { - "@id": "_:N10f0f52ac1284be5bfce94d91a5f7b9e", + "@id": "_:N70b9efbe69bd437695b0c7d15889feb4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5295,28 +5165,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" } ] }, { - "@id": "_:Nb56fef1da5c6406fad69ec9c98e64615", + "@id": "_:Nd1360e40ee5d4e3a93111f99efc3db45", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:Nee1590a68d3a46379715f71a8ff004d3", + "@id": "_:Na73b95c413d0486cb39df4cb38adfdc9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5328,12 +5198,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:Nfcd42b5d2e914411978ee7a25efed2ca", + "@id": "_:N694084b81fd44165b66bc035313d1a8c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5345,28 +5215,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N800ff0f7902144369f8ccfd79b51719c", + "@id": "_:N56cba695b05248e6b3091def6dc7ce9d", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" } ] }, { - "@id": "_:N1b003b169ee54728997904fcb5bbf087", + "@id": "_:N75b5cb0d9efe4ac996a23ae03b097dfa", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5378,61 +5248,99 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" } ] }, { - "@id": "_:Nb3d58ef9115d42a6b607d326f0f09671", + "@id": "_:Ne6fbb7ec205046d7a301de5aa19821d0", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" } ] }, { - "@id": "_:N2512ea25b797446d8075cfb9f473d2ad", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "Event" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" + "@id": "_:Nef563455987942c6a0169232ab383b50" + }, + { + "@id": "_:N692ea1f18bf641bc85ec28d3f6d0c148" + }, + { + "@id": "_:N9ce730b1fa8048f0a97162b62f434971" + }, + { + "@id": "_:N764a1e832f1d4fefb6594862bf8d58fe" + }, + { + "@id": "_:N673ff934394d4461a31aebd46c27f7d4" + }, + { + "@id": "_:N5bec491c885145f78e565ff5eef12e52" + }, + { + "@id": "_:N891d5d62dfbf46c18344ab4b44400c12" + }, + { + "@id": "_:N2dcfcc7e4a98469ab7885ce2da570460" + }, + { + "@id": "_:Nb9a8ed563b40452aa9aeb7c54311e526" + }, + { + "@id": "_:N8881b571ddce468ba75a0909ff3d62fa" + }, + { + "@id": "_:N8c74748433cf4e0987f59b4dfa4c8a05" + }, + { + "@id": "_:N5e3ead3ff8bd49eca08527d7ff3af425" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nbb2afdc1e35542a2954d39b18876695b", + "@id": "_:Nef563455987942c6a0169232ab383b50", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N0d2a86b6feb04d00b3152be83d928c70", + "@id": "_:N692ea1f18bf641bc85ec28d3f6d0c148", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5444,45 +5352,62 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + } + ] + }, + { + "@id": "_:N9ce730b1fa8048f0a97162b62f434971", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:Nbeb4911bcd9b40acb52c03c9175c6ed7", + "@id": "_:N764a1e832f1d4fefb6594862bf8d58fe", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "http://www.w3.org/2001/XMLSchema#boolean" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" } ] }, { - "@id": "_:N480dee8bc8f34b01a5f8057ee06e0744", + "@id": "_:N673ff934394d4461a31aebd46c27f7d4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" } ] }, { - "@id": "_:N58108de2965246aaa13196130c026eb3", + "@id": "_:N5bec491c885145f78e565ff5eef12e52", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5494,28 +5419,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" } ] }, { - "@id": "_:N46ec74eb50a14a50a8d521c10c3761d9", + "@id": "_:N891d5d62dfbf46c18344ab4b44400c12", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "_:N44dc506f514c4f2e95e0fe988fd62d13", + "@id": "_:N2dcfcc7e4a98469ab7885ce2da570460", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5527,12 +5452,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "_:Ne2ddf7d2fd5240d4ac4ae0ddf1194f2e", + "@id": "_:Nb9a8ed563b40452aa9aeb7c54311e526", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5544,56 +5469,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "_:N25b6ee12176541e09267bd5111d8776f", + "@id": "_:N8881b571ddce468ba75a0909ff3d62fa", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:Nc9054027ab32425e976da209b3f3b47f" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" - } - ] - }, - { - "@id": "_:Nc9054027ab32425e976da209b3f3b47f", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#onDatatype": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - } - ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ - { - "@list": [ - { - "@id": "_:Nf5c163c1c4e2404eaec2208f2f926c92" - } - ] - } - ] - }, - { - "@id": "_:Nf5c163c1c4e2404eaec2208f2f926c92", - "http://www.w3.org/2001/XMLSchema#pattern": [ - { - "@value": "^\\S+ \\S+$" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "_:N6d1d2976b9bd4757a1e6a64179c615ce", + "@id": "_:N8c74748433cf4e0987f59b4dfa4c8a05", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5605,12 +5502,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "_:N10c3045e127d4dfea7b1e94c70fb818a", + "@id": "_:N5e3ead3ff8bd49eca08527d7ff3af425", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5622,89 +5519,91 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "_:Nf87a4147e5bb4a149526e851dbe595bc", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:Nb6254c485f0c4ac2a7ef10a8aea8e9f0" + "@value": "Relationship" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" - } - ] - }, - { - "@id": "_:Nb6254c485f0c4ac2a7ef10a8aea8e9f0", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ + "@id": "_:Nf91aacb771a941f2b267c6a678e88577" + }, { - "@list": [ - { - "@id": "_:N95e7f208e7f94f2dbdad4954e5bbb0f7" - }, - { - "@id": "_:Nbbcf863cb5f64cc48fe07756e5ed740b" - } - ] + "@id": "_:Nfaa182ebdaa44e4a90ac91c18caac81c" + }, + { + "@id": "_:N5ce1013b1526415aa130b89aafe1aeca" + }, + { + "@id": "_:N45100d49080e4a1e9bed2d5090e34586" + }, + { + "@id": "_:Nedc52e7ffe434688bfd3abc402dfbdf5" + }, + { + "@id": "_:N7fe0e42e7013455ba65dccd2df38493e" + }, + { + "@id": "_:Nce9701b3a2644aa8bd6adffe30efc830" + }, + { + "@id": "_:N68835a614acc4709a722c87bc47be23a" + }, + { + "@id": "_:N9b15de0fb86d493c8d06c69cb5f10981" + }, + { + "@id": "_:N742c706a334f44f5bf6deb50377b73da" + }, + { + "@id": "_:N30f0d173e5124f88963b4e0e7d285aca" + }, + { + "@id": "_:N0c09b7df776440c89bd36da6fdc829b2" + }, + { + "@id": "_:N9cef44a691534e65930d6954ada4d521" + }, + { + "@id": "_:N3ce3bbbe36e746aa9a08d5446f1e45cb" + }, + { + "@id": "_:Nd4c4b587630046a3b01fb4fec1e9df95" } - ] - }, - { - "@id": "_:N95e7f208e7f94f2dbdad4954e5bbb0f7", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#oneOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@list": [ - { - "@value": "human" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nbbcf863cb5f64cc48fe07756e5ed740b", + "@id": "_:Nf91aacb771a941f2b267c6a678e88577", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ - { - "@list": [ - { - "@id": "_:Nf1938d7dbc024d33b8c165e4ba8c22da" - } - ] - } - ] - }, - { - "@id": "_:Nf1938d7dbc024d33b8c165e4ba8c22da", - "http://www.w3.org/2001/XMLSchema#pattern": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "_:Nf49a158acc1247bf8ff8cb2369329f0e", + "@id": "_:Nfaa182ebdaa44e4a90ac91c18caac81c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5716,12 +5615,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "_:N85fcbcfcbda547969128693bd20c00c5", + "@id": "_:N5ce1013b1526415aa130b89aafe1aeca", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5733,107 +5632,78 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "_:N26a7243f70ff4f38bc7640b4f578fed1", + "@id": "_:N45100d49080e4a1e9bed2d5090e34586", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N8b03bdd128474510a87618211bcf9b3b" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" - } - ] - }, - { - "@id": "_:N8b03bdd128474510a87618211bcf9b3b", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ - { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - }, - { - "@id": "_:N04d78a453fd24b29bf4ee0d39c140110" - }, - { - "@id": "_:N011f4c18edd24111851b89d66aa21786" - } - ] + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N04d78a453fd24b29bf4ee0d39c140110", + "@id": "_:Nedc52e7ffe434688bfd3abc402dfbdf5", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@list": [ - { - "@id": "_:N5a001de86b16457b93efa5fe450ad7d0" - } - ] + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N5a001de86b16457b93efa5fe450ad7d0", - "http://www.w3.org/2001/XMLSchema#minInclusive": [ + "@id": "_:N7fe0e42e7013455ba65dccd2df38493e", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", "@value": 1 } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + } ] }, { - "@id": "_:N011f4c18edd24111851b89d66aa21786", + "@id": "_:Nce9701b3a2644aa8bd6adffe30efc830", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ - { - "@list": [ - { - "@id": "_:Ndfe15db07bda4a049195df19bc4a980d" - } - ] - } - ] - }, - { - "@id": "_:Ndfe15db07bda4a049195df19bc4a980d", - "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "_:N3f4911f4c74c46d98fa01c99158a5dc7", + "@id": "_:N68835a614acc4709a722c87bc47be23a", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5845,12 +5715,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "_:N5b6c37a437014fb9a700bc3ce9830070", + "@id": "_:N9b15de0fb86d493c8d06c69cb5f10981", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5862,113 +5732,129 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute", + "@id": "_:N742c706a334f44f5bf6deb50377b73da", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "test_attribute" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF", + "@id": "_:N30f0d173e5124f88963b4e0e7d285aca", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "CHILD_OF" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b", + "@id": "_:N0c09b7df776440c89bd36da6fdc829b2", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "a b" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus", + "@id": "_:N9cef44a691534e65930d6954ada4d521", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "KitchenStatus" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2002/07/owl#unionOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } + ] + }, + { + "@id": "_:N3ce3bbbe36e746aa9a08d5446f1e45cb", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "https://w3id.org/linkml/permissible_values": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + } + ] + }, + { + "@id": "_:Nd4c4b587630046a3b01fb4fec1e9df95", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfClasses", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfEnums", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "AnyOfClasses" + "@value": "AnyOfEnums" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N8bdeca26a38c45a0bf8dc220f07f9620" + "@id": "_:N055a617b2c08485c9b148315913be4d0" }, { - "@id": "_:N9423f15b8fe442b7995c01a4c2c8a098" + "@id": "_:N0d1246fcaa4a4415860897255fca38dd" }, { - "@id": "_:N27a9a330de1c42abb5d330699e1ed399" + "@id": "_:N1afc306f1af343dd8ec4f87d686bd259" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -5978,38 +5864,38 @@ ] }, { - "@id": "_:N8bdeca26a38c45a0bf8dc220f07f9620", + "@id": "_:N055a617b2c08485c9b148315913be4d0", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N553fcccc64af46368cd1d35239b6e8ec" + "@id": "_:N29f15781f98c441abcc6fd9a3335e94c" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" } ] }, { - "@id": "_:N553fcccc64af46368cd1d35239b6e8ec", + "@id": "_:N29f15781f98c441abcc6fd9a3335e94c", "http://www.w3.org/2002/07/owl#unionOf": [ { "@list": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } ] } ] }, { - "@id": "_:N9423f15b8fe442b7995c01a4c2c8a098", + "@id": "_:N0d1246fcaa4a4415860897255fca38dd", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6021,12 +5907,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" } ] }, { - "@id": "_:N27a9a330de1c42abb5d330699e1ed399", + "@id": "_:N1afc306f1af343dd8ec4f87d686bd259", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6038,23 +5924,23 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "addresses" + "@value": "long_id" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -6064,18 +5950,34 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "diagnosis" + "@value": "slot with space 1" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "ProcedureConcept" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -6085,182 +5987,189 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern", + "@id": "http://www.w3.org/ns/shacl#order", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + "@value": "AnyObject" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "Example of unconstrained class" + } + ], + "http://www.w3.org/2004/02/skos/core#exactMatch": [ + { + "@id": "https://w3id.org/linkml/Any" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "class with spaces" + "@value": "EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N70e3880da9c04539a8cb52354a15f3e5" - }, - { - "@id": "_:N641396e5a8344afeb780e0c0acf92b94" - }, - { - "@id": "_:Nc166ac03539d4caba3e88eec1261f453" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N70e3880da9c04539a8cb52354a15f3e5", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N641396e5a8344afeb780e0c0acf92b94", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Nc166ac03539d4caba3e88eec1261f453", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems", + "@id": "https://w3id.org/linkml/tests/core/was_informed_by", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "code systems" + "@value": "was informed by" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern", + "@id": "http://www.w3.org/2004/02/skos/core#inScheme", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" + "@value": "has birth event" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/agent_set", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "agent set" + "@value": "diagnosis" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Friend", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Place" + "@value": "Friend" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" - }, - { - "@id": "_:N5c48e2a8ba174f36b52bdf66b15df11d" - }, - { - "@id": "_:Ne66672a9b5144f09972ab2c835d6a9fb" - }, - { - "@id": "_:Na89587523d034a32a76fccc8e2cc5dc3" - }, - { - "@id": "_:N6c8f56dd9a5743d6bc35e41484a43623" + "@id": "_:N11b35bbe6d38439da4ac08e3ddd85f43" }, { - "@id": "_:Neb9ff585cbec484faf40a92d2cfa42d6" + "@id": "_:N4dca390559ff4e788118d7fdbed7d2fe" }, { - "@id": "_:N5642a2decf244eccabbe910c48f18e7a" + "@id": "_:N5ea9a6df4ad34a9da93e31d2754ac838" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -6270,7 +6179,7 @@ ] }, { - "@id": "_:N5c48e2a8ba174f36b52bdf66b15df11d", + "@id": "_:N11b35bbe6d38439da4ac08e3ddd85f43", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6281,29 +6190,29 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Ne66672a9b5144f09972ab2c835d6a9fb", + "@id": "_:N4dca390559ff4e788118d7fdbed7d2fe", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Na89587523d034a32a76fccc8e2cc5dc3", + "@id": "_:N5ea9a6df4ad34a9da93e31d2754ac838", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6315,28 +6224,58 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/name" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "subclass test" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" + }, + { + "@id": "_:Na191d069766040c98649292f1911fe63" + }, + { + "@id": "_:Nd0f8f184212c44778e40f7a16e707a24" + }, + { + "@id": "_:N37bda909b3cf4a578f75b7f6cb9196c0" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N6c8f56dd9a5743d6bc35e41484a43623", + "@id": "_:Na191d069766040c98649292f1911fe63", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" } ] }, { - "@id": "_:Neb9ff585cbec484faf40a92d2cfa42d6", + "@id": "_:Nd0f8f184212c44778e40f7a16e707a24", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6348,12 +6287,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" } ] }, { - "@id": "_:N5642a2decf244eccabbe910c48f18e7a", + "@id": "_:N37bda909b3cf4a578f75b7f6cb9196c0", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6365,61 +6304,88 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "has familial relationships" + "@value": "hateful" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "spiteful" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/name", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "name" + "@value": "species name" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "_:N0c5f3947aa4441d8b4e84eadbc7f29eb" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "_:N0c5f3947aa4441d8b4e84eadbc7f29eb", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#onDatatype": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 2 + "@list": [ + { + "@id": "_:N90f209808e154a3fb418091832cdeb65" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern", + "@id": "_:N90f209808e154a3fb418091832cdeb65", + "http://www.w3.org/2001/XMLSchema#pattern": [ + { + "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + "@value": "IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ @@ -6429,121 +6395,167 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/life_status", + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "life_status" + "@value": "acted on behalf of" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/core/Agent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "NuSequenceIdentifier13_LongPatternLongPatternLongPattern" + "@value": "test_attribute" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "DEAD" + "@value": "mixin_slot_I" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent", + "@id": "https://w3id.org/linkml/tests/core/Activity", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EmploymentEvent" + "@value": "activity" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" + "@id": "_:N2bb0a0e2814d41bba398cbe33c98eb94" + }, + { + "@id": "_:Nab26f3b920c84d16a56a1bdc50e91adb" + }, + { + "@id": "_:N54021d2cc93c49fab93dbd34315858f8" + }, + { + "@id": "_:N2f79afa889ba4c919e4cbdbc168fa063" + }, + { + "@id": "_:Ne6a5692eccf04b6fbe73c4201dca72b2" + }, + { + "@id": "_:Naba67041b2e14b7a8d4fd23c13f62f2b" + }, + { + "@id": "_:N17f974638cb64b07b1f4d3ebf5e0e22c" + }, + { + "@id": "_:Nbdfa329624d940cfb5bf4e936db899e2" + }, + { + "@id": "_:N84bf9c9a82124373bacc60b377d62610" + }, + { + "@id": "_:N16710c5bf3fd452691dae4d83f7f1a9b" + }, + { + "@id": "_:Naa11242711dd4307a7a0949c54e3d4da" + }, + { + "@id": "_:N7de3d5a379a54cd1ab944cb1eb9f75ac" + }, + { + "@id": "_:Nafe36e82006e40aba3d9baacf9be9681" + }, + { + "@id": "_:Nfeb3c38cefc048dcb5384515f4966dd2" + }, + { + "@id": "_:Ne5746a7ac12c450c9f476b298e9526fe" }, { - "@id": "_:N1ba82215974444cda78ef391e6c103ea" + "@id": "_:N09240fb6bf7d48e99145d37635e46aa9" }, { - "@id": "_:Nbfb19635238f4fccb69afd5922ecc551" + "@id": "_:N0640e9658f86474fb8fb020b5a7c8f8b" }, { - "@id": "_:Nb54011402446439682056e3195c0b795" + "@id": "_:N526c606f1f814157bb29cafefab6331b" }, { - "@id": "_:N61d49718643745bab104003f98ad18f6" + "@id": "_:N59c8c095dee2478bbbba0a960f74af07" }, { - "@id": "_:Nd96bfec8ba6c4fc0a43b58fb9007aa27" + "@id": "_:N2f2c28b9a57b4bcd88e6b94770e1354c" }, { - "@id": "_:N6a503c663c204e39a8b4f592d14fd1b2" + "@id": "_:N930cb32e6552418488b22d2a4d7ff71f" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "a provence-generating activity" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2004/02/skos/core#mappingRelation": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 6 + "@id": "http://www.w3.org/ns/prov#Activity" } ] }, { - "@id": "_:N1ba82215974444cda78ef391e6c103ea", + "@id": "_:N2bb0a0e2814d41bba398cbe33c98eb94", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" + "@id": "https://w3id.org/linkml/tests/core/description" } ] }, { - "@id": "_:Nbfb19635238f4fccb69afd5922ecc551", + "@id": "_:Nab26f3b920c84d16a56a1bdc50e91adb", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6555,12 +6567,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" + "@id": "https://w3id.org/linkml/tests/core/description" } ] }, { - "@id": "_:Nb54011402446439682056e3195c0b795", + "@id": "_:N54021d2cc93c49fab93dbd34315858f8", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6572,43 +6584,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" + "@id": "https://w3id.org/linkml/tests/core/description" } ] }, { - "@id": "_:N61d49718643745bab104003f98ad18f6", + "@id": "_:N2f79afa889ba4c919e4cbdbc168fa063", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N514fde345e9f488bbc79164c7ab1d968" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" - } - ] - }, - { - "@id": "_:N514fde345e9f488bbc79164c7ab1d968", - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" - } - ] + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:Nd96bfec8ba6c4fc0a43b58fb9007aa27", + "@id": "_:Ne6a5692eccf04b6fbe73c4201dca72b2", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6620,12 +6617,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N6a503c663c204e39a8b4f592d14fd1b2", + "@id": "_:Naba67041b2e14b7a8d4fd23c13f62f2b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6637,99 +6634,128 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I", + "@id": "_:N17f974638cb64b07b1f4d3ebf5e0e22c", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "mixin_slot_I" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/Agent", + "@id": "_:Nbdfa329624d940cfb5bf4e936db899e2", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "agent" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:Ncdda758ba8c342d3a7f69399a4b09ce7" - }, - { - "@id": "_:N86d76bc48be2443a8bedf3e11d3adff0" - }, - { - "@id": "_:N76160124cfbf4eb19fa9edcd80a64bd9" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:N8c72dc000bcd45458a59ac6d11337db2" - }, + "@id": "https://w3id.org/linkml/tests/core/id" + } + ] + }, + { + "@id": "_:N84bf9c9a82124373bacc60b377d62610", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:Nfd1de33933da4ef9860ea210c2973160" - }, + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:Nd06e5aac08ed4ba2aa72a8351d3111bf" - }, + "@id": "https://w3id.org/linkml/tests/core/id" + } + ] + }, + { + "@id": "_:N16710c5bf3fd452691dae4d83f7f1a9b", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N5dcacb1f81014b0eb1f2a375320f7584" - }, + "@id": "http://www.w3.org/2001/XMLSchema#date" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:Nf6b4811fe79040a4ba23b782469ab98d" - }, + "@id": "https://w3id.org/linkml/tests/core/started_at_time" + } + ] + }, + { + "@id": "_:Naa11242711dd4307a7a0949c54e3d4da", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "_:Nc55844e41a8046109a20accd72565608" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "a provence-generating agent" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } + ] + }, + { + "@id": "_:N7de3d5a379a54cd1ab944cb1eb9f75ac", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#exactMatch": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "http://www.w3.org/ns/prov#Agent" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "_:Ncdda758ba8c342d3a7f69399a4b09ce7", + "@id": "_:Nafe36e82006e40aba3d9baacf9be9681", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + "@id": "https://w3id.org/linkml/tests/core/used" } ] }, { - "@id": "_:N86d76bc48be2443a8bedf3e11d3adff0", + "@id": "_:Nfeb3c38cefc048dcb5384515f4966dd2", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6741,12 +6767,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + "@id": "https://w3id.org/linkml/tests/core/used" } ] }, { - "@id": "_:N76160124cfbf4eb19fa9edcd80a64bd9", + "@id": "_:Ne5746a7ac12c450c9f476b298e9526fe", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6758,45 +6784,45 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + "@id": "https://w3id.org/linkml/tests/core/used" } ] }, { - "@id": "_:N8c72dc000bcd45458a59ac6d11337db2", + "@id": "_:N09240fb6bf7d48e99145d37635e46aa9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/core/Agent" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/was_associated_with" } ] }, { - "@id": "_:Nfd1de33933da4ef9860ea210c2973160", + "@id": "_:N0640e9658f86474fb8fb020b5a7c8f8b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/was_associated_with" } ] }, { - "@id": "_:Nd06e5aac08ed4ba2aa72a8351d3111bf", + "@id": "_:N526c606f1f814157bb29cafefab6331b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6808,12 +6834,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/was_associated_with" } ] }, { - "@id": "_:N5dcacb1f81014b0eb1f2a375320f7584", + "@id": "_:N59c8c095dee2478bbbba0a960f74af07", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6829,7 +6855,7 @@ ] }, { - "@id": "_:Nf6b4811fe79040a4ba23b782469ab98d", + "@id": "_:N2f2c28b9a57b4bcd88e6b94770e1354c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6846,7 +6872,7 @@ ] }, { - "@id": "_:Nc55844e41a8046109a20accd72565608", + "@id": "_:N930cb32e6552418488b22d2a4d7ff71f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6863,98 +6889,159 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/core/Activity", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "activity" + "@value": "DiagnosisConcept" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nfbe5878d0fac4523a2ac0224aa0fdecf" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" + } + ], + "http://www.w3.org/2004/02/skos/core#closeMatch": [ { - "@id": "_:Neb34e2ba47904e709313e8d6f4f15637" - }, + "@id": "https://w3id.org/biolink/Disease" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:N2f501a1a87eb40019057e2a07928ac69" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N209e2989c0994f309456e47386d84a36" - }, + "@value": "stomach count" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "_:N96ed7e310d6d49348aede533a34b0dcd" - }, + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:N3aa499eb7c274b90af542054714696f7" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/Agent", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N59a863b0150f43369134d9a1bcdea332" - }, + "@value": "agent" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N3b7eca0f1e7a4868b662e518b5dc8221" + "@id": "_:Ne90eda11c7434856b51b7bb47526e45b" }, { - "@id": "_:N4ff2d667a45c4efeb84ce153d298edb6" + "@id": "_:N7f835c47dec1429bb292995d18be8d9a" }, { - "@id": "_:N0137ed00f9864379aea75180a5440b49" + "@id": "_:N7de76ca12682490c88031cfb8c994886" }, { - "@id": "_:N098c0ac67c7743688e169bf0104132aa" + "@id": "_:Ncf78508da96d4803a5161c47da0f5ebc" }, { - "@id": "_:Na35b4b61a34f48e885e8234ce98e538e" + "@id": "_:Nba839016cd954f74a6a071692e7d71c4" }, { - "@id": "_:N1bdc8437ea2d445aa29cc31d3e9cd199" + "@id": "_:N5138c8330cc541fab4557ff8341b1b55" }, { - "@id": "_:N7bb0bff1e0604aeea9c963813b219866" + "@id": "_:N57eaa739d5764aa0b397cfa4a7a4d2b4" }, { - "@id": "_:N581e4e0b578d4a86bebb47969b956d1e" + "@id": "_:Ned460e289d1e4f61a9ccd50134c94a94" }, { - "@id": "_:N7ab47df9d77143fa8cd5d5bf0a8b18aa" - }, + "@id": "_:N9998f88d0ee14e10988bb2f63ed9f6ea" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "_:N840f2ff7745c48d8ac2e007669ddf4d7" - }, + "@value": "a provence-generating agent" + } + ], + "http://www.w3.org/2004/02/skos/core#exactMatch": [ { - "@id": "_:N42fae58bcd0f41b6b2f761d59ad1b216" - }, + "@id": "http://www.w3.org/ns/prov#Agent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:Na144284f42e64b769314d52cbcd11a7f" - }, + "@id": "https://w3id.org/linkml/tests/core" + } + ] + }, + { + "@id": "_:Ne90eda11c7434856b51b7bb47526e45b", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:Nf709ab4304f7457fa93c651b3245d0d9" - }, + "@id": "https://w3id.org/linkml/tests/core/Agent" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:N3f89b242aa8c4e72bd7eeb55c764a0a8" + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" } + ] + }, + { + "@id": "_:N7f835c47dec1429bb292995d18be8d9a", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "a provence-generating activity" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + } + ] + }, + { + "@id": "_:N7de76ca12682490c88031cfb8c994886", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#mappingRelation": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "http://www.w3.org/ns/prov#Activity" + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" } ] }, { - "@id": "_:Nfbe5878d0fac4523a2ac0224aa0fdecf", + "@id": "_:Ncf78508da96d4803a5161c47da0f5ebc", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6965,29 +7052,29 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/description" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Neb34e2ba47904e709313e8d6f4f15637", + "@id": "_:Nba839016cd954f74a6a071692e7d71c4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/description" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N2f501a1a87eb40019057e2a07928ac69", + "@id": "_:N5138c8330cc541fab4557ff8341b1b55", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6999,28 +7086,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/description" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N209e2989c0994f309456e47386d84a36", + "@id": "_:N57eaa739d5764aa0b397cfa4a7a4d2b4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N96ed7e310d6d49348aede533a34b0dcd", + "@id": "_:Ned460e289d1e4f61a9ccd50134c94a94", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7032,12 +7119,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N3aa499eb7c274b90af542054714696f7", + "@id": "_:N9998f88d0ee14e10988bb2f63ed9f6ea", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7049,78 +7136,86 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N59a863b0150f43369134d9a1bcdea332", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "attribute2" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N3b7eca0f1e7a4868b662e518b5dc8221", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsString", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "EqualsString" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "_:Nf7151314675f4368b53ca160c42e3798" + }, + { + "@id": "_:N2e97e830b80a4531bb08795d2523417e" + }, + { + "@id": "_:Nd2a26e0b03a24af2b82662b0b12535ca" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N4ff2d667a45c4efeb84ce153d298edb6", + "@id": "_:Nf7151314675f4368b53ca160c42e3798", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "_:N896c8842039e48899e839e3a0b4fc0cf" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" } ] }, { - "@id": "_:N0137ed00f9864379aea75180a5440b49", + "@id": "_:N896c8842039e48899e839e3a0b4fc0cf", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#date" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#oneOf": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@list": [ + { + "@value": "foo" + } + ] } ] }, { - "@id": "_:N098c0ac67c7743688e169bf0104132aa", + "@id": "_:N2e97e830b80a4531bb08795d2523417e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7132,12 +7227,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" } ] }, { - "@id": "_:Na35b4b61a34f48e885e8234ce98e538e", + "@id": "_:Nd2a26e0b03a24af2b82662b0b12535ca", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7149,95 +7244,148 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" } ] }, { - "@id": "_:N1bdc8437ea2d445aa29cc31d3e9cd199", + "@id": "https://example.org/bizcodes/001", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "HIRE" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/used" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "event for a new employee" } ] }, { - "@id": "_:N7bb0bff1e0604aeea9c963813b219866", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/used" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N581e4e0b578d4a86bebb47969b956d1e", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "CLEAN" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/used" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "Organization" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" + }, + { + "@id": "_:N19d7877a1c7a4dec8388fceab11b9695" + }, + { + "@id": "_:N968181d455f84772838a59e31bdd8f97" + }, + { + "@id": "_:Ncfd680afaf804475a60cbf7c1157c116" + }, + { + "@id": "_:Nd5e73416ee774c91bc6472431ffb337b" + }, + { + "@id": "_:N29c9ec8cb0c94cdab59f5f4dc52936b7" + }, + { + "@id": "_:Nc293690ea0ab4a828eed1022920080ea" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "An organization.\n\nThis description\nincludes newlines\n\n## Markdown headers\n\n * and\n * a\n * list" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 3 } ] }, { - "@id": "_:N7ab47df9d77143fa8cd5d5bf0a8b18aa", + "@id": "_:N19d7877a1c7a4dec8388fceab11b9695", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N840f2ff7745c48d8ac2e007669ddf4d7", + "@id": "_:N968181d455f84772838a59e31bdd8f97", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N42fae58bcd0f41b6b2f761d59ad1b216", + "@id": "_:Ncfd680afaf804475a60cbf7c1157c116", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7249,28 +7397,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Na144284f42e64b769314d52cbcd11a7f", + "@id": "_:Nd5e73416ee774c91bc6472431ffb337b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Nf709ab4304f7457fa93c651b3245d0d9", + "@id": "_:N29c9ec8cb0c94cdab59f5f4dc52936b7", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7282,12 +7430,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N3f89b242aa8c4e72bd7eeb55c764a0a8", + "@id": "_:Nc293690ea0ab4a828eed1022920080ea", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7299,102 +7447,50 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EmploymentEventType" - } - ], - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://example.org/bizcodes/001" - }, - { - "@id": "https://example.org/bizcodes/002" - }, - { - "@id": "https://example.org/bizcodes/003" - }, - { - "@id": "https://example.org/bizcodes/004" - } - ] - } - ], - "http://www.w3.org/2004/02/skos/core#altLabel": [ - { - "@value": "HR code" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "codes for different kinds of employment/HR related events" + "@value": "street" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://example.org/bizcodes/001" - }, - { - "@id": "https://example.org/bizcodes/002" - }, - { - "@id": "https://example.org/bizcodes/003" - }, - { - "@id": "https://example.org/bizcodes/004" - } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern", + "@id": "http://www.w3.org/2001/XMLSchema#integer", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful", + "@id": "https://w3id.org/linkml/tests/core/was_generated_by", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "hateful" + "@value": "was generated by" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@value": "spiteful" + "@id": "https://w3id.org/linkml/tests/core" } ] } diff --git a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.n3 b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.n3 index 82096ace4e..15fc3f124a 100644 --- a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.n3 +++ b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.n3 @@ -11,9 +11,19 @@ @prefix dcterms: . @prefix linkml: . @prefix schema1: . +dcterms:title a owl:AnnotationProperty . +rdfs:label a owl:AnnotationProperty . +rdfs:seeAlso a owl:AnnotationProperty . xsd:integer a rdfs:Datatype . xsd:string a rdfs:Datatype ; owl:equivalentClass _:c14n173 . +skos:altLabel a owl:AnnotationProperty . +skos:closeMatch a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:exactMatch a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . +skos:mappingRelation a owl:AnnotationProperty . +sh:order a owl:AnnotationProperty . bizcodes:001 a owl:Class ; rdfs:label "HIRE" ; rdfs:subClassOf ks:EmploymentEventType ; @@ -30,6 +40,8 @@ bizcodes:004 a owl:Class ; rdfs:label "TRANSFER" ; rdfs:subClassOf ks:EmploymentEventType ; skos:definition "transfer internally" . +biolink:opposite a owl:AnnotationProperty . +linkml:permissible_values a owl:AnnotationProperty . linkml:tests\/core\/Activity a owl:Class ; rdfs:label "activity" ; rdfs:subClassOf _:c14n103 , _:c14n119 , _:c14n132 , _:c14n146 , _:c14n152 , _:c14n155 , _:c14n162 , _:c14n171 , _:c14n191 , _:c14n200 , _:c14n204 , _:c14n210 , _:c14n223 , _:c14n243 , _:c14n246 , _:c14n253 , _:c14n258 , _:c14n59 , _:c14n6 , _:c14n63 , _:c14n68 ; @@ -432,6 +444,7 @@ ks:employed_at a owl:ObjectProperty ; rdfs:label "employed at" ; rdfs:range ks:Company ; skos:inScheme linkml:tests\/kitchen_sink . +ks:fallible a owl:AnnotationProperty . ks:has_birth_event a owl:ObjectProperty ; rdfs:label "has birth event" ; rdfs:range ks:BirthEvent ; @@ -490,6 +503,7 @@ ks:metadata a owl:ObjectProperty ; ks:mixin_slot_I a owl:DatatypeProperty ; rdfs:label "mixin_slot_I" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:opinions a owl:AnnotationProperty . ks:persons a owl:ObjectProperty ; rdfs:label "persons" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -500,6 +514,7 @@ ks:procedure a owl:ObjectProperty ; ks:related_to a owl:DatatypeProperty ; rdfs:label "related to" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:resting a owl:AnnotationProperty . ks:slot_with_space_1 a owl:DatatypeProperty ; rdfs:label "slot with space 1" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -534,6 +549,7 @@ ks:tree_slot_C a owl:DatatypeProperty ; ks:type a owl:DatatypeProperty ; rdfs:label "type" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:viewer a owl:AnnotationProperty . _:c14n0 rdf:first bizcodes:002 ; rdf:rest _:c14n43 . _:c14n1 a owl:Restriction ; diff --git a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.ttl b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.ttl index 82096ace4e..15fc3f124a 100644 --- a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.ttl +++ b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl.ttl @@ -11,9 +11,19 @@ @prefix dcterms: . @prefix linkml: . @prefix schema1: . +dcterms:title a owl:AnnotationProperty . +rdfs:label a owl:AnnotationProperty . +rdfs:seeAlso a owl:AnnotationProperty . xsd:integer a rdfs:Datatype . xsd:string a rdfs:Datatype ; owl:equivalentClass _:c14n173 . +skos:altLabel a owl:AnnotationProperty . +skos:closeMatch a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:exactMatch a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . +skos:mappingRelation a owl:AnnotationProperty . +sh:order a owl:AnnotationProperty . bizcodes:001 a owl:Class ; rdfs:label "HIRE" ; rdfs:subClassOf ks:EmploymentEventType ; @@ -30,6 +40,8 @@ bizcodes:004 a owl:Class ; rdfs:label "TRANSFER" ; rdfs:subClassOf ks:EmploymentEventType ; skos:definition "transfer internally" . +biolink:opposite a owl:AnnotationProperty . +linkml:permissible_values a owl:AnnotationProperty . linkml:tests\/core\/Activity a owl:Class ; rdfs:label "activity" ; rdfs:subClassOf _:c14n103 , _:c14n119 , _:c14n132 , _:c14n146 , _:c14n152 , _:c14n155 , _:c14n162 , _:c14n171 , _:c14n191 , _:c14n200 , _:c14n204 , _:c14n210 , _:c14n223 , _:c14n243 , _:c14n246 , _:c14n253 , _:c14n258 , _:c14n59 , _:c14n6 , _:c14n63 , _:c14n68 ; @@ -432,6 +444,7 @@ ks:employed_at a owl:ObjectProperty ; rdfs:label "employed at" ; rdfs:range ks:Company ; skos:inScheme linkml:tests\/kitchen_sink . +ks:fallible a owl:AnnotationProperty . ks:has_birth_event a owl:ObjectProperty ; rdfs:label "has birth event" ; rdfs:range ks:BirthEvent ; @@ -490,6 +503,7 @@ ks:metadata a owl:ObjectProperty ; ks:mixin_slot_I a owl:DatatypeProperty ; rdfs:label "mixin_slot_I" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:opinions a owl:AnnotationProperty . ks:persons a owl:ObjectProperty ; rdfs:label "persons" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -500,6 +514,7 @@ ks:procedure a owl:ObjectProperty ; ks:related_to a owl:DatatypeProperty ; rdfs:label "related to" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:resting a owl:AnnotationProperty . ks:slot_with_space_1 a owl:DatatypeProperty ; rdfs:label "slot with space 1" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -534,6 +549,7 @@ ks:tree_slot_C a owl:DatatypeProperty ; ks:type a owl:DatatypeProperty ; rdfs:label "type" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:viewer a owl:AnnotationProperty . _:c14n0 rdf:first bizcodes:002 ; rdf:rest _:c14n43 . _:c14n1 a owl:Restriction ; diff --git a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.jsonld b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.jsonld index e7ade20fd8..d88f917c2f 100644 --- a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.jsonld +++ b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.jsonld @@ -1,54 +1,50 @@ [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt", + "@id": "http://www.w3.org/2004/02/skos/core#mappingRelation", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "heartfelt" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@value": "activities" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@value": "warm and hearty friendliness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://example.org/bizcodes/004", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "TRANSFER" + "@value": "NuSequenceIdentifier13_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "transfer internally" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" + "@value": "ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ @@ -58,18 +54,13 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "has familial relationships" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" + "@value": "type" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -79,57 +70,34 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/core/started_at_time", + "@id": "https://example.org/bizcodes/003", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "started at time" + "@value": "PROMOTION" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@value": "promotion event" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Place" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" - }, - { - "@id": "_:Nd48482fa58bb4e0a8e06d15b2648bbce" - }, - { - "@id": "_:N3541255d893a4d61947eb18c4dab1520" - }, - { - "@id": "_:N771f00418ffd4cec9278a155a07fd6ae" - }, - { - "@id": "_:N26f67c8603134abc9c93d65a1525d449" - }, - { - "@id": "_:N8462672b089d423fb92d330580edb1ea" - }, - { - "@id": "_:N25e3992949bc40ad9b6b2ee61d88c3e9" + "@value": "cordialness" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -139,113 +107,142 @@ ] }, { - "@id": "_:Nd48482fa58bb4e0a8e06d15b2648bbce", + "@id": "https://w3id.org/linkml/permissible_values", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "persons" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N3541255d893a4d61947eb18c4dab1520", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N771f00418ffd4cec9278a155a07fd6ae", + "@id": "http://www.w3.org/2004/02/skos/core#closeMatch", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "tree_slot_A" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N26f67c8603134abc9c93d65a1525d449", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "addresses" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N8462672b089d423fb92d330580edb1ea", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/fallible", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "CordialnessEnum" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" + } + ] } - ] - }, - { - "@id": "_:N25e3992949bc40ad9b6b2ee61d88c3e9", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "https://w3id.org/linkml/permissible_values": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "tree_slot_A" + "@value": "ceo" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -255,23 +252,24 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsStringIn", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "age in years" + "@value": "EqualsStringIn" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Ne4872dc6f4314c45b527bdc070d6eb5b" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "@id": "_:Ndb335a51e54e4cf4af97e09e6c6f39f0" + }, { - "@value": "number of years since birth" + "@id": "_:Nab48f468c7b5499d9bffd6b6ac7a3cfb" + }, + { + "@id": "_:N8c5db5ab2129429ea4b29d59f323e570" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -281,140 +279,183 @@ ] }, { - "@id": "_:Ne4872dc6f4314c45b527bdc070d6eb5b", + "@id": "_:Ndb335a51e54e4cf4af97e09e6c6f39f0", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - }, - { - "@id": "_:Naf1c757e5e0743c78b6cb7789611c728" - }, - { - "@id": "_:N1608174bcdec4213a38941df352d13a6" - } - ] + "@id": "_:N748a8b3e2e25460e9852b35f83c4a9e4" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" } ] }, { - "@id": "_:Naf1c757e5e0743c78b6cb7789611c728", + "@id": "_:N748a8b3e2e25460e9852b35f83c4a9e4", "@type": [ "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - } - ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2002/07/owl#oneOf": [ { "@list": [ { - "@id": "_:N2e86229a31c849f28dda2388422bcb00" + "@value": "foo" + }, + { + "@value": "bar" } ] } ] }, { - "@id": "_:N2e86229a31c849f28dda2388422bcb00", - "http://www.w3.org/2001/XMLSchema#minInclusive": [ + "@id": "_:Nab48f468c7b5499d9bffd6b6ac7a3cfb", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", "@value": 0 } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + } ] }, { - "@id": "_:N1608174bcdec4213a38941df352d13a6", + "@id": "_:N8c5db5ab2129429ea4b29d59f323e570", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@list": [ - { - "@id": "_:N6583b6fa6d3e48a187cded8561f53b93" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" } ] }, { - "@id": "_:N6583b6fa6d3e48a187cded8561f53b93", - "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 999 + "@value": "other codes" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/linkml/permissible_values": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" + "@value": "city" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "MedicalEvent" + "@value": "DiagnosisType" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/linkml/permissible_values": [ { - "@id": "_:Nb07be04e29984fc2b12417b9c5bec746" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/ended_at_time", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N6c717ee4af5a48488ea28675492cf702" - }, + "@value": "ended at time" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "_:N28a96dbddd6a43338a33a6fea0427897" - }, + "@id": "http://www.w3.org/2001/XMLSchema#date" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:N8393a71c515b46bf91d1ca65a00d6d94" - }, + "@id": "https://w3id.org/linkml/tests/core" + } + ] + }, + { + "@id": "http://www.w3.org/2004/02/skos/core#altLabel", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "MarriageEvent" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Ned0776364c0047ec85c4a7544540655a" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" }, { - "@id": "_:Nfeb88a886eb440579001dffec8df4b0d" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation" }, { - "@id": "_:N6096e0928f0f429fb58c4837f8bf3574" + "@id": "_:Nf628db653cd54381b8703a14c50af314" }, { - "@id": "_:Nfbd80283b10a43d1a97e13826070f2c0" + "@id": "_:Na636b593efd44da2ab45d3a9a73e6842" }, { - "@id": "_:N95b197b092a54b4a8c9bc2cbd3743eae" + "@id": "_:N9470cdc2a7bd4bb284c8c403c1de26e9" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -424,23 +465,23 @@ ] }, { - "@id": "_:Nb07be04e29984fc2b12417b9c5bec746", + "@id": "_:Nf628db653cd54381b8703a14c50af314", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" } ] }, { - "@id": "_:N6c717ee4af5a48488ea28675492cf702", + "@id": "_:Na636b593efd44da2ab45d3a9a73e6842", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -452,12 +493,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" } ] }, { - "@id": "_:N28a96dbddd6a43338a33a6fea0427897", + "@id": "_:N9470cdc2a7bd4bb284c8c403c1de26e9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -469,145 +510,134 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" } ] }, { - "@id": "_:N8393a71c515b46bf91d1ca65a00d6d94", + "@id": "https://w3id.org/linkml/tests/core/started_at_time", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + "@value": "started at time" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "http://www.w3.org/2001/XMLSchema#date" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:Ned0776364c0047ec85c4a7544540655a", + "@id": "http://www.w3.org/2000/01/rdf-schema#seeAlso", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "_:Nfeb88a886eb440579001dffec8df4b0d", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/TubSubClass1", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "tub sub class 1" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" } - ] - }, - { - "@id": "_:N6096e0928f0f429fb58c4837f8bf3574", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" + "@value": "Same depth as Sub sub class 1" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nfbd80283b10a43d1a97e13826070f2c0", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "heartfelt" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "warm and hearty friendliness" } ] }, { - "@id": "_:N95b197b092a54b4a8c9bc2cbd3743eae", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "companies" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "TODO" + "@value": "related to" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsString", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EqualsString" + "@value": "age in years" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N7cef9206d7b84f58af1b94cd3f4f07d5" - }, + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "_:N609dfe82e879409a84c81aeaa65e2318" - }, + "@id": "_:N61d1567553c049a8b0739bec830dbacb" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "_:N4b0d24e7d5854c3aa11d914916ee6d35" + "@value": "number of years since birth" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -617,151 +647,147 @@ ] }, { - "@id": "_:N7cef9206d7b84f58af1b94cd3f4f07d5", + "@id": "_:N61d1567553c049a8b0739bec830dbacb", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "_:N53f5714619a34d75a535950af8b264b0" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#intersectionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" + "@list": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + }, + { + "@id": "_:N8e860789d84e4ee486ee95e8445ef80d" + }, + { + "@id": "_:N62f2ec13c77d4fe7aa29ba0d77120105" + } + ] } ] }, { - "@id": "_:N53f5714619a34d75a535950af8b264b0", + "@id": "_:N8e860789d84e4ee486ee95e8445ef80d", "@type": [ "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#oneOf": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ], + "http://www.w3.org/2002/07/owl#withRestrictions": [ { "@list": [ { - "@value": "foo" + "@id": "_:Ne632ef49bb2f44b49f2e461156a75031" } ] } ] }, { - "@id": "_:N609dfe82e879409a84c81aeaa65e2318", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "@id": "_:Ne632ef49bb2f44b49f2e461156a75031", + "http://www.w3.org/2001/XMLSchema#minInclusive": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", "@value": 0 } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" - } ] }, { - "@id": "_:N4b0d24e7d5854c3aa11d914916ee6d35", + "@id": "_:N62f2ec13c77d4fe7aa29ba0d77120105", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" + "@list": [ + { + "@id": "_:N6e3672d456424dfea88dcd15ef61c2d9" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship", - "@type": [ + "@id": "_:N6e3672d456424dfea88dcd15ef61c2d9", + "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 999 + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent", + "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Relationship" + "@value": "EmploymentEvent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nbf08e85d02de498792820f0fe3807a41" - }, - { - "@id": "_:N7beb9aa2879d49ecb9f29db848d17ba2" - }, - { - "@id": "_:Ncb9923878b2a4f45b5074d4e829a1705" - }, - { - "@id": "_:N675b8cb978bb4d2cb58bc4a76ad2db8f" - }, - { - "@id": "_:Nc28ad26196c54346af7e5be6dcbe4941" - }, - { - "@id": "_:Nd56756dec01f468a8055301a3d2d87f1" - }, - { - "@id": "_:Nc5bc22b77b96457083618b1b33042aab" - }, - { - "@id": "_:N68d4aafd529c41909d5fe2e6d8507a06" - }, - { - "@id": "_:Ne264bdfd8b72453a8681619aad4f80fe" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" }, { - "@id": "_:N7ba4da31c5ac485bb0754681df465cdd" + "@id": "_:Na86718fa527c432cb81a25a946089523" }, { - "@id": "_:N09e52b70a57c4a30a1ee90a3852c6b9a" + "@id": "_:Ndc66d1ddc04c401eb96e2823cdab3033" }, { - "@id": "_:N7e2dbfbd31ad4809bcb677786290303b" + "@id": "_:N7060374076aa45c7937e9c193d6e5e64" }, { - "@id": "_:N885d654b7f9440dbba1e7acf26b22ad9" + "@id": "_:N8aec650fbac04a4d9addec2a7c6147e4" }, { - "@id": "_:Nff52ac1c6a6140389f6f0146b301193e" + "@id": "_:N7f60e24e4b2a45368443b17e5bc28722" }, { - "@id": "_:Ne41410aa7efd48fa8654711d74895936" + "@id": "_:N0d6dcadebe62455d9bfc0afe5dcfcb7e" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 6 + } ] }, { - "@id": "_:Nbf08e85d02de498792820f0fe3807a41", + "@id": "_:Na86718fa527c432cb81a25a946089523", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" } ] }, { - "@id": "_:N7beb9aa2879d49ecb9f29db848d17ba2", + "@id": "_:Ndc66d1ddc04c401eb96e2823cdab3033", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -773,12 +799,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" } ] }, { - "@id": "_:Ncb9923878b2a4f45b5074d4e829a1705", + "@id": "_:N7060374076aa45c7937e9c193d6e5e64", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -790,28 +816,43 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" } ] }, { - "@id": "_:N675b8cb978bb4d2cb58bc4a76ad2db8f", + "@id": "_:N8aec650fbac04a4d9addec2a7c6147e4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "_:Nd6dd7637890c4c3aa130be00cdbe3c43" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + } + ] + }, + { + "@id": "_:Nd6dd7637890c4c3aa130be00cdbe3c43", + "http://www.w3.org/2002/07/owl#unionOf": [ + { + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ] } ] }, { - "@id": "_:Nc28ad26196c54346af7e5be6dcbe4941", + "@id": "_:N7f60e24e4b2a45368443b17e5bc28722", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -823,12 +864,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "_:Nd56756dec01f468a8055301a3d2d87f1", + "@id": "_:N0d6dcadebe62455d9bfc0afe5dcfcb7e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -840,195 +881,144 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "_:Nc5bc22b77b96457083618b1b33042aab", + "@id": "https://example.org/bizcodes/002", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - } + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@value": "FIRE" } - ] - }, - { - "@id": "_:N68d4aafd529c41909d5fe2e6d8507a06", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "https://w3id.org/biolink/opposite": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@value": "HIRE" } ] }, { - "@id": "_:Ne264bdfd8b72453a8681619aad4f80fe", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@value": "has familial relationships" } - ] - }, - { - "@id": "_:N7ba4da31c5ac485bb0754681df465cdd", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N09e52b70a57c4a30a1ee90a3852c6b9a", + "@id": "http://www.w3.org/2004/02/skos/core#exactMatch", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "_:N7e2dbfbd31ad4809bcb677786290303b", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@value": "altitude" } - ] - }, - { - "@id": "_:N885d654b7f9440dbba1e7acf26b22ad9", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "http://www.w3.org/2001/XMLSchema#decimal" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nff52ac1c6a6140389f6f0146b301193e", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "aliases" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Ne41410aa7efd48fa8654711d74895936", + "@id": "https://w3id.org/linkml/tests/core/used", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#domain": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/core/Activity" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems", - "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "code systems" + "@value": "used" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfEnums", + "@id": "http://www.w3.org/2000/01/rdf-schema#label", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "AnyOfEnums" + "@value": "Company" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N7e31e513ad884fa1a51ff53362e039bb" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" + }, + { + "@id": "_:Nbcd80e503f474e71b46ad287eb62cb29" }, { - "@id": "_:Nd132fdf58f82457b9710a6b1ae576166" + "@id": "_:N2929c9cf3dd54c42a15187d2a8c7a477" }, { - "@id": "_:N9b9c8693fe5d4a4aa50805ee2b5db771" + "@id": "_:N1e9eb581aee8489f80c86f9582284413" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1038,38 +1028,23 @@ ] }, { - "@id": "_:N7e31e513ad884fa1a51ff53362e039bb", + "@id": "_:Nbcd80e503f474e71b46ad287eb62cb29", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N7cef529e34cb4409a7204ecb237414e7" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" - } - ] - }, - { - "@id": "_:N7cef529e34cb4409a7204ecb237414e7", - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" } ] }, { - "@id": "_:Nd132fdf58f82457b9710a6b1ae576166", + "@id": "_:N2929c9cf3dd54c42a15187d2a8c7a477", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1081,12 +1056,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" } ] }, { - "@id": "_:N9b9c8693fe5d4a4aa50805ee2b5db771", + "@id": "_:N1e9eb581aee8489f80c86f9582284413", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1098,69 +1073,58 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/core/was_associated_with", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "XiSequenceIdentifier14_LongPatternLongPatternLongPattern" + "@value": "was associated with" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/core/Agent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "altitude" + "@value": "indifferent" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "http://www.w3.org/2001/XMLSchema#decimal" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "not overly friendly nor obnoxiously spiteful" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink.owl.ttl", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Ontology" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "NuSequenceIdentifier13_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink.owl.ttl", - "@type": [ - "http://www.w3.org/2002/07/owl#Ontology" - ], - "http://purl.org/dc/terms/title": [ + "http://purl.org/dc/terms/title": [ { "@value": "Kitchen Sink Schema" } @@ -1182,13 +1146,13 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "LIVING" + "@value": "UNKNOWN" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ @@ -1198,53 +1162,83 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/opinions", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "BirthEvent" + "@value": "FamilialRelationship" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship" + }, + { + "@id": "_:Nca4b50eec7dd4881bf04e5b0b9fcb388" }, { - "@id": "_:N5826eef586c44ecb84064d8029f92ed0" + "@id": "_:N35bb7e65f620466db921176773f9c29c" }, { - "@id": "_:Nd0d663c29a3947ffa001795aa1f1b4a5" + "@id": "_:N0d8d3e6e88dc472bac7f5b726329c90a" }, { - "@id": "_:Ne369082cf4ab46079b69b782933b2fed" + "@id": "_:Nc4492941b39c490eb9d3a4743a9ed5c2" + }, + { + "@id": "_:Ncf72951d558d47389cbd6a38a3caf57f" + }, + { + "@id": "_:Nd6fb92a8682545f1ad4efa04e39c919e" + }, + { + "@id": "_:N28500853b8764636982706ba0eacba96" + }, + { + "@id": "_:Nbaf8dedc61ea470c8d8f63e04125d196" + }, + { + "@id": "_:N2fa0cad2d6fc455eb2818d7e969b3db9" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 5 + } ] }, { - "@id": "_:N5826eef586c44ecb84064d8029f92ed0", + "@id": "_:Nca4b50eec7dd4881bf04e5b0b9fcb388", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "_:Nd0d663c29a3947ffa001795aa1f1b4a5", + "@id": "_:N35bb7e65f620466db921176773f9c29c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1256,12 +1250,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "_:Ne369082cf4ab46079b69b782933b2fed", + "@id": "_:N0d8d3e6e88dc472bac7f5b726329c90a", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1273,123 +1267,118 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/life_status", + "@id": "_:Nc4492941b39c490eb9d3a4743a9ed5c2", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "life_status" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at", + "@id": "_:Ncf72951d558d47389cbd6a38a3caf57f", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "employed at" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id", + "@id": "_:Nd6fb92a8682545f1ad4efa04e39c919e", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "long_id" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies", + "@id": "_:N28500853b8764636982706ba0eacba96", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "companies" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata", + "@id": "_:Nbaf8dedc61ea470c8d8f63e04125d196", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "metadata" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } + ] + }, + { + "@id": "_:N2fa0cad2d6fc455eb2818d7e969b3db9", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "Example of a slot that has an unconstrained range" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "attribute5" + "@value": "attribute4" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1399,98 +1388,52 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/core/Activity", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "activity" + "@value": "Concept" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Nd115fade37084f86aa8b4d4bee40ebf7" - }, - { - "@id": "_:N39282fb872164d89ac7519f3afa451b0" - }, - { - "@id": "_:N3f6f1bee01074e0489e679fdbed4edfa" - }, - { - "@id": "_:Nb55303da93304c5eb11486586ecfe672" - }, - { - "@id": "_:N0057c21bbc4e4de2aee7b8f91e373c82" - }, - { - "@id": "_:N05fa2eb4f36e4872bcfbd692cc44d39f" - }, - { - "@id": "_:N2f276c41fa8c4d298e61c66678526f36" - }, - { - "@id": "_:N89ac34dd72104053bb1a80a97c3f9842" - }, - { - "@id": "_:N2ad2c776238848609128842f93d23624" - }, - { - "@id": "_:Na018cac54eb448208076c31f06de26f2" - }, - { - "@id": "_:N4fada56563c54170b8b264ea0e35eade" - }, - { - "@id": "_:Nc37097f953d04c8a829c1b9e8196879f" - }, - { - "@id": "_:Ndb62d225a4bb4bd98ce7a5437d3517c8" + "@id": "_:N8ac6dd9d4b3245d39b8d2745ab9bb752" }, { - "@id": "_:N44ccb5b0e97c43f7a562aa5ae9af8617" + "@id": "_:N42ee8347bcc74cc8adc8d99aecf5a05b" }, { - "@id": "_:Nf2dbc77cf5b547e0be0bed51b93869b3" + "@id": "_:N7ffc3181a52940efaea9ce571c52f6a0" }, { - "@id": "_:N2145ad8859a34bcca71803afda90e8eb" + "@id": "_:N650efea31fa94713bd18a56250d7d286" }, { - "@id": "_:Nd06e15557c3c47839be01a4697a658db" + "@id": "_:N32a2e29ebcb94fd4962a64af4a7215ae" }, { - "@id": "_:N209165392c034e34a8ed400e96efb2c8" + "@id": "_:N092bd7cea72c454b8ea8d620720c5494" }, { - "@id": "_:N0fa01dd35b9f491f93091007bb224c84" + "@id": "_:N4bac68a5ec73435a8f77e1e01fecf479" }, { - "@id": "_:Nc75416da882b4eb98b16489ea75558e0" + "@id": "_:N75568cbcf85241c596233626325faa7f" }, { - "@id": "_:Na29296030b7e4693808d11890e03778d" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "a provence-generating activity" + "@id": "_:N30cc4aa8a34e4e4e9d033717a99f6230" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" - } - ], - "http://www.w3.org/2004/02/skos/core#mappingRelation": [ - { - "@id": "http://www.w3.org/ns/prov#Activity" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nd115fade37084f86aa8b4d4bee40ebf7", + "@id": "_:N8ac6dd9d4b3245d39b8d2745ab9bb752", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1501,29 +1444,29 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/description" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N39282fb872164d89ac7519f3afa451b0", + "@id": "_:N42ee8347bcc74cc8adc8d99aecf5a05b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/description" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N3f6f1bee01074e0489e679fdbed4edfa", + "@id": "_:N7ffc3181a52940efaea9ce571c52f6a0", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1535,28 +1478,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/description" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Nb55303da93304c5eb11486586ecfe672", + "@id": "_:N650efea31fa94713bd18a56250d7d286", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" } ] }, { - "@id": "_:N0057c21bbc4e4de2aee7b8f91e373c82", + "@id": "_:N32a2e29ebcb94fd4962a64af4a7215ae", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1568,12 +1511,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" } ] }, { - "@id": "_:N05fa2eb4f36e4872bcfbd692cc44d39f", + "@id": "_:N092bd7cea72c454b8ea8d620720c5494", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1585,12 +1528,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" } ] }, { - "@id": "_:N2f276c41fa8c4d298e61c66678526f36", + "@id": "_:N4bac68a5ec73435a8f77e1e01fecf479", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1601,29 +1544,29 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N89ac34dd72104053bb1a80a97c3f9842", + "@id": "_:N75568cbcf85241c596233626325faa7f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N2ad2c776238848609128842f93d23624", + "@id": "_:N30cc4aa8a34e4e4e9d033717a99f6230", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1635,62 +1578,109 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Na018cac54eb448208076c31f06de26f2", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@value": "has medical history" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" } - ] - }, - { - "@id": "_:N4fada56563c54170b8b264ea0e35eade", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/ns/shacl#order": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 5 } ] }, { - "@id": "_:Nc37097f953d04c8a829c1b9e8196879f", + "@id": "https://w3id.org/linkml/tests/core/name", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "name" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/core" + } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 2 } ] }, { - "@id": "_:Ndb62d225a4bb4bd98ce7a5437d3517c8", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "in code system" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "class with spaces" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "_:N6b386933adf04d61bb3de4aa910ff760" + }, + { + "@id": "_:N76cbd9e4ca3e452695b1ec7390ae8236" + }, + { + "@id": "_:N4cd2f9de861048b7ac83dd843a23c7fa" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "_:N6b386933adf04d61bb3de4aa910ff760", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1701,12 +1691,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/used" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" } ] }, { - "@id": "_:N44ccb5b0e97c43f7a562aa5ae9af8617", + "@id": "_:N76cbd9e4ca3e452695b1ec7390ae8236", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1718,12 +1708,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/used" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" } ] }, { - "@id": "_:Nf2dbc77cf5b547e0be0bed51b93869b3", + "@id": "_:N4cd2f9de861048b7ac83dd843a23c7fa", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1735,28 +1725,73 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/used" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/activity_set", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "activity set" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/core/Activity" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "HasAliases" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "_:N3cbe14167fe7444881f6ed9c1a88bf9e" + }, + { + "@id": "_:N767f75a5b8cb4ef9b359b7f68fe12393" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N2145ad8859a34bcca71803afda90e8eb", + "@id": "_:N3cbe14167fe7444881f6ed9c1a88bf9e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" } ] }, { - "@id": "_:Nd06e15557c3c47839be01a4697a658db", + "@id": "_:N767f75a5b8cb4ef9b359b7f68fe12393", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1768,45 +1803,70 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" } ] }, { - "@id": "_:N209165392c034e34a8ed400e96efb2c8", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfClasses", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "AnyOfClasses" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + "@id": "_:Nb1c9a3513ab246598f4a5d9898b650ec" + }, + { + "@id": "_:Ne1c280e74cc24d7591c38c5a1644e171" + }, + { + "@id": "_:N5fde4bb030d447d6a22b823893bd31c6" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N0fa01dd35b9f491f93091007bb224c84", + "@id": "_:Nb1c9a3513ab246598f4a5d9898b650ec", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "_:N73f81540b0ee4b839bc5c0a66202f6bd" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + } + ] + }, + { + "@id": "_:N73f81540b0ee4b839bc5c0a66202f6bd", + "http://www.w3.org/2002/07/owl#unionOf": [ + { + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" + } + ] } ] }, { - "@id": "_:Nc75416da882b4eb98b16489ea75558e0", + "@id": "_:Ne1c280e74cc24d7591c38c5a1644e171", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1818,12 +1878,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" } ] }, { - "@id": "_:Na29296030b7e4693808d11890e03778d", + "@id": "_:N5fde4bb030d447d6a22b823893bd31c6", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1835,39 +1895,61 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" } ] }, { - "@id": "https://example.org/bizcodes/001", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "HIRE" + "@value": "CHILD_OF" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "DEAD" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@value": "event for a new employee" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2", + "@id": "http://www.w3.org/2004/02/skos/core#definition", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_marriage_history", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "attribute2" + "@value": "has marriage history" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -1877,68 +1959,96 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "code systems" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Dataset", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Address" + "@value": "Dataset" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Na921b8fce60842a8a559a98854b1fb30" + "@id": "_:N145839b61609447fa3f0e4d90807cb76" + }, + { + "@id": "_:N6afbdc294a75407aa0419f7c15afd0d6" + }, + { + "@id": "_:Nb3acfb26bdaf4a31aea761b2504ec85b" }, { - "@id": "_:N5842abe66c4541b787dbd6b92a56eef6" + "@id": "_:Nfbf4e98a4e644f659680f1bf56d2786b" }, { - "@id": "_:N55c830a1e5114ae1a7e7ec1b33cd7a25" + "@id": "_:N718aead6618843779f18f791b7b82dfc" }, { - "@id": "_:N25a19c75c58d4486ae85a5a3610ecbf4" + "@id": "_:N72be53926e254f368b4b8c84a9b917aa" }, { - "@id": "_:Nd1250b6c0f934632a569c5181f56c9e9" + "@id": "_:N2b798a4bfcd647d4a40874ae44c00f4b" }, { - "@id": "_:N9abdb71c374542cba964b821f55c9a77" + "@id": "_:Nb330f820dafc40c3a78e5a2bdcc08e94" }, { - "@id": "_:N0e203e00f9a44fc7bc58ae7f342db262" + "@id": "_:N99380333a9e943278c5498fe42fc0b3e" }, { - "@id": "_:N902ca1783596429ca513340bf57b8641" + "@id": "_:Nca1ddd2ba9374966a106267f61ee2758" }, { - "@id": "_:Nde95d514ee63456fbe81f3ce9c2a5574" + "@id": "_:N5fb90654afa441c2a9ccd85dbcaddc9a" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } ] }, { - "@id": "_:Na921b8fce60842a8a559a98854b1fb30", + "@id": "_:N145839b61609447fa3f0e4d90807cb76", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#decimal" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities" } ] }, { - "@id": "_:N5842abe66c4541b787dbd6b92a56eef6", + "@id": "_:N6afbdc294a75407aa0419f7c15afd0d6", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -1950,95 +2060,94 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities" } ] }, { - "@id": "_:N55c830a1e5114ae1a7e7ec1b33cd7a25", + "@id": "_:Nb3acfb26bdaf4a31aea761b2504ec85b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems" } ] }, { - "@id": "_:N25a19c75c58d4486ae85a5a3610ecbf4", + "@id": "_:Nfbf4e98a4e644f659680f1bf56d2786b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems" } ] }, { - "@id": "_:Nd1250b6c0f934632a569c5181f56c9e9", + "@id": "_:N718aead6618843779f18f791b7b82dfc", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies" } ] }, { - "@id": "_:N9abdb71c374542cba964b821f55c9a77", + "@id": "_:N72be53926e254f368b4b8c84a9b917aa", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies" } ] }, { - "@id": "_:N0e203e00f9a44fc7bc58ae7f342db262", + "@id": "_:N2b798a4bfcd647d4a40874ae44c00f4b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "_:N902ca1783596429ca513340bf57b8641", + "@id": "_:Nb330f820dafc40c3a78e5a2bdcc08e94", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2050,12 +2159,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "_:Nde95d514ee63456fbe81f3ce9c2a5574", + "@id": "_:N99380333a9e943278c5498fe42fc0b3e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2067,230 +2176,327 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern", + "@id": "_:Nca1ddd2ba9374966a106267f61ee2758", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern", + "@id": "_:N5fb90654afa441c2a9ccd85dbcaddc9a", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "AnyObject" + "@value": "Person" + } + ], + "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ + { + "@id": "https://en.wikipedia.org/wiki/Person" + }, + { + "@id": "http://schema.org/Person" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" + }, + { + "@id": "_:N420f06d84f424dfdaf5d0b7cf4a2c51c" + }, + { + "@id": "_:N9fea3e974c8347f495a476e36b2c8fae" + }, + { + "@id": "_:Nb3a3dae9a2db47379c10dd5b01a2ccbe" + }, + { + "@id": "_:N0d11fbea97b04f06b139ff32a03970e2" + }, + { + "@id": "_:Na0faa7509f43449abfe084bbfa25def9" + }, + { + "@id": "_:N39e4d1d82297415590c35fc0249cf73b" + }, + { + "@id": "_:Nca2650176d7a4b1e928a5e1550c77c87" + }, + { + "@id": "_:N2ed339af0c3b4b8c81a275c097d077b9" + }, + { + "@id": "_:N87cff0576bdb416287bf1146a3febae2" + }, + { + "@id": "_:N2e53aae700904080be7a19a8b9bbcdcb" + }, + { + "@id": "_:N2db14a2cdd5d4e498c85cb8e9f137c87" + }, + { + "@id": "_:N3feb67c1bc784fd985a515cd935fad4a" + }, + { + "@id": "_:Nd3645793728a4ad891179e1d746a8401" + }, + { + "@id": "_:N53ddb4152c4e4f8d8d7c5a0e21ab9408" + }, + { + "@id": "_:N686847f893a740c2bcd60c646d87cde1" + }, + { + "@id": "_:N74cdfb50e994455a94aec690e160e13c" + }, + { + "@id": "_:Nacd4359417b14a51b7ff1ee1147c7cdd" + }, + { + "@id": "_:Need96cf7b59249d8b912e1a7b1a0ecb9" + }, + { + "@id": "_:N9ae978a6054f4a77a2db05b63f1c0067" + }, + { + "@id": "_:N9092912d46544075be10e3cc38876b99" + }, + { + "@id": "_:Nc49e8e8c85584cdf911eb2810c954b9f" + }, + { + "@id": "_:Nac79550941cf4e19a9035cf0ca1fe594" + }, + { + "@id": "_:N71aa0c453cd949c48ebb4068899e2f14" + }, + { + "@id": "_:Nf355a4d49ecc45a7a957187f68927d20" + }, + { + "@id": "_:Nf3a669f35c934791ae7c0d8b0d4fb07a" + }, + { + "@id": "_:N6e8aeec557524ebd9979d29ed28d5604" + }, + { + "@id": "_:N92cf2c77645f41dab68f4a256d1813b7" + }, + { + "@id": "_:Nbc5c1471bc9b47f8a0866ef00f067e5b" + }, + { + "@id": "_:Nc6c0c9ac5cc84796913ce4042d259f47" } ], "http://www.w3.org/2004/02/skos/core#definition": [ { - "@value": "Example of unconstrained class" + "@value": "A person, living or dead" } ], "http://www.w3.org/2004/02/skos/core#exactMatch": [ { - "@id": "https://w3id.org/linkml/Any" + "@id": "http://schema.org/Person" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of", - "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/ns/shacl#order": [ { - "@value": "acted on behalf of" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 2 } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "https://w3id.org/linkml/tests/kitchen_sink/fallible": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@type": "http://www.w3.org/2001/XMLSchema#boolean", + "@value": true } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "https://w3id.org/linkml/tests/kitchen_sink/opinions": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1000 } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "https://w3id.org/linkml/tests/kitchen_sink/resting": [ { - "@value": "EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + "@value": "supine" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "https://w3id.org/linkml/tests/kitchen_sink/viewer": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@value": "ks:PersonViewer" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons", + "@id": "_:N420f06d84f424dfdaf5d0b7cf4a2c51c", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "persons" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern", + "@id": "_:N9fea3e974c8347f495a476e36b2c8fae", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/was_associated_with", + "@id": "_:Nb3a3dae9a2db47379c10dd5b01a2ccbe", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "was associated with" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "_:Nd1841d3a433c4acb96e8d89348eab261" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship", + "@id": "_:Nd1841d3a433c4acb96e8d89348eab261", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#intersectionOf": [ { - "@value": "FamilialRelationship" + "@list": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + }, + { + "@id": "_:Nc5c5c297e2d5463486705a7ee08ed777" + }, + { + "@id": "_:Na8fa0903f2f34060bd13716831123215" + } + ] } + ] + }, + { + "@id": "_:Nc5c5c297e2d5463486705a7ee08ed777", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship" - }, - { - "@id": "_:N734700ac98554955a38b6f885f1cd8a2" - }, - { - "@id": "_:Ne7299e1a0ac9461bb0adbeb094673cb0" - }, - { - "@id": "_:Naf26e702deb648fda9faa772ed273e73" - }, - { - "@id": "_:N46302d1cdf014cb8afd69cf80285b469" - }, - { - "@id": "_:N7d86d5b25f774d3c90cc109c0b7b05f6" - }, - { - "@id": "_:N04fbda5932574deabc5fff5a3c4355af" - }, - { - "@id": "_:N62c09d00d48e434d87d2c16cbb1a9293" - }, - { - "@id": "_:N0922c5aedd964a16835541554d8f9af6" - }, + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "_:N8a98527d616742f8a11dd20d04473313" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@id": "_:Nf7af31d4942949b9b88bbbf95e874be4" + } + ] } - ], - "http://www.w3.org/ns/shacl#order": [ + ] + }, + { + "@id": "_:Nf7af31d4942949b9b88bbbf95e874be4", + "http://www.w3.org/2001/XMLSchema#minInclusive": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 5 + "@value": 0 } ] }, { - "@id": "_:N734700ac98554955a38b6f885f1cd8a2", + "@id": "_:Na8fa0903f2f34060bd13716831123215", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@list": [ + { + "@id": "_:N8f4e44c194884d4cb0b839b475cdb0db" + } + ] + } + ] + }, + { + "@id": "_:N8f4e44c194884d4cb0b839b475cdb0db", + "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 999 } ] }, { - "@id": "_:Ne7299e1a0ac9461bb0adbeb094673cb0", + "@id": "_:N0d11fbea97b04f06b139ff32a03970e2", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2302,12 +2508,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" } ] }, { - "@id": "_:Naf26e702deb648fda9faa772ed273e73", + "@id": "_:Na0faa7509f43449abfe084bbfa25def9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2319,45 +2525,45 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" } ] }, { - "@id": "_:N46302d1cdf014cb8afd69cf80285b469", + "@id": "_:N39e4d1d82297415590c35fc0249cf73b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" } ] }, { - "@id": "_:N7d86d5b25f774d3c90cc109c0b7b05f6", + "@id": "_:Nca2650176d7a4b1e928a5e1550c77c87", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" } ] }, { - "@id": "_:N04fbda5932574deabc5fff5a3c4355af", + "@id": "_:N2ed339af0c3b4b8c81a275c097d077b9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2369,120 +2575,94 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" } ] }, { - "@id": "_:N62c09d00d48e434d87d2c16cbb1a9293", + "@id": "_:N87cff0576bdb416287bf1146a3febae2", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" } ] }, { - "@id": "_:N0922c5aedd964a16835541554d8f9af6", + "@id": "_:N2e53aae700904080be7a19a8b9bbcdcb", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" } ] }, { - "@id": "_:N8a98527d616742f8a11dd20d04473313", + "@id": "_:N2db14a2cdd5d4e498c85cb8e9f137c87", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfClasses", + "@id": "_:N3feb67c1bc784fd985a515cd935fad4a", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "AnyOfClasses" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N91c5e2041890469b82a599a637374345" - }, - { - "@id": "_:N42d1120e74b34dd6b4236e5624e04541" - }, + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "_:Ne26696ac745a4b3b92deb0366e265e23" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" } ] }, { - "@id": "_:N91c5e2041890469b82a599a637374345", + "@id": "_:Nd3645793728a4ad891179e1d746a8401", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:Nfc1fca80799e43ec87d28cfed2cef2d6" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" - } - ] - }, - { - "@id": "_:Nfc1fca80799e43ec87d28cfed2cef2d6", - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" } ] }, { - "@id": "_:N42d1120e74b34dd6b4236e5624e04541", + "@id": "_:N53ddb4152c4e4f8d8d7c5a0e21ab9408", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2494,376 +2674,267 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" } ] }, { - "@id": "_:Ne26696ac745a4b3b92deb0366e265e23", + "@id": "_:N686847f893a740c2bcd60c646d87cde1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/was_generated_by", + "@id": "_:N74cdfb50e994455a94aec690e160e13c", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "was generated by" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept", + "@id": "_:Nacd4359417b14a51b7ff1ee1147c7cdd", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "DiagnosisConcept" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#closeMatch": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/biolink/Disease" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living", + "@id": "_:Need96cf7b59249d8b912e1a7b1a0ecb9", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_marriage_history", + "@id": "_:N9ae978a6054f4a77a2db05b63f1c0067", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "has marriage history" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent", + "@id": "_:N9092912d46544075be10e3cc38876b99", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "indifferent" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "not overly friendly nor obnoxiously spiteful" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history", + "@id": "_:Nc49e8e8c85584cdf911eb2810c954b9f", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "has employment history" + "@id": "_:N54aa075766b548d38b73cf84c1dddc39" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent" + "@id": "https://w3id.org/linkml/tests/core/name" } + ] + }, + { + "@id": "_:N54aa075766b548d38b73cf84c1dddc39", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 7 + "@list": [ + { + "@id": "_:Nf7a8dae25a9444dd88a775ca6788d699" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "CHILD_OF" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "@id": "_:Nf7a8dae25a9444dd88a775ca6788d699", + "http://www.w3.org/2001/XMLSchema#pattern": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@value": "^\\S+ \\S+$" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern", + "@id": "_:Nac79550941cf4e19a9035cf0ca1fe594", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfMix", + "@id": "_:N71aa0c453cd949c48ebb4068899e2f14", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "AnyOfMix" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:Nd400e238dd1742dc8530ba29843b4ab8" - }, - { - "@id": "_:N16355a324f9a4e8f96d7cf733b55149d" - }, + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:Nd8d25863d2ec419ea513b879df269165" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Nd400e238dd1742dc8530ba29843b4ab8", + "@id": "_:Nf355a4d49ecc45a7a957187f68927d20", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N32aabe20798f4d9f819e57cf13ea30cb" + "@id": "_:N60388956e9b24a07bd0761d500b095bf" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" } ] }, { - "@id": "_:N32aabe20798f4d9f819e57cf13ea30cb", - "http://www.w3.org/2002/07/owl#unionOf": [ + "@id": "_:N60388956e9b24a07bd0761d500b095bf", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#intersectionOf": [ { "@list": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "_:N2b73e380d7f7495281bcef5091797727" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@id": "_:N8260857bf53941d99acb71a5e211223d" } ] } ] }, { - "@id": "_:N16355a324f9a4e8f96d7cf733b55149d", + "@id": "_:N2b73e380d7f7495281bcef5091797727", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#oneOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" + "@list": [ + { + "@value": "human" + } + ] } ] }, { - "@id": "_:Nd8d25863d2ec419ea513b879df269165", + "@id": "_:N8260857bf53941d99acb71a5e211223d", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "CordialnessEnum" - } - ], - "http://www.w3.org/2002/07/owl#unionOf": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { "@list": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" + "@id": "_:N57c7e7e6231643d9a576dc2b39dc9de1" } ] } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#heartfelt" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#indifferent" - } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "Company" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization" - }, - { - "@id": "_:Nf80c9f9cd9644506ba124b66609f4f27" - }, - { - "@id": "_:Ne7458f2cbffb45aa8c10e51da793874b" - }, - { - "@id": "_:Nf43582da7b8344eeb9401de7caef838d" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "_:Nf80c9f9cd9644506ba124b66609f4f27", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "@id": "_:N57c7e7e6231643d9a576dc2b39dc9de1", + "http://www.w3.org/2001/XMLSchema#pattern": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" + "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" } ] }, { - "@id": "_:Ne7458f2cbffb45aa8c10e51da793874b", + "@id": "_:Nf3a669f35c934791ae7c0d8b0d4fb07a", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2875,12 +2946,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" } ] }, { - "@id": "_:Nf43582da7b8344eeb9401de7caef838d", + "@id": "_:N6e8aeec557524ebd9979d29ed28d5604", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -2892,406 +2963,355 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful", + "@id": "_:N92cf2c77645f41dab68f4a256d1813b7", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "hateful" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + "@id": "_:N3ad49df0e935459b926c4937b967558f" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "spiteful" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern", + "@id": "_:N3ad49df0e935459b926c4937b967558f", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "PiSequenceIdentifier16_LongPatternLongPatternLongPattern" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#intersectionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@list": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + }, + { + "@id": "_:N4f94e1a7e00a403981888bc496157310" + }, + { + "@id": "_:N5c56bf7ef7d543dd9949f80b21cc9a96" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current", + "@id": "_:N4f94e1a7e00a403981888bc496157310", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "is current" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "http://www.w3.org/2001/XMLSchema#boolean" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@list": [ + { + "@id": "_:N121ed0f3aac14d67a6367a21608e029c" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "@id": "_:N121ed0f3aac14d67a6367a21608e029c", + "http://www.w3.org/2001/XMLSchema#minInclusive": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern", + "@id": "_:N5c56bf7ef7d543dd9949f80b21cc9a96", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@value": "EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@list": [ + { + "@id": "_:Nb66da4a74fb842978f0d280e01f47f7d" + } + ] } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "aliases" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "@id": "_:Nb66da4a74fb842978f0d280e01f47f7d", + "http://www.w3.org/2001/XMLSchema#maxInclusive": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B", + "@id": "_:Nbc5c1471bc9b47f8a0866ef00f067e5b", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "tree_slot_B" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history", + "@id": "_:Nc6c0c9ac5cc84796913ce4042d259f47", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "has medical history" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 5 + "@value": 1 } - ] - }, - { - "@id": "http://www.w3.org/2001/XMLSchema#string", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#equivalentClass": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:Nfc51e84fd5e7487899048778adc9e9e9" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" } ] }, { - "@id": "_:Nfc51e84fd5e7487899048778adc9e9e9", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ - { - "@list": [ - { - "@id": "_:Nd5ef5efd3ab44636a80458b71a5b3c39" - } - ] - } - ] - }, - { - "@id": "_:Nd5ef5efd3ab44636a80458b71a5b3c39", - "http://www.w3.org/2001/XMLSchema#pattern": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@value": "^[\\\\+\\\\d+ +][\\\\d\\\\- ]+$" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/viewer", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "species name" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "_:Na8c96110f0c045c1b7243ece691601cc" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "_:Na8c96110f0c045c1b7243ece691601cc", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "LongEnum" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { "@list": [ { - "@id": "_:N191d431baef547be8d340719cda7b847" - } - ] - } - ] - }, - { - "@id": "_:N191d431baef547be8d340719cda7b847", - "http://www.w3.org/2001/XMLSchema#pattern": [ - { - "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + } + ] } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/core/id", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@value": "id" + "@value": "An example enum whose joined values will exceed 255 characters." } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ], - "http://www.w3.org/ns/shacl#order": [ + "https://w3id.org/linkml/permissible_values": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" + }, { - "@value": "stomach count" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" + }, { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" + }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "https://example.org/bizcodes/003", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" + }, { - "@value": "PROMOTION" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + }, { - "@value": "promotion event" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + }, { - "@value": "cordialness" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" + }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubSubClass2", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Sub sub class 2" + "@value": "a b" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "SIBLING_OF" + "@value": "AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "CodeSystem" + "@value": "Place" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N41e431494a8a432c8f42a59fdf0c4464" - }, - { - "@id": "_:Nd4fa91347e1644d486ed2d5aa8064d9c" - }, - { - "@id": "_:Nbb8f7da73d6843edb913024e58c84754" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" }, { - "@id": "_:Ne810c469763247328e84538cfef187de" + "@id": "_:N47ae68d3450a444590a0fcac39661e87" }, { - "@id": "_:Ncd8f3f7943e6478dbf1fba0448593676" + "@id": "_:Ndef73c6cfb6e40ad82465523418a3df1" }, { - "@id": "_:Nfcf1422b890640f5ba0c31aa5902f251" + "@id": "_:Nc2d42f00b0744e45952cc9508c71ca25" }, { - "@id": "_:Nf8fd1e77d54a493389b02ab8044e8fff" + "@id": "_:Nb81c29cefcd344bc9dc3f7ef84ad5a01" }, { - "@id": "_:N4d4f7ae88c16424c8ec3170dcef09503" + "@id": "_:N1bd090c2c94f45fdb0e00681361c5e79" }, { - "@id": "_:Na74b2aaa6da1443184a483c806baf034" + "@id": "_:Ndd5ad7808856401d88992b6d0bb6b2a9" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3301,7 +3321,7 @@ ] }, { - "@id": "_:N41e431494a8a432c8f42a59fdf0c4464", + "@id": "_:N47ae68d3450a444590a0fcac39661e87", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3317,7 +3337,7 @@ ] }, { - "@id": "_:Nd4fa91347e1644d486ed2d5aa8064d9c", + "@id": "_:Ndef73c6cfb6e40ad82465523418a3df1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3334,7 +3354,7 @@ ] }, { - "@id": "_:Nbb8f7da73d6843edb913024e58c84754", + "@id": "_:Nc2d42f00b0744e45952cc9508c71ca25", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3351,57 +3371,7 @@ ] }, { - "@id": "_:Ne810c469763247328e84538cfef187de", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" - } - ] - }, - { - "@id": "_:Ncd8f3f7943e6478dbf1fba0448593676", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" - } - ] - }, - { - "@id": "_:Nfcf1422b890640f5ba0c31aa5902f251", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" - } - ] - }, - { - "@id": "_:Nf8fd1e77d54a493389b02ab8044e8fff", + "@id": "_:Nb81c29cefcd344bc9dc3f7ef84ad5a01", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3417,7 +3387,7 @@ ] }, { - "@id": "_:N4d4f7ae88c16424c8ec3170dcef09503", + "@id": "_:N1bd090c2c94f45fdb0e00681361c5e79", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3434,7 +3404,7 @@ ] }, { - "@id": "_:Na74b2aaa6da1443184a483c806baf034", + "@id": "_:Ndd5ad7808856401d88992b6d0bb6b2a9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3451,200 +3421,168 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system", - "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "in code system" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Dataset", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Dataset" + "@value": "CodeSystem" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N9ca4961a84b8486cbce0231dc378d76a" - }, - { - "@id": "_:N44e6f833e94d4f61beb1ad55a1050430" - }, - { - "@id": "_:Ndf900abd9a4d494d96ab218ba5741969" + "@id": "_:Ne8c4be79bd854d35a2a30299764a4263" }, { - "@id": "_:Nb3ee2aa6677b45e0b4e716cedea92fd7" + "@id": "_:Nfd03dd08b909485db31080bdc0722f7b" }, { - "@id": "_:Nec1451ff5b664a96b9c34c7d22f1109f" + "@id": "_:N1cfd782ec8df406880b8e7459d604c85" }, { - "@id": "_:N58d36055aa75415687c97a58a5909a82" + "@id": "_:N272c7ba339034ccaa1eb77550841315d" }, { - "@id": "_:N09bdcdf6766247cb90d5dc63f60607dc" + "@id": "_:N143070e810184c50a7d38459bbf39233" }, { - "@id": "_:N002fa3659cca4673923b24febb42e6d5" + "@id": "_:N5dc52a4d495d45eda81a1f3243954589" }, { - "@id": "_:N3bbdd3756892487bb2a4b4a759322409" + "@id": "_:Nd9bded71017a47f0b909356f5539604f" }, { - "@id": "_:N65705c29289b4af5b8e235557033c7b5" + "@id": "_:Ndd42ad3eaaa5476fab31647ade908bcb" }, { - "@id": "_:Na5eb1b26f0a846c7bcef98a12df24744" + "@id": "_:Nca304b139a5a45cbbdfc53f5290edc34" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ], - "http://www.w3.org/ns/shacl#order": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 - } ] }, { - "@id": "_:N9ca4961a84b8486cbce0231dc378d76a", + "@id": "_:Ne8c4be79bd854d35a2a30299764a4263", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N44e6f833e94d4f61beb1ad55a1050430", + "@id": "_:Nfd03dd08b909485db31080bdc0722f7b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Ndf900abd9a4d494d96ab218ba5741969", + "@id": "_:N1cfd782ec8df406880b8e7459d604c85", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Nb3ee2aa6677b45e0b4e716cedea92fd7", + "@id": "_:N272c7ba339034ccaa1eb77550841315d", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/code_systems" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" } ] }, { - "@id": "_:Nec1451ff5b664a96b9c34c7d22f1109f", + "@id": "_:N143070e810184c50a7d38459bbf39233", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" } ] }, { - "@id": "_:N58d36055aa75415687c97a58a5909a82", + "@id": "_:N5dc52a4d495d45eda81a1f3243954589", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/companies" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id" } ] }, { - "@id": "_:N09bdcdf6766247cb90d5dc63f60607dc", + "@id": "_:Nd9bded71017a47f0b909356f5539604f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N002fa3659cca4673923b24febb42e6d5", + "@id": "_:Ndd42ad3eaaa5476fab31647ade908bcb", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3656,12 +3594,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N3bbdd3756892487bb2a4b4a759322409", + "@id": "_:Nca304b139a5a45cbbdfc53f5290edc34", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3673,65 +3611,54 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N65705c29289b4af5b8e235557033c7b5", + "@id": "https://w3id.org/linkml/tests/core/id", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@value": "id" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons" + "@id": "https://w3id.org/linkml/tests/core" } - ] - }, - { - "@id": "_:Na5eb1b26f0a846c7bcef98a12df24744", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/ns/shacl#order": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/persons" + "@value": 1 } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "subclass test" + "@value": "BirthEvent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" }, { - "@id": "_:N9f2f8c77a2f041a49e2d6b292360dc3a" + "@id": "_:N49d5cab664eb4e82aa5ee9bc761f726d" }, { - "@id": "_:N763f63d2a6a442baa01d37365b62dc68" + "@id": "_:N6d8209f35d6644f3a8426a598ee0c53c" }, { - "@id": "_:N67172819cae846d98d003a6e4f039abd" + "@id": "_:Nb42b66ce334148b3ba43e5e6b77b3594" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3741,23 +3668,23 @@ ] }, { - "@id": "_:N9f2f8c77a2f041a49e2d6b292360dc3a", + "@id": "_:N49d5cab664eb4e82aa5ee9bc761f726d", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N763f63d2a6a442baa01d37365b62dc68", + "@id": "_:N6d8209f35d6644f3a8426a598ee0c53c", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3769,12 +3696,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N67172819cae846d98d003a6e4f039abd", + "@id": "_:Nb42b66ce334148b3ba43e5e6b77b3594", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3786,18 +3713,18 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/street", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "street" + "@value": "attribute3" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3807,29 +3734,18 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ceo", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "ceo" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "married to" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1", - "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@value": "slot with space 1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3839,41 +3755,54 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Organization" + "@value": "KitchenStatus" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" - }, - { - "@id": "_:N6019611edabc45bb895b5e08ea290989" - }, + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "_:Nae3364c271514c878768ae3138b9c6a3" - }, + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" + } + ] + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "_:Ne4d90dc709484dfd8cf756f2c0f7c072" - }, + "@id": "https://w3id.org/linkml/tests/core" + } + ], + "https://w3id.org/linkml/permissible_values": [ { - "@id": "_:N16d20d93941e4381aa704330aebec954" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" }, { - "@id": "_:N4b84c841006e4693bcadab7c06b028ec" - }, + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:Na636aa85275e459c86a2e66ad0561634" + "@value": "has employment history" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@value": "An organization.\n\nThis description\nincludes newlines\n\n## Markdown headers\n\n * and\n * a\n * list" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -3884,78 +3813,89 @@ "http://www.w3.org/ns/shacl#order": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 3 + "@value": 7 } ] }, { - "@id": "_:N6019611edabc45bb895b5e08ea290989", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "attribute1" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nae3364c271514c878768ae3138b9c6a3", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfMix", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "AnyOfMix" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/id" - } - ] - }, - { - "@id": "_:Ne4d90dc709484dfd8cf756f2c0f7c072", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "@id": "_:N01b7b587c68540738e74685020a0b59f" + }, { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "_:N8e6203870d7042cda1f0d025931b9d0f" + }, + { + "@id": "_:Nc0ac68ae2ea7480bb20378c68fac7d94" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N16d20d93941e4381aa704330aebec954", + "@id": "_:N01b7b587c68540738e74685020a0b59f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "_:N3c5d356f7b0e485e962f731b341c5dbd" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" + } + ] + }, + { + "@id": "_:N3c5d356f7b0e485e962f731b341c5dbd", + "http://www.w3.org/2002/07/owl#unionOf": [ + { + "@list": [ + { + "@id": "http://www.w3.org/2001/XMLSchema#integer" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ] } ] }, { - "@id": "_:N4b84c841006e4693bcadab7c06b028ec", + "@id": "_:N8e6203870d7042cda1f0d025931b9d0f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3967,12 +3907,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" } ] }, { - "@id": "_:Na636aa85275e459c86a2e66ad0561634", + "@id": "_:Nc0ac68ae2ea7480bb20378c68fac7d94", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -3984,198 +3924,123 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Person" - } - ], - "http://www.w3.org/2000/01/rdf-schema#seeAlso": [ - { - "@id": "https://en.wikipedia.org/wiki/Person" - }, - { - "@id": "http://schema.org/Person" + "@value": "Address" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" - }, - { - "@id": "_:Ne3be43a16a31463990bc7e3120d0eea8" - }, - { - "@id": "_:N0c5aa85380094495b24b2146d014f97b" - }, - { - "@id": "_:N3bf0a22b1e6844019b6044b2c7b17aa2" - }, - { - "@id": "_:N9fa10c975f774ea0825af8e485f68c12" - }, - { - "@id": "_:N15fe6d201dcd47a68aa105e72bc2701c" - }, - { - "@id": "_:Na2b885215a9842ad844ca7cdcba91149" - }, - { - "@id": "_:N50584e78affc4b119749c65f1f7b83f3" - }, - { - "@id": "_:N903eabd3e14a4fe3913f5eb5742a07fe" - }, - { - "@id": "_:N4947b48d7d28461a953cb70dc54e420b" - }, - { - "@id": "_:N44cac98240054748a75635460f221a10" - }, - { - "@id": "_:Nb5a9d52c9a2d4b12b7119c04e3e47c52" - }, - { - "@id": "_:Nf0ab6bec1e954f7895d4e0000b741e25" - }, - { - "@id": "_:N5aaf515263464cc3bf77c5c1d508fc88" - }, - { - "@id": "_:N5276a6d7937f483aa8af3a1f753c9dac" - }, - { - "@id": "_:N13c3caf5c1854136b11d4fdf4105e1fe" - }, - { - "@id": "_:Nbcce30bd58604226bff0cf18d118beec" - }, - { - "@id": "_:N93cea16b396742d293eb69d3a433fa2f" - }, - { - "@id": "_:Nf77fcd33a50a42d0b7093e5cd472fbea" - }, - { - "@id": "_:Na67cf608888b4fad8a50a5bb511100e9" - }, - { - "@id": "_:N153d697e10b744b0980492c0f29b6217" - }, - { - "@id": "_:N9d050e0ed9e84808892bf4abf0c68a37" + "@id": "_:Na7b9fd7e101449d49ffe7810d8a3fbad" }, { - "@id": "_:N55b28badb0104b44b351fb1d6725bec1" + "@id": "_:N38953077b03d4217ad098ed9439e3d21" }, { - "@id": "_:N3c59bd4a387948fd87cb1bb3b503a387" + "@id": "_:N8f06bb82d462472399964559177f6b26" }, { - "@id": "_:Nb388ef976484449c92b01cca4f69b13a" + "@id": "_:N1c8029c6fc804d2090cbbdb10eb83259" }, { - "@id": "_:Nf8cf58f15e2c4aa3a8e050ef02c9b5be" + "@id": "_:Nf325bc9f8bc14fc6a3d21dc8f090b053" }, { - "@id": "_:Nec1b8d85795741ee808996f4e6be2a1b" + "@id": "_:N4c770e4532a24e339a5dc6c236e1c962" }, { - "@id": "_:N69c732988b184ebfa65ecd173602cc10" + "@id": "_:N0a78422bba1241589de9b3fc370d63bb" }, { - "@id": "_:N6f0aebc350f147898cfef150608e1c1f" + "@id": "_:Nf62c3a27d2264313a13a842273c6a4ac" }, { - "@id": "_:Nbbf9b835412448bab5d346cf8d09a9c2" + "@id": "_:N0b811ab3c05249c7aa8970d81c9ed444" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@value": "A person, living or dead" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ] + }, + { + "@id": "_:Na7b9fd7e101449d49ffe7810d8a3fbad", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#exactMatch": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://schema.org/Person" + "@id": "http://www.w3.org/2001/XMLSchema#decimal" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" } + ] + }, + { + "@id": "_:N38953077b03d4217ad098ed9439e3d21", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 2 + "@value": 0 } ], - "https://w3id.org/linkml/tests/kitchen_sink/fallible": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@type": "http://www.w3.org/2001/XMLSchema#boolean", - "@value": true + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" } + ] + }, + { + "@id": "_:N8f06bb82d462472399964559177f6b26", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "https://w3id.org/linkml/tests/kitchen_sink/opinions": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1000 - } - ], - "https://w3id.org/linkml/tests/kitchen_sink/resting": [ - { - "@value": "supine" + "@value": 1 } ], - "https://w3id.org/linkml/tests/kitchen_sink/viewer": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "ks:PersonViewer" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/altitude" } ] }, { - "@id": "_:Ne3be43a16a31463990bc7e3120d0eea8", + "@id": "_:N1c8029c6fc804d2090cbbdb10eb83259", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" } ] }, { - "@id": "_:N0c5aa85380094495b24b2146d014f97b", + "@id": "_:Nf325bc9f8bc14fc6a3d21dc8f090b053", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4187,356 +4052,397 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" } ] }, { - "@id": "_:N3bf0a22b1e6844019b6044b2c7b17aa2", + "@id": "_:N4c770e4532a24e339a5dc6c236e1c962", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:N897f611434a2411a85a9ba51fd24b441" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/city" } ] }, { - "@id": "_:N897f611434a2411a85a9ba51fd24b441", + "@id": "_:N0a78422bba1241589de9b3fc370d63bb", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - }, - { - "@id": "_:N0c888cfbd6f345a7a5df7b17ffa62e9b" - }, - { - "@id": "_:N6dd0f9d3f1fb4de68e244dc3e593ac29" - } - ] + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" } ] }, { - "@id": "_:N0c888cfbd6f345a7a5df7b17ffa62e9b", + "@id": "_:Nf62c3a27d2264313a13a842273c6a4ac", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@list": [ - { - "@id": "_:Nec0f6e64561944f0b8d2746edd281d20" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" } ] }, { - "@id": "_:Nec0f6e64561944f0b8d2746edd281d20", - "http://www.w3.org/2001/XMLSchema#minInclusive": [ + "@id": "_:N0b811ab3c05249c7aa8970d81c9ed444", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street" } ] }, { - "@id": "_:N6dd0f9d3f1fb4de68e244dc3e593ac29", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_C", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@value": "tree_slot_C" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ { - "@list": [ - { - "@id": "_:Nbd09fc324e334741b6a50e4088541d15" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I" } - ] - }, - { - "@id": "_:Nbd09fc324e334741b6a50e4088541d15", - "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 999 + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N9fa10c975f774ea0825af8e485f68c12", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "employed at" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N15fe6d201dcd47a68aa105e72bc2701c", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "slot with space 2" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/age_in_years" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Na2b885215a9842ad844ca7cdcba91149", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" + "@value": "BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N50584e78affc4b119749c65f1f7b83f3", + "@id": "https://w3id.org/biolink/opposite", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/agent_set", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "agent set" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" + "@id": "https://w3id.org/linkml/tests/core/Agent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:N903eabd3e14a4fe3913f5eb5742a07fe", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "MuSequenceIdentifier12_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N4947b48d7d28461a953cb70dc54e420b", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent" + "@value": "OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N44cac98240054748a75635460f221a10", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#LIVING", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "LIVING" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_employment_history" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" } ] }, { - "@id": "_:Nb5a9d52c9a2d4b12b7119c04e3e47c52", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationship" + "@value": "FamilialRelationshipType" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" + } + ] + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/linkml/permissible_values": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" } ] }, { - "@id": "_:Nf0ab6bec1e954f7895d4e0000b741e25", + "@id": "http://www.w3.org/2001/XMLSchema#string", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#minCardinality": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#equivalentClass": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_familial_relationships" + "@id": "_:Nf663417a1de841ef8edae318bf5969ff" } ] }, { - "@id": "_:N5aaf515263464cc3bf77c5c1d508fc88", + "@id": "_:Nf663417a1de841ef8edae318bf5969ff", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" + "@list": [ + { + "@id": "_:Na690bd30955d4333ad036e46ca20717d" + } + ] + } + ] + }, + { + "@id": "_:Na690bd30955d4333ad036e46ca20717d", + "http://www.w3.org/2001/XMLSchema#pattern": [ + { + "@value": "^[\\\\+\\\\d+ +][\\\\d\\\\- ]+$" } ] }, { - "@id": "_:N5276a6d7937f483aa8af3a1f753c9dac", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "in location" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_medical_history" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" } - ] - }, - { - "@id": "_:N13c3caf5c1854136b11d4fdf4105e1fe", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "https://w3id.org/biolink/opposite": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@value": "location_of" } ] }, { - "@id": "_:Nbcce30bd58604226bff0cf18d118beec", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "is_living" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N93cea16b396742d293eb69d3a433fa2f", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "WithLocation" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "_:N77575096ccad4a01835dcd5490586aa6" + }, + { + "@id": "_:N6f383f4653a14f189782a26e7a799c7a" + }, + { + "@id": "_:Nd17423bf59b0457b98efccd2743feab7" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nf77fcd33a50a42d0b7093e5cd472fbea", + "@id": "_:N77575096ccad4a01835dcd5490586aa6", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:Na67cf608888b4fad8a50a5bb511100e9", + "@id": "_:N6f383f4653a14f189782a26e7a799c7a", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4548,12 +4454,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N153d697e10b744b0980492c0f29b6217", + "@id": "_:Nd17423bf59b0457b98efccd2743feab7", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -4565,328 +4471,279 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_living" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N9d050e0ed9e84808892bf4abf0c68a37", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N68c2ec3765b540118c15208c5e3b9c09" + "@value": "XiSequenceIdentifier14_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N68c2ec3765b540118c15208c5e3b9c09", + "@id": "https://example.org/bizcodes/004", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "TRANSFER" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@list": [ - { - "@id": "_:Nd6c99288f539428eaada2feb506ebad8" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" } - ] - }, - { - "@id": "_:Nd6c99288f539428eaada2feb506ebad8", - "http://www.w3.org/2001/XMLSchema#pattern": [ + ], + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@value": "^\\S+ \\S+$" + "@value": "transfer internally" } ] }, { - "@id": "_:N55b28badb0104b44b351fb1d6725bec1", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "DIRTY" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" } ] }, { - "@id": "_:N3c59bd4a387948fd87cb1bb3b503a387", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Nb388ef976484449c92b01cca4f69b13a", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubSubClass2", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N2e3debf2154d4e389c49ff5843e9c118" + "@value": "Sub sub class 2" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" } - ] - }, - { - "@id": "_:N2e3debf2154d4e389c49ff5843e9c118", - "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@list": [ - { - "@id": "_:N854a63b3bd78408baafe8eb0b1c4d3de" - }, - { - "@id": "_:Neb1049d38b384532a6492d52c06c2e00" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N854a63b3bd78408baafe8eb0b1c4d3de", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/resting", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#oneOf": [ - { - "@list": [ - { - "@value": "human" - } - ] - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "_:Neb1049d38b384532a6492d52c06c2e00", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FakeClass", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" - ], - "http://www.w3.org/2002/07/owl#onDatatype": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - } + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ - { - "@list": [ - { - "@id": "_:N9da993386f5947019db3b9e12906a0d3" - } - ] - } - ] - }, - { - "@id": "_:N9da993386f5947019db3b9e12906a0d3", - "http://www.w3.org/2001/XMLSchema#pattern": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" + "@value": "FakeClass" } - ] - }, - { - "@id": "_:Nf8cf58f15e2c4aa3a8e050ef02c9b5be", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 - } - ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "@id": "_:N1f4f40296ec24c1ba99fd488e752db1e" + }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" - } - ] - }, - { - "@id": "_:Nec1b8d85795741ee808996f4e6be2a1b", - "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" - ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "@id": "_:Nec1f8db1c99d432a9654eab98f3f40ef" + }, { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "_:N202103b197be42a0a8d628ff144412d1" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N69c732988b184ebfa65ecd173602cc10", + "@id": "_:N1f4f40296ec24c1ba99fd488e752db1e", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "_:N27907aa4b2e44086acd7a2c2bb287e70" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" } ] }, { - "@id": "_:N27907aa4b2e44086acd7a2c2bb287e70", + "@id": "_:Nec1f8db1c99d432a9654eab98f3f40ef", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#intersectionOf": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - }, - { - "@id": "_:N24aa72da877d4fa586440c193aefae61" - }, - { - "@id": "_:N1966a76ff39b4c07ba0a8d3ca195ac7d" - } - ] + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" } ] }, { - "@id": "_:N24aa72da877d4fa586440c193aefae61", + "@id": "_:N202103b197be42a0a8d628ff144412d1", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@list": [ - { - "@id": "_:N79d270808f804c2da742e8a468369347" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" } ] }, { - "@id": "_:N79d270808f804c2da742e8a468369347", - "http://www.w3.org/2001/XMLSchema#minInclusive": [ + "@id": "https://w3id.org/linkml/tests/core/description", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "description" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:N1966a76ff39b4c07ba0a8d3ca195ac7d", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#onDatatype": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#integer" + "@value": "TODO" } ], - "http://www.w3.org/2002/07/owl#withRestrictions": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@list": [ - { - "@id": "_:N23dc94b6ff7946e39b993a004f81b906" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" } ] }, { - "@id": "_:N23dc94b6ff7946e39b993a004f81b906", - "http://www.w3.org/2001/XMLSchema#maxInclusive": [ + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "SIBLING_OF" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" } ] }, { - "@id": "_:N6f0aebc350f147898cfef150608e1c1f", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "procedure" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nbbf9b835412448bab5d346cf8d09a9c2", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/life_status", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "life_status" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, + { + "@id": "http://purl.org/dc/terms/title", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, { "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum", "@type": [ @@ -4930,55 +4787,39 @@ ] }, { - "@id": "https://example.org/bizcodes/002", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "FIRE" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + "@value": "attribute5" } ], - "https://w3id.org/biolink/opposite": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@value": "HIRE" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@value": "metadata" } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/addresses", - "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@value": "addresses" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Address" + "@value": "Example of a slot that has an unconstrained range" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -4988,45 +4829,87 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "type" + "@value": "PARENT_OF" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#DEAD", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "DEAD" + "@value": "EmploymentEventType" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#unionOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@list": [ + { + "@id": "https://example.org/bizcodes/001" + }, + { + "@id": "https://example.org/bizcodes/002" + }, + { + "@id": "https://example.org/bizcodes/003" + }, + { + "@id": "https://example.org/bizcodes/004" + } + ] + } + ], + "http://www.w3.org/2004/02/skos/core#altLabel": [ + { + "@value": "HR code" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "codes for different kinds of employment/HR related events" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "https://w3id.org/linkml/permissible_values": [ + { + "@id": "https://example.org/bizcodes/001" + }, + { + "@id": "https://example.org/bizcodes/002" + }, + { + "@id": "https://example.org/bizcodes/003" + }, + { + "@id": "https://example.org/bizcodes/004" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + "@value": "PiSequenceIdentifier16_LongPatternLongPatternLongPattern" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ @@ -5036,171 +4919,198 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfSimpleType", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "PARENT_OF" + "@value": "AnyOfSimpleType" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType" + "@id": "_:Nc79753d6439547aaa0bfd7025d3c6d98" + }, + { + "@id": "_:Nee6baf125a494ea895f24b4d67fadcc4" + }, + { + "@id": "_:Ncef22a07cacc46dcb0367cf3983ee9a4" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum#UNKNOWN", + "@id": "_:Nc79753d6439547aaa0bfd7025d3c6d98", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "UNKNOWN" + "@id": "_:Na96cc882fb24486f81457d0a577702c7" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LifeStatusEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus", + "@id": "_:Na96cc882fb24486f81457d0a577702c7", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "KitchenStatus" - } + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], "http://www.w3.org/2002/07/owl#unionOf": [ { "@list": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" + "@id": "http://www.w3.org/2001/XMLSchema#string" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" + "@id": "http://www.w3.org/2001/XMLSchema#integer" } ] } + ] + }, + { + "@id": "_:Nee6baf125a494ea895f24b4d67fadcc4", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event", + "@id": "_:Ncef22a07cacc46dcb0367cf3983ee9a4", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "has birth event" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "CLEAN" + "@value": "attribute6" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B", "@type": [ "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "ended at time" + "@value": "tree_slot_B" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_A" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "other codes" + "@value": "is current" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "http://www.w3.org/2001/XMLSchema#boolean" } ], - "https://w3id.org/linkml/permissible_values": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/MedicalEvent", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "class with spaces" + "@value": "MedicalEvent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N419e2377c9ad48c8b13f43bb97dad65e" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" + }, + { + "@id": "_:N843bb110536e40f2b8a80c2acd6609b5" + }, + { + "@id": "_:N22b2176a052243b6a79c4cba4f56cf64" + }, + { + "@id": "_:N2563396b42434e5faac719bd708a52f7" + }, + { + "@id": "_:Nd72ce3bc1a8b44868ef078b7d91bf5fe" }, { - "@id": "_:N9bf493e966e84c019622e60a1e612922" + "@id": "_:Nb74c562d704b4e8f844a9b60c7bf1bb0" }, { - "@id": "_:N6ca36eb894c64fa6b95e00bb85053f94" + "@id": "_:N7f6f860cf461466f8a4129f675f02a79" + }, + { + "@id": "_:N770023cb58934b5b86cfbe11cae30e68" + }, + { + "@id": "_:Nf20fd78c97864724821ceae13480d605" + }, + { + "@id": "_:Nc455a77eaafc40439a2c90f06848e0b4" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -5210,23 +5120,23 @@ ] }, { - "@id": "_:N419e2377c9ad48c8b13f43bb97dad65e", + "@id": "_:N843bb110536e40f2b8a80c2acd6609b5", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" } ] }, { - "@id": "_:N9bf493e966e84c019622e60a1e612922", + "@id": "_:N22b2176a052243b6a79c4cba4f56cf64", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5238,12 +5148,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" } ] }, { - "@id": "_:N6ca36eb894c64fa6b95e00bb85053f94", + "@id": "_:N2563396b42434e5faac719bd708a52f7", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5255,55 +5165,28 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1" - } - ] - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FakeClass", - "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "FakeClass" - } - ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N746a5f8ebff54016bc50ffa3fd36c71d" - }, - { - "@id": "_:Nde6788f6fb6f4aa4b6a1304a17cf0307" - }, - { - "@id": "_:N6de25cf886e14877b8d1fa674696ca3b" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis" } ] }, { - "@id": "_:N746a5f8ebff54016bc50ffa3fd36c71d", + "@id": "_:Nd72ce3bc1a8b44868ef078b7d91bf5fe", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:Nde6788f6fb6f4aa4b6a1304a17cf0307", + "@id": "_:Nb74c562d704b4e8f844a9b60c7bf1bb0", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5315,12 +5198,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "_:N6de25cf886e14877b8d1fa674696ca3b", + "@id": "_:N7f6f860cf461466f8a4129f675f02a79", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5332,386 +5215,369 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/name", + "@id": "_:N770023cb58934b5b86cfbe11cae30e68", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "name" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" } ], - "http://www.w3.org/ns/shacl#order": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 2 + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/city", + "@id": "_:Nf20fd78c97864724821ceae13480d605", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "city" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to", + "@id": "_:Nc455a77eaafc40439a2c90f06848e0b4", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "married to" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "LongEnum" - } - ], - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" - } - ] - } - ], - "http://www.w3.org/2004/02/skos/core#definition": [ - { - "@value": "An example enum whose joined values will exceed 255 characters." - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@value": "Event" } ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#BetaSequenceIdentifier02_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#DeltaSequenceIdentifier04_LongPatternLongPatternLongPattern" - }, + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" + "@id": "_:N9677f6c99be24b7181c880ae9c38fd22" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + "@id": "_:Nab378a4237bd48769b1ec847bb9f2324" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EtaSequenceIdentifier07_LongPatternLongPatternLongPattern" + "@id": "_:N850462a965294659ad873893f1a0d391" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ThetaSequenceIdentifier08_LongPatternLongPatternLongPattern" + "@id": "_:Nfdf264f80678431a8145e6d1b006ad7a" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" + "@id": "_:N1992d07a5fd844b6864ce0a70b986656" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" + "@id": "_:N2840a19ef855449eb3f00a79fa6f2ebe" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + "@id": "_:N97987e8922624dc08a40ead0a87a76e7" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#MuSequenceIdentifier12_LongPatternLongPatternLongPattern" + "@id": "_:Nd54473ca85d34ca7b72d3bc8e305d6be" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#NuSequenceIdentifier13_LongPatternLongPatternLongPattern" + "@id": "_:N87cd164fd66f408db748f83ddd9a112d" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#XiSequenceIdentifier14_LongPatternLongPatternLongPattern" + "@id": "_:N93ff2aeab8514557858ceb8d94b32d6d" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#OmicronSequenceIdentifier15_LongPatternLongPatternLongPattern" + "@id": "_:Nd3a73810bf7740a288a68bc976e2f9ea" }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#PiSequenceIdentifier16_LongPatternLongPatternLongPattern" - }, + "@id": "_:Nc5c3d533f65b454ebce86d8205f7292a" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#RhoSequenceIdentifier17_LongPatternLongPatternLongPattern" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/agent_set", + "@id": "_:N9677f6c99be24b7181c880ae9c38fd22", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "agent set" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes#a%20b", + "@id": "_:Nab378a4237bd48769b1ec847bb9f2324", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "a b" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/OtherCodes" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3", + "@id": "_:N850462a965294659ad873893f1a0d391", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "attribute3" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute4", + "@id": "_:Nfdf264f80678431a8145e6d1b006ad7a", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "attribute4" + "@id": "http://www.w3.org/2001/XMLSchema#boolean" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I", + "@id": "_:N1992d07a5fd844b6864ce0a70b986656", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "mixin_slot_I" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" } ] }, { - "@id": "http://www.w3.org/2001/XMLSchema#integer", + "@id": "_:N2840a19ef855449eb3f00a79fa6f2ebe", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/TubSubClass1", + "@id": "_:N97987e8922624dc08a40ead0a87a76e7", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "tub sub class 1" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } + ] + }, + { + "@id": "_:Nd54473ca85d34ca7b72d3bc8e305d6be", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "Same depth as Sub sub class 1" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to", + "@id": "_:N87cd164fd66f408db748f83ddd9a112d", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "related to" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType", + "@id": "_:N93ff2aeab8514557858ceb8d94b32d6d", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "DiagnosisType" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } + ] + }, + { + "@id": "_:Nd3a73810bf7740a288a68bc976e2f9ea", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" ], - "https://w3id.org/linkml/permissible_values": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType#TODO" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/description", + "@id": "_:Nc5c3d533f65b454ebce86d8205f7292a", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "description" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Relationship", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "HasAliases" + "@value": "Relationship" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N309e88f054544e06bac43856d8304a98" + "@id": "_:N1e9cf859bb9845fcac78c67c072b0650" + }, + { + "@id": "_:Na1ff6980d47347b3a3384229edc2618f" + }, + { + "@id": "_:Nd4cd479c40e64fd3b7d4d2a8102346be" + }, + { + "@id": "_:Nb88f1a653da14dd2a10ae8dd6e49b3dc" + }, + { + "@id": "_:N4217fa613e494ffabf970f64e4cf2e14" + }, + { + "@id": "_:N848dfc13d6e94a62905b19aab75a4ce4" + }, + { + "@id": "_:N7695559d55244028b86b3f8027a86e7a" + }, + { + "@id": "_:Na65458f6026440a3a930dcfe2a8efb98" + }, + { + "@id": "_:Ncaebd1d394b14a34ad992854b5d371ad" + }, + { + "@id": "_:N57857a42137e4513ba4b17a415c56d11" + }, + { + "@id": "_:N3acf7875aff54994b45e19fdcfc07ce8" + }, + { + "@id": "_:Na1aa0677b5d84a068da35eeb278e1eaa" + }, + { + "@id": "_:N4ee24ad3c9bb454a92e00550639ef57e" + }, + { + "@id": "_:Nae21581cf92345b8b1c28453887924e2" }, { - "@id": "_:N061923a895b64658ac06b48be797255b" + "@id": "_:N6dcff59a9eb447deb087737c9cfbb62d" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -5721,23 +5587,23 @@ ] }, { - "@id": "_:N309e88f054544e06bac43856d8304a98", + "@id": "_:N1e9cf859bb9845fcac78c67c072b0650", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "_:N061923a895b64658ac06b48be797255b", + "@id": "_:Na1ff6980d47347b3a3384229edc2618f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5749,89 +5615,95 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/aliases" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern", + "@id": "_:Nd4cd479c40e64fd3b7d4d2a8102346be", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@value": "ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/cordialness" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsStringIn", + "@id": "_:Nb88f1a653da14dd2a10ae8dd6e49b3dc", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "EqualsStringIn" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:Ne4306e07d79f4cb7befbcf4449003c98" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:Ndb3de81350bb4cb1bcc2d5f7f984d57a" - }, + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + } + ] + }, + { + "@id": "_:N4217fa613e494ffabf970f64e4cf2e14", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "_:N7a2b58ee953c48bca08310324eb8b7bd" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:Ne4306e07d79f4cb7befbcf4449003c98", + "@id": "_:N848dfc13d6e94a62905b19aab75a4ce4", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:Ndd562daf47454620baa8b2cbe11638a4" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:Ndd562daf47454620baa8b2cbe11638a4", + "@id": "_:N7695559d55244028b86b3f8027a86e7a", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#oneOf": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@list": [ - { - "@value": "foo" - }, - { - "@value": "bar" - } - ] + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "_:Ndb3de81350bb4cb1bcc2d5f7f984d57a", + "@id": "_:Na65458f6026440a3a930dcfe2a8efb98", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5843,12 +5715,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "_:N7a2b58ee953c48bca08310324eb8b7bd", + "@id": "_:Ncaebd1d394b14a34ad992854b5d371ad", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -5860,197 +5732,170 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/related_to" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/activity_set", + "@id": "_:N57857a42137e4513ba4b17a415c56d11", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "activity set" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/activities", + "@id": "_:N3acf7875aff54994b45e19fdcfc07ce8", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "activities" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept", + "@id": "_:Na1aa0677b5d84a068da35eeb278e1eaa", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "ProcedureConcept" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location", + "@id": "_:N4ee24ad3c9bb454a92e00550639ef57e", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "in location" - } - ], - "http://www.w3.org/2000/01/rdf-schema#range": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "https://w3id.org/biolink/opposite": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@value": "location_of" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern", + "@id": "_:Nae21581cf92345b8b1c28453887924e2", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "AlphaSequenceIdentifier01_LongPatternLongPatternLongPattern" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_C", + "@id": "_:N6dcff59a9eb447deb087737c9cfbb62d", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "tree_slot_C" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subPropertyOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/tree_slot_B" - }, + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEvent", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfEnums", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EmploymentEvent" + "@value": "AnyOfEnums" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" - }, - { - "@id": "_:Ndd8f0b78213c40b0b556f2226f475c7b" - }, - { - "@id": "_:Nf38d741c183c43858e7b9ec595d6adc1" - }, - { - "@id": "_:N7eced66aa5e8488194269d2880eb784f" - }, - { - "@id": "_:N62848984c030426da790a30f0f91b97e" + "@id": "_:N7fd0ad838b1d43c5961035e781b089c2" }, { - "@id": "_:Naf43661fc9344fe392865a9dd69dd958" + "@id": "_:N470a82043c444668893edcb122699452" }, { - "@id": "_:N2dc03b99f3e347d683896ad0de91a599" + "@id": "_:N43042a4bf9914ed89a1873b3db4e29f5" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ], - "http://www.w3.org/ns/shacl#order": [ - { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 6 - } ] }, { - "@id": "_:Ndd8f0b78213c40b0b556f2226f475c7b", + "@id": "_:N7fd0ad838b1d43c5961035e781b089c2", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Company" + "@id": "_:N740cd773a16549d18c7b852379f89529" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" + } + ] + }, + { + "@id": "_:N740cd773a16549d18c7b852379f89529", + "http://www.w3.org/2002/07/owl#unionOf": [ + { + "@list": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisType" + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ] } ] }, { - "@id": "_:Nf38d741c183c43858e7b9ec595d6adc1", + "@id": "_:N470a82043c444668893edcb122699452", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6062,12 +5907,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" } ] }, { - "@id": "_:N7eced66aa5e8488194269d2880eb784f", + "@id": "_:N43042a4bf9914ed89a1873b3db4e29f5", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6079,94 +5924,92 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/employed_at" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute3" } ] }, { - "@id": "_:N62848984c030426da790a30f0f91b97e", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/long_id", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "_:N178e6e5086f7412b90264db0eef8701c" + "@value": "long_id" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } - ] - }, - { - "@id": "_:N178e6e5086f7412b90264db0eef8701c", - "http://www.w3.org/2002/07/owl#unionOf": [ + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Naf43661fc9344fe392865a9dd69dd958", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_1", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "slot with space 1" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N2dc03b99f3e347d683896ad0de91a599", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "ProcedureConcept" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/type" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Friend", + "@id": "http://www.w3.org/ns/shacl#order", + "@type": [ + "http://www.w3.org/2002/07/owl#AnnotationProperty" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Friend" + "@value": "AnyObject" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N62c055054317415f9b03cd957fb1d9c9" - }, + "http://www.w3.org/2004/02/skos/core#definition": [ { - "@id": "_:Nd95009f7945847d6b58047b1efd1c7f6" - }, + "@value": "Example of unconstrained class" + } + ], + "http://www.w3.org/2004/02/skos/core#exactMatch": [ { - "@id": "_:N1b019f77c1234dcca93243ac470db085" + "@id": "https://w3id.org/linkml/Any" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -6176,121 +6019,109 @@ ] }, { - "@id": "_:N62c055054317415f9b03cd957fb1d9c9", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@value": "EpsilonSequenceIdentifier05_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Nd95009f7945847d6b58047b1efd1c7f6", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "ZetaSequenceIdentifier06_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:N1b019f77c1234dcca93243ac470db085", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#KappaSequenceIdentifier10_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "KappaSequenceIdentifier10_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute6", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#GammaSequenceIdentifier03_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "attribute6" + "@value": "GammaSequenceIdentifier03_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis", + "@id": "https://w3id.org/linkml/tests/core/was_informed_by", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "diagnosis" + "@value": "was informed by" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute", + "@id": "http://www.w3.org/2004/02/skos/core#inScheme", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "test_attribute" - } - ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" - } + "http://www.w3.org/2002/07/owl#AnnotationProperty" ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/procedure", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/has_birth_event", "@type": [ "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "procedure" + "@value": "has birth event" } ], "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/ProcedureConcept" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/BirthEvent" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -6300,93 +6131,45 @@ ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/diagnosis", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "FamilialRelationshipType" + "@value": "diagnosis" } ], - "http://www.w3.org/2002/07/owl#unionOf": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@list": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" - } - ] + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } - ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#SIBLING_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#PARENT_OF" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/FamilialRelationshipType#CHILD_OF" - } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Friend", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Event" + "@value": "Friend" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N655500e12844484bb0063156013c9598" - }, - { - "@id": "_:N60cfce7245e24f7b9e71815b62ce1bbd" + "@id": "_:N993f209a597f42268fa9f0e18c71b278" }, { - "@id": "_:Nfacb8e4a6af74e1ba864dd8c825a9a4c" + "@id": "_:N5746e9ccd822486fb9880f189e1e9301" }, { - "@id": "_:N7b8a5f6a8ec94d2da347156a67f20408" - }, - { - "@id": "_:Nccab437e772c44f58296d027abdf1f38" - }, - { - "@id": "_:Nd4fb259002ec46e789aa5877480426e1" - }, - { - "@id": "_:N432f1849e1bf486a871e7cff00f405f5" - }, - { - "@id": "_:N070a5f5d94ab45ba915c00ac76b7c060" - }, - { - "@id": "_:Nc7da64af50e94b309cb0b683973d2699" - }, - { - "@id": "_:N334d643b7e4d4199884f2e9715c57f0b" - }, - { - "@id": "_:Ncfa063507b8540619280182163eab6c3" - }, - { - "@id": "_:N038ac72fda7843ac8d04a47543dec220" + "@id": "_:Ncfdd246602d94138b3aea20dbf93c532" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ @@ -6396,23 +6179,23 @@ ] }, { - "@id": "_:N655500e12844484bb0063156013c9598", + "@id": "_:N993f209a597f42268fa9f0e18c71b278", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N60cfce7245e24f7b9e71815b62ce1bbd", + "@id": "_:N5746e9ccd822486fb9880f189e1e9301", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6424,12 +6207,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:Nfacb8e4a6af74e1ba864dd8c825a9a4c", + "@id": "_:Ncfdd246602d94138b3aea20dbf93c532", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6441,28 +6224,58 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/ended_at_time" + "@id": "https://w3id.org/linkml/tests/core/name" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/SubclassTest", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "subclass test" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" + }, + { + "@id": "_:Nfa8a98bfbfcd4e43a28c6da6d08e895d" + }, + { + "@id": "_:Nf74b61d500b44707aa53c3d0d8173a4a" + }, + { + "@id": "_:Nd2850eda621143acb72f8163b1576caf" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:N7b8a5f6a8ec94d2da347156a67f20408", + "@id": "_:Nfa8a98bfbfcd4e43a28c6da6d08e895d", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#boolean" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/ClassWithSpaces" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" } ] }, { - "@id": "_:Nccab437e772c44f58296d027abdf1f38", + "@id": "_:Nf74b61d500b44707aa53c3d0d8173a4a", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6474,12 +6287,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" } ] }, { - "@id": "_:Nd4fb259002ec46e789aa5877480426e1", + "@id": "_:Nd2850eda621143acb72f8163b1576caf", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6491,183 +6304,258 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/is_current" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2" } ] }, { - "@id": "_:N432f1849e1bf486a871e7cff00f405f5", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum#hateful", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyObject" + "@value": "hateful" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/CordialnessEnum" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "spiteful" } ] }, { - "@id": "_:N070a5f5d94ab45ba915c00ac76b7c060", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/species_name", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "species name" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@id": "_:N3237afa6fc904a48a6934cdca61d1545" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nc7da64af50e94b309cb0b683973d2699", + "@id": "_:N3237afa6fc904a48a6934cdca61d1545", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2000/01/rdf-schema#Datatype" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2002/07/owl#onDatatype": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2002/07/owl#withRestrictions": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/metadata" + "@list": [ + { + "@id": "_:N475007df653a4ef2b085d4f5e8b7d194" + } + ] + } + ] + }, + { + "@id": "_:N475007df653a4ef2b085d4f5e8b7d194", + "http://www.w3.org/2001/XMLSchema#pattern": [ + { + "@value": "^[A-Z]+[a-z]+(-[A-Z]+[a-z]+)?\\\\.[A-Z]+(-[0-9]{4})?$" } ] }, { - "@id": "_:N334d643b7e4d4199884f2e9715c57f0b", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#IotaSequenceIdentifier09_LongPatternLongPatternLongPattern", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#Class" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "http://www.w3.org/2001/XMLSchema#date" + "@value": "IotaSequenceIdentifier09_LongPatternLongPatternLongPattern" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" } ] }, { - "@id": "_:Ncfa063507b8540619280182163eab6c3", + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#ObjectProperty" ], - "http://www.w3.org/2002/07/owl#minCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": "acted on behalf of" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/core/Agent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] }, { - "@id": "_:N038ac72fda7843ac8d04a47543dec220", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/test_attribute", "@type": [ - "http://www.w3.org/2002/07/owl#Restriction" + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "http://www.w3.org/2002/07/owl#maxCardinality": [ + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": "test_attribute" } ], - "http://www.w3.org/2002/07/owl#onProperty": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core/started_at_time" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/Agent", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/mixin_slot_I", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "mixin_slot_I" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/Activity", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "agent" + "@value": "activity" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:Ne4152980ea2a463e9db08f54e42bf1c4" + "@id": "_:N54dbd23663ca4cdba4c32d4be5aafe17" + }, + { + "@id": "_:Ne139cdddbdbf4a64b9c232348cc9003f" + }, + { + "@id": "_:N22def6151bf645f3965b4686b3cfc465" + }, + { + "@id": "_:N7f4b62a1341041e784a05e65c9d247b9" + }, + { + "@id": "_:Ne909277668f048789018e9e55599a566" + }, + { + "@id": "_:N0848e116634a4164aeebd0be89cb0fc2" + }, + { + "@id": "_:N76743e81ef724c608577bb571ea11688" + }, + { + "@id": "_:N818ff40f23114b1da67f82e42fe7e008" + }, + { + "@id": "_:Nc40b58552d6a404c8a8529a7dba40255" + }, + { + "@id": "_:N333f704ab3ab417b9a05fea850f76b29" + }, + { + "@id": "_:N0f631901db4145dfb4ea0b09a66af60e" }, { - "@id": "_:N399445c8563942e8aaab2b868168dfb8" + "@id": "_:N0cdc40dca1d140f1a18f0dd5dda11143" }, { - "@id": "_:N39cac98297b842678dadec9b5e247f71" + "@id": "_:N803efc90d24d42818bc09cf02353885d" }, { - "@id": "_:Nef01f501f3394906b4f7eb6ce487481a" + "@id": "_:N3ed906efce3043baa08655a938ef14f1" }, { - "@id": "_:N8297e1081d5e4eb78d708f4d27d5350e" + "@id": "_:N91405c390747437a97a502b1b166b106" }, { - "@id": "_:N0ed34dd6713e473088f922a69504c4ac" + "@id": "_:Nc00d9c1298d04d97877d944e0ece2e3a" }, { - "@id": "_:N4423a2a02f8943a991ebc9f455abab92" + "@id": "_:N6b9ef824236241d99539f580e259c364" }, { - "@id": "_:Ne4903e9509f340de8f55b3c813747992" + "@id": "_:Na18b1e33f81a4c33bb1e62518d5d7794" }, { - "@id": "_:N5c7dbb2dab5d40309b8188a6cb4fbace" + "@id": "_:N8712c80730a74a60826d7b6bc11ab2e1" + }, + { + "@id": "_:Nb9721a01040b42f19d24b9468e758afd" + }, + { + "@id": "_:Ncb920e3b603b4997ab41072396358f6f" } ], "http://www.w3.org/2004/02/skos/core#definition": [ { - "@value": "a provence-generating agent" + "@value": "a provence-generating activity" } ], - "http://www.w3.org/2004/02/skos/core#exactMatch": [ + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "http://www.w3.org/ns/prov#Agent" + "@id": "https://w3id.org/linkml/tests/core" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2004/02/skos/core#mappingRelation": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "http://www.w3.org/ns/prov#Activity" } ] }, { - "@id": "_:Ne4152980ea2a463e9db08f54e42bf1c4", + "@id": "_:N54dbd23663ca4cdba4c32d4be5aafe17", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Agent" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + "@id": "https://w3id.org/linkml/tests/core/description" } ] }, { - "@id": "_:N399445c8563942e8aaab2b868168dfb8", + "@id": "_:Ne139cdddbdbf4a64b9c232348cc9003f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6679,12 +6567,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + "@id": "https://w3id.org/linkml/tests/core/description" } ] }, { - "@id": "_:N39cac98297b842678dadec9b5e247f71", + "@id": "_:N22def6151bf645f3965b4686b3cfc465", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6696,45 +6584,45 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + "@id": "https://w3id.org/linkml/tests/core/description" } ] }, { - "@id": "_:Nef01f501f3394906b4f7eb6ce487481a", + "@id": "_:N7f4b62a1341041e784a05e65c9d247b9", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N8297e1081d5e4eb78d708f4d27d5350e", + "@id": "_:Ne909277668f048789018e9e55599a566", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 1 + "@value": 0 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N0ed34dd6713e473088f922a69504c4ac", + "@id": "_:N0848e116634a4164aeebd0be89cb0fc2", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6746,45 +6634,45 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/id" + "@id": "https://w3id.org/linkml/tests/core/ended_at_time" } ] }, { - "@id": "_:N4423a2a02f8943a991ebc9f455abab92", + "@id": "_:N76743e81ef724c608577bb571ea11688", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:Ne4903e9509f340de8f55b3c813747992", + "@id": "_:N818ff40f23114b1da67f82e42fe7e008", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#minCardinality": [ { "@type": "http://www.w3.org/2001/XMLSchema#integer", - "@value": 0 + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N5c7dbb2dab5d40309b8188a6cb4fbace", + "@id": "_:Nc40b58552d6a404c8a8529a7dba40255", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6796,89 +6684,78 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/slot_with_space_2", + "@id": "_:N333f704ab3ab417b9a05fea850f76b29", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "slot with space 2" + "@id": "http://www.w3.org/2001/XMLSchema#date" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/AnyOfSimpleType", + "@id": "_:N0f631901db4145dfb4ea0b09a66af60e", "@type": [ - "http://www.w3.org/2002/07/owl#Class" - ], - "http://www.w3.org/2000/01/rdf-schema#label": [ - { - "@value": "AnyOfSimpleType" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "_:N68140c4bd89c42eba7e529163038c338" - }, - { - "@id": "_:N0417cfc99a6a4ba498ca236c804323ce" - }, + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "_:Nf697ad67b8074c6eae35ef720dca40c5" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "_:N68140c4bd89c42eba7e529163038c338", + "@id": "_:N0cdc40dca1d140f1a18f0dd5dda11143", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#allValuesFrom": [ + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:N23cea4d92d474993bb53ec636b8cc4b5" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" + "@id": "https://w3id.org/linkml/tests/core/started_at_time" } ] }, { - "@id": "_:N23cea4d92d474993bb53ec636b8cc4b5", + "@id": "_:N803efc90d24d42818bc09cf02353885d", "@type": [ - "http://www.w3.org/2000/01/rdf-schema#Datatype" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2002/07/owl#unionOf": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@list": [ - { - "@id": "http://www.w3.org/2001/XMLSchema#string" - }, - { - "@id": "http://www.w3.org/2001/XMLSchema#integer" - } - ] + "@id": "http://www.w3.org/2001/XMLSchema#string" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/used" } ] }, { - "@id": "_:N0417cfc99a6a4ba498ca236c804323ce", + "@id": "_:N3ed906efce3043baa08655a938ef14f1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6890,12 +6767,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" + "@id": "https://w3id.org/linkml/tests/core/used" } ] }, { - "@id": "_:Nf697ad67b8074c6eae35ef720dca40c5", + "@id": "_:N91405c390747437a97a502b1b166b106", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6907,55 +6784,78 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1" + "@id": "https://w3id.org/linkml/tests/core/used" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation", + "@id": "_:Nc00d9c1298d04d97877d944e0ece2e3a", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "WithLocation" + "@id": "https://w3id.org/linkml/tests/core/Agent" } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:N18d01f9a9bbe4bd7ad0fd3b9fed729d5" - }, + "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + } + ] + }, + { + "@id": "_:N6b9ef824236241d99539f580e259c364", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@id": "_:N9c1fb3ce2f2b434c8083c4ce5ef36545" - }, + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/was_associated_with" + } + ] + }, + { + "@id": "_:Na18b1e33f81a4c33bb1e62518d5d7794", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:N0e489d06d5314c26a8cf012b55fed550" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/was_associated_with" } ] }, { - "@id": "_:N18d01f9a9bbe4bd7ad0fd3b9fed729d5", + "@id": "_:N8712c80730a74a60826d7b6bc11ab2e1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Place" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N9c1fb3ce2f2b434c8083c4ce5ef36545", + "@id": "_:Nb9721a01040b42f19d24b9468e758afd", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6967,12 +6867,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N0e489d06d5314c26a8cf012b55fed550", + "@id": "_:Ncb920e3b603b4997ab41072396358f6f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -6984,115 +6884,164 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_location" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/DiagnosisConcept", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "EmploymentEventType" - } - ], - "http://www.w3.org/2002/07/owl#unionOf": [ - { - "@list": [ - { - "@id": "https://example.org/bizcodes/001" - }, - { - "@id": "https://example.org/bizcodes/002" - }, - { - "@id": "https://example.org/bizcodes/003" - }, - { - "@id": "https://example.org/bizcodes/004" - } - ] + "@value": "DiagnosisConcept" } ], - "http://www.w3.org/2004/02/skos/core#altLabel": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@value": "HR code" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept" } ], - "http://www.w3.org/2004/02/skos/core#definition": [ + "http://www.w3.org/2004/02/skos/core#closeMatch": [ { - "@value": "codes for different kinds of employment/HR related events" + "@id": "https://w3id.org/biolink/Disease" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { "@id": "https://w3id.org/linkml/tests/kitchen_sink" } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/stomach_count", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" ], - "https://w3id.org/linkml/permissible_values": [ - { - "@id": "https://example.org/bizcodes/001" - }, + "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@id": "https://example.org/bizcodes/002" - }, + "@value": "stomach count" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ { - "@id": "https://example.org/bizcodes/003" - }, + "@id": "http://www.w3.org/2001/XMLSchema#integer" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://example.org/bizcodes/004" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Concept", + "@id": "https://w3id.org/linkml/tests/core/Agent", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "Concept" + "@value": "agent" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "_:N3a6a9fc15e9345f6aac3a452b0e8c5d3" + "@id": "_:Na6e38ceef9db4a48b0ec1469ecff77d3" }, { - "@id": "_:N4bf529e2fab2436f8e127c726fafd67e" + "@id": "_:N539ebf1b2d9045b8b0587f3f336e76d3" }, { - "@id": "_:N4de2a94bc71e43fdb91eeea9f57119eb" + "@id": "_:N9295017b4a4d4ade94c350b1645a0c24" }, { - "@id": "_:N44e5b9478712448f83c1cab16d76a4fe" + "@id": "_:N79385ad1a1f04a948e596864e15e4bdc" }, { - "@id": "_:N49717401c118420a8e9e34466832b16a" + "@id": "_:N3453900e987a4875a278857a20719da1" }, { - "@id": "_:N15c7e94b9eb94a85949dd0be10fd5d39" + "@id": "_:Nb588aaec577d4342a27ee1f38f32c0fd" }, { - "@id": "_:Nbf941d5ae97849e7b0d0107fbe23029a" + "@id": "_:N84f7bb0f45164057b608d9f0bd0466d5" }, { - "@id": "_:N7caacdc5be454cdea178c68909f59f94" + "@id": "_:Nb21d7b73363c4ab994b548d71a2149df" }, { - "@id": "_:N355aac6af954431290f6db0a9cd170fc" + "@id": "_:Ncd29be2f1df748948274ceaac3c634c1" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "a provence-generating agent" + } + ], + "http://www.w3.org/2004/02/skos/core#exactMatch": [ + { + "@id": "http://www.w3.org/ns/prov#Agent" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" + } + ] + }, + { + "@id": "_:Na6e38ceef9db4a48b0ec1469ecff77d3", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#allValuesFrom": [ + { + "@id": "https://w3id.org/linkml/tests/core/Agent" + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + } + ] + }, + { + "@id": "_:N539ebf1b2d9045b8b0587f3f336e76d3", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#minCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 0 + } + ], + "http://www.w3.org/2002/07/owl#onProperty": [ + { + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" + } + ] + }, + { + "@id": "_:N9295017b4a4d4ade94c350b1645a0c24", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/acted_on_behalf_of" } ] }, { - "@id": "_:N3a6a9fc15e9345f6aac3a452b0e8c5d3", + "@id": "_:N79385ad1a1f04a948e596864e15e4bdc", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7108,7 +7057,7 @@ ] }, { - "@id": "_:N4bf529e2fab2436f8e127c726fafd67e", + "@id": "_:N3453900e987a4875a278857a20719da1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7125,7 +7074,7 @@ ] }, { - "@id": "_:N4de2a94bc71e43fdb91eeea9f57119eb", + "@id": "_:Nb588aaec577d4342a27ee1f38f32c0fd", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7142,23 +7091,23 @@ ] }, { - "@id": "_:N44e5b9478712448f83c1cab16d76a4fe", + "@id": "_:N84f7bb0f45164057b608d9f0bd0466d5", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/CodeSystem" + "@id": "https://w3id.org/linkml/tests/core/Activity" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N49717401c118420a8e9e34466832b16a", + "@id": "_:Nb21d7b73363c4ab994b548d71a2149df", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7170,12 +7119,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" } ] }, { - "@id": "_:N15c7e94b9eb94a85949dd0be10fd5d39", + "@id": "_:Ncd29be2f1df748948274ceaac3c634c1", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7187,28 +7136,102 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/in_code_system" + "@id": "https://w3id.org/linkml/tests/core/was_informed_by" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute2", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "attribute2" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum#LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "LambdaSequenceIdentifier11_LongPatternLongPatternLongPattern" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/LongEnum" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EqualsString", + "@type": [ + "http://www.w3.org/2002/07/owl#Class" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "EqualsString" + } + ], + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ + { + "@id": "_:N82c72990189140668a722267985c577b" + }, + { + "@id": "_:Ne7b99e8103e6402fb8c730f8cb4e7664" + }, + { + "@id": "_:N9c8ca23d43a94756989edb0de9b98072" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" } ] }, { - "@id": "_:Nbf941d5ae97849e7b0d0107fbe23029a", + "@id": "_:N82c72990189140668a722267985c577b", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "http://www.w3.org/2001/XMLSchema#string" + "@id": "_:N08e5563685de4cbaabd13d3704fe3b88" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" + } + ] + }, + { + "@id": "_:N08e5563685de4cbaabd13d3704fe3b88", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ], + "http://www.w3.org/2002/07/owl#oneOf": [ + { + "@list": [ + { + "@value": "foo" + } + ] } ] }, { - "@id": "_:N7caacdc5be454cdea178c68909f59f94", + "@id": "_:Ne7b99e8103e6402fb8c730f8cb4e7664", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7220,12 +7243,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" } ] }, { - "@id": "_:N355aac6af954431290f6db0a9cd170fc", + "@id": "_:N9c8ca23d43a94756989edb0de9b98072", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7237,135 +7260,165 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core/name" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute5" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#DIRTY", + "@id": "https://example.org/bizcodes/001", "@type": [ "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "DIRTY" + "@value": "HIRE" } ], "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/EmploymentEventType" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "event for a new employee" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/attribute1", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus#CLEAN", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "attribute1" + "@value": "CLEAN" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/KitchenStatus" } ] }, { - "@id": "https://w3id.org/linkml/tests/core/was_informed_by", + "@id": "https://w3id.org/linkml/tests/kitchen_sink/Organization", "@type": [ - "http://www.w3.org/2002/07/owl#ObjectProperty" + "http://www.w3.org/2002/07/owl#Class" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { - "@value": "was informed by" + "@value": "Organization" } ], - "http://www.w3.org/2000/01/rdf-schema#range": [ + "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ { - "@id": "https://w3id.org/linkml/tests/core/Activity" + "@id": "https://w3id.org/linkml/tests/kitchen_sink/HasAliases" + }, + { + "@id": "_:N6337469fa70e48d399f120595f90cce7" + }, + { + "@id": "_:Ne0fa73d3d0d44ee5b45a3c32ed3a7050" + }, + { + "@id": "_:N3ddbad6db0714852bfacd5f004f90b31" + }, + { + "@id": "_:N36679e0f398f4b13b230122eabaeeb34" + }, + { + "@id": "_:Nfc7c1c5893284cb4bab74f86460be34f" + }, + { + "@id": "_:N195b4fccd6e94b18bef11dcd09538670" + } + ], + "http://www.w3.org/2004/02/skos/core#definition": [ + { + "@value": "An organization.\n\nThis description\nincludes newlines\n\n## Markdown headers\n\n * and\n * a\n * list" } ], "http://www.w3.org/2004/02/skos/core#inScheme": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ], + "http://www.w3.org/ns/shacl#order": [ + { + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 3 } ] }, { - "@id": "https://w3id.org/linkml/tests/core/used", + "@id": "_:N6337469fa70e48d399f120595f90cce7", "@type": [ - "http://www.w3.org/2002/07/owl#DatatypeProperty" - ], - "http://www.w3.org/2000/01/rdf-schema#domain": [ - { - "@id": "https://w3id.org/linkml/tests/core/Activity" - } + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@value": "used" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/core" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/MarriageEvent", + "@id": "_:Ne0fa73d3d0d44ee5b45a3c32ed3a7050", "@type": [ - "http://www.w3.org/2002/07/owl#Class" + "http://www.w3.org/2002/07/owl#Restriction" ], - "http://www.w3.org/2000/01/rdf-schema#label": [ + "http://www.w3.org/2002/07/owl#minCardinality": [ { - "@value": "MarriageEvent" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2000/01/rdf-schema#subClassOf": [ - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Event" - }, - { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/WithLocation" - }, - { - "@id": "_:N36a218f7086a4f288107cba34e0cee7d" - }, + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "_:N25f72c94fbb84105901e6dde348a2019" - }, + "@id": "https://w3id.org/linkml/tests/core/id" + } + ] + }, + { + "@id": "_:N3ddbad6db0714852bfacd5f004f90b31", + "@type": [ + "http://www.w3.org/2002/07/owl#Restriction" + ], + "http://www.w3.org/2002/07/owl#maxCardinality": [ { - "@id": "_:N5143880ff2d0466daab831287bd6db5f" + "@type": "http://www.w3.org/2001/XMLSchema#integer", + "@value": 1 } ], - "http://www.w3.org/2004/02/skos/core#inScheme": [ + "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink" + "@id": "https://w3id.org/linkml/tests/core/id" } ] }, { - "@id": "_:N36a218f7086a4f288107cba34e0cee7d", + "@id": "_:N36679e0f398f4b13b230122eabaeeb34", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], "http://www.w3.org/2002/07/owl#allValuesFrom": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/Person" + "@id": "http://www.w3.org/2001/XMLSchema#string" } ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N25f72c94fbb84105901e6dde348a2019", + "@id": "_:Nfc7c1c5893284cb4bab74f86460be34f", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7377,12 +7430,12 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" + "@id": "https://w3id.org/linkml/tests/core/name" } ] }, { - "@id": "_:N5143880ff2d0466daab831287bd6db5f", + "@id": "_:N195b4fccd6e94b18bef11dcd09538670", "@type": [ "http://www.w3.org/2002/07/owl#Restriction" ], @@ -7394,7 +7447,50 @@ ], "http://www.w3.org/2002/07/owl#onProperty": [ { - "@id": "https://w3id.org/linkml/tests/kitchen_sink/married_to" + "@id": "https://w3id.org/linkml/tests/core/name" + } + ] + }, + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink/street", + "@type": [ + "http://www.w3.org/2002/07/owl#DatatypeProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "street" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/kitchen_sink" + } + ] + }, + { + "@id": "http://www.w3.org/2001/XMLSchema#integer", + "@type": [ + "http://www.w3.org/2000/01/rdf-schema#Datatype" + ] + }, + { + "@id": "https://w3id.org/linkml/tests/core/was_generated_by", + "@type": [ + "http://www.w3.org/2002/07/owl#ObjectProperty" + ], + "http://www.w3.org/2000/01/rdf-schema#label": [ + { + "@value": "was generated by" + } + ], + "http://www.w3.org/2000/01/rdf-schema#range": [ + { + "@id": "https://w3id.org/linkml/tests/core/Activity" + } + ], + "http://www.w3.org/2004/02/skos/core#inScheme": [ + { + "@id": "https://w3id.org/linkml/tests/core" } ] } diff --git a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.n3 b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.n3 index 82096ace4e..15fc3f124a 100644 --- a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.n3 +++ b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.n3 @@ -11,9 +11,19 @@ @prefix dcterms: . @prefix linkml: . @prefix schema1: . +dcterms:title a owl:AnnotationProperty . +rdfs:label a owl:AnnotationProperty . +rdfs:seeAlso a owl:AnnotationProperty . xsd:integer a rdfs:Datatype . xsd:string a rdfs:Datatype ; owl:equivalentClass _:c14n173 . +skos:altLabel a owl:AnnotationProperty . +skos:closeMatch a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:exactMatch a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . +skos:mappingRelation a owl:AnnotationProperty . +sh:order a owl:AnnotationProperty . bizcodes:001 a owl:Class ; rdfs:label "HIRE" ; rdfs:subClassOf ks:EmploymentEventType ; @@ -30,6 +40,8 @@ bizcodes:004 a owl:Class ; rdfs:label "TRANSFER" ; rdfs:subClassOf ks:EmploymentEventType ; skos:definition "transfer internally" . +biolink:opposite a owl:AnnotationProperty . +linkml:permissible_values a owl:AnnotationProperty . linkml:tests\/core\/Activity a owl:Class ; rdfs:label "activity" ; rdfs:subClassOf _:c14n103 , _:c14n119 , _:c14n132 , _:c14n146 , _:c14n152 , _:c14n155 , _:c14n162 , _:c14n171 , _:c14n191 , _:c14n200 , _:c14n204 , _:c14n210 , _:c14n223 , _:c14n243 , _:c14n246 , _:c14n253 , _:c14n258 , _:c14n59 , _:c14n6 , _:c14n63 , _:c14n68 ; @@ -432,6 +444,7 @@ ks:employed_at a owl:ObjectProperty ; rdfs:label "employed at" ; rdfs:range ks:Company ; skos:inScheme linkml:tests\/kitchen_sink . +ks:fallible a owl:AnnotationProperty . ks:has_birth_event a owl:ObjectProperty ; rdfs:label "has birth event" ; rdfs:range ks:BirthEvent ; @@ -490,6 +503,7 @@ ks:metadata a owl:ObjectProperty ; ks:mixin_slot_I a owl:DatatypeProperty ; rdfs:label "mixin_slot_I" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:opinions a owl:AnnotationProperty . ks:persons a owl:ObjectProperty ; rdfs:label "persons" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -500,6 +514,7 @@ ks:procedure a owl:ObjectProperty ; ks:related_to a owl:DatatypeProperty ; rdfs:label "related to" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:resting a owl:AnnotationProperty . ks:slot_with_space_1 a owl:DatatypeProperty ; rdfs:label "slot with space 1" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -534,6 +549,7 @@ ks:tree_slot_C a owl:DatatypeProperty ; ks:type a owl:DatatypeProperty ; rdfs:label "type" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:viewer a owl:AnnotationProperty . _:c14n0 rdf:first bizcodes:002 ; rdf:rest _:c14n43 . _:c14n1 a owl:Restriction ; diff --git a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.ttl b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.ttl index 82096ace4e..15fc3f124a 100644 --- a/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.ttl +++ b/tests/linkml/test_scripts/__snapshots__/genowl/meta_owl_custom_enum_separator.ttl @@ -11,9 +11,19 @@ @prefix dcterms: . @prefix linkml: . @prefix schema1: . +dcterms:title a owl:AnnotationProperty . +rdfs:label a owl:AnnotationProperty . +rdfs:seeAlso a owl:AnnotationProperty . xsd:integer a rdfs:Datatype . xsd:string a rdfs:Datatype ; owl:equivalentClass _:c14n173 . +skos:altLabel a owl:AnnotationProperty . +skos:closeMatch a owl:AnnotationProperty . +skos:definition a owl:AnnotationProperty . +skos:exactMatch a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . +skos:mappingRelation a owl:AnnotationProperty . +sh:order a owl:AnnotationProperty . bizcodes:001 a owl:Class ; rdfs:label "HIRE" ; rdfs:subClassOf ks:EmploymentEventType ; @@ -30,6 +40,8 @@ bizcodes:004 a owl:Class ; rdfs:label "TRANSFER" ; rdfs:subClassOf ks:EmploymentEventType ; skos:definition "transfer internally" . +biolink:opposite a owl:AnnotationProperty . +linkml:permissible_values a owl:AnnotationProperty . linkml:tests\/core\/Activity a owl:Class ; rdfs:label "activity" ; rdfs:subClassOf _:c14n103 , _:c14n119 , _:c14n132 , _:c14n146 , _:c14n152 , _:c14n155 , _:c14n162 , _:c14n171 , _:c14n191 , _:c14n200 , _:c14n204 , _:c14n210 , _:c14n223 , _:c14n243 , _:c14n246 , _:c14n253 , _:c14n258 , _:c14n59 , _:c14n6 , _:c14n63 , _:c14n68 ; @@ -432,6 +444,7 @@ ks:employed_at a owl:ObjectProperty ; rdfs:label "employed at" ; rdfs:range ks:Company ; skos:inScheme linkml:tests\/kitchen_sink . +ks:fallible a owl:AnnotationProperty . ks:has_birth_event a owl:ObjectProperty ; rdfs:label "has birth event" ; rdfs:range ks:BirthEvent ; @@ -490,6 +503,7 @@ ks:metadata a owl:ObjectProperty ; ks:mixin_slot_I a owl:DatatypeProperty ; rdfs:label "mixin_slot_I" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:opinions a owl:AnnotationProperty . ks:persons a owl:ObjectProperty ; rdfs:label "persons" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -500,6 +514,7 @@ ks:procedure a owl:ObjectProperty ; ks:related_to a owl:DatatypeProperty ; rdfs:label "related to" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:resting a owl:AnnotationProperty . ks:slot_with_space_1 a owl:DatatypeProperty ; rdfs:label "slot with space 1" ; skos:inScheme linkml:tests\/kitchen_sink . @@ -534,6 +549,7 @@ ks:tree_slot_C a owl:DatatypeProperty ; ks:type a owl:DatatypeProperty ; rdfs:label "type" ; skos:inScheme linkml:tests\/kitchen_sink . +ks:viewer a owl:AnnotationProperty . _:c14n0 rdf:first bizcodes:002 ; rdf:rest _:c14n43 . _:c14n1 a owl:Restriction ; diff --git a/tests/linkml/test_utils/__snapshots__/owl1.owl b/tests/linkml/test_utils/__snapshots__/owl1.owl index e6f9cf30b6..970e2e3bde 100644 --- a/tests/linkml/test_utils/__snapshots__/owl1.owl +++ b/tests/linkml/test_utils/__snapshots__/owl1.owl @@ -36,6 +36,8 @@ meta:slotzeromany a owl:ObjectProperty , linkml:SlotDefinition ; skos:inScheme . a owl:Ontology ; rdfs:label "owl1" . +rdfs:label a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . _:c14n0 a owl:Restriction ; diff --git a/tests/linkml/test_utils/__snapshots__/owl2.owl b/tests/linkml/test_utils/__snapshots__/owl2.owl index 767ce208fe..7142f5658d 100644 --- a/tests/linkml/test_utils/__snapshots__/owl2.owl +++ b/tests/linkml/test_utils/__snapshots__/owl2.owl @@ -36,6 +36,8 @@ meta:objslot a owl:ObjectProperty , linkml:SlotDefinition ; skos:inScheme . a owl:Ontology ; rdfs:label "owl2" . +rdfs:label a owl:AnnotationProperty . +skos:inScheme a owl:AnnotationProperty . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . _:c14n0 a owl:Restriction ; diff --git a/tests/linkml_runtime/test_loaders_dumpers/test_rdflib_dumper.py b/tests/linkml_runtime/test_loaders_dumpers/test_rdflib_dumper.py index 2df96c656a..c5ec8ebabc 100644 --- a/tests/linkml_runtime/test_loaders_dumpers/test_rdflib_dumper.py +++ b/tests/linkml_runtime/test_loaders_dumpers/test_rdflib_dumper.py @@ -9,7 +9,7 @@ from linkml_runtime import DataNotFoundError, MappingError from linkml_runtime.dumpers import rdflib_dumper, yaml_dumper -from linkml_runtime.linkml_model import Prefix +from linkml_runtime.linkml_model import Prefix, SchemaDefinition from linkml_runtime.loaders import rdflib_loader, yaml_loader from linkml_runtime.utils.schemaview import SchemaView from tests.linkml_runtime.test_loaders_dumpers import INPUT_DIR, OUTPUT_DIR @@ -33,6 +33,31 @@ logger = logging.getLogger(__name__) +@pytest.mark.parametrize("datatype", ["xsd:anyURI", "xs:anyURI", str(XSD.anyURI)]) +@pytest.mark.parametrize("parent, is_iri", [("uri", True), ("uriorcurie", True), ("string", False), ("curie", False)]) +def test_derived_uri_representation(datatype: str, parent: str, is_iri: bool) -> None: + """Type ancestry and expanded datatype jointly determine the serialized RDF term.""" + schema = SchemaView( + SchemaDefinition( + **{ + "id": "https://example.org/schema", + "name": "uri_representation", + "imports": ["linkml:types"], + "prefixes": {"linkml": "https://w3id.org/linkml/", "ex": "https://example.org/", "xs": str(XSD)}, + "types": {"Parent": {"typeof": parent, "uri": datatype}, "Child": {"typeof": "Parent"}}, + } + ) + ) + value = "ex:resource" + term = rdflib_dumper.inject_triples(value, schema, Graph(), "Child") + expected = URIRef("https://example.org/resource") if is_iri else Literal(value, datatype=XSD.anyURI) + assert term == expected + graph = Graph() + graph.add((URIRef("https://example.org/s"), URIRef("https://example.org/p"), term)) + reparsed = Graph().parse(data=graph.serialize(format="turtle"), format="turtle") + assert reparsed.value(URIRef("https://example.org/s"), URIRef("https://example.org/p")) == expected + + INPUT_PATH = Path(INPUT_DIR) OUTPUT_PATH = Path(OUTPUT_DIR)