From 99fcfa05fd6308f053d0ddc2b7c5ed7f4180ffc4 Mon Sep 17 00:00:00 2001 From: Casper Welzel Andersen <43357585+CasperWA@users.noreply.github.com> Date: Thu, 14 Oct 2021 13:02:54 +0200 Subject: [PATCH] Fix MkDocs build warnings and CI job (#254) Add `attr_list` extension to accommodate the width specifications of images. Remove unresolvable cross-references, re-create resources, or re-direct cross-references. Update documentation, fixing retrieval and rendering. Streamline `create-api-reference-docs` invoke task to be more EMMOntoPy-specific. --- docs/api_reference/emmopy/emmocheck.md | 2 ++ docs/images/material.png | Bin 0 -> 38551 bytes docs/tools-instructions.md | 2 +- emmopy/emmopy.py | 2 +- examples/emmodoc/important_concepts.md | 13 ++++++++----- examples/emmodoc/introduction.md | 10 +++++----- mkdocs.yml | 9 ++++----- ontopy/utils.py | 8 ++++---- tasks.py | 26 ++++++++++++------------- 9 files changed, 37 insertions(+), 35 deletions(-) create mode 100644 docs/images/material.png diff --git a/docs/api_reference/emmopy/emmocheck.md b/docs/api_reference/emmopy/emmocheck.md index 7dd823877..17c16dc05 100644 --- a/docs/api_reference/emmopy/emmocheck.md +++ b/docs/api_reference/emmopy/emmocheck.md @@ -1,3 +1,5 @@ # emmocheck ::: emmopy.emmocheck + rendering: + show_bases: false diff --git a/docs/images/material.png b/docs/images/material.png new file mode 100644 index 0000000000000000000000000000000000000000..5b52db84f6efde453ceedff82928e6395aa86802 GIT binary patch literal 38551 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 GAO0_Fn@B?d literal 0 HcmV?d00001 diff --git a/docs/tools-instructions.md b/docs/tools-instructions.md index 1a73fb84d..5cc7aff0b 100644 --- a/docs/tools-instructions.md +++ b/docs/tools-instructions.md @@ -202,7 +202,7 @@ The figure below is generated with the following command: ontograph --root=Material --relations=all --legend emmo-inferred material.png ``` -![Graph generated with the ontograph tool.](materialstate.png) +![Graph generated with the ontograph tool.](images/material.png) --- diff --git a/emmopy/emmopy.py b/emmopy/emmopy.py index 9d212c62a..f34e8f075 100644 --- a/emmopy/emmopy.py +++ b/emmopy/emmopy.py @@ -10,7 +10,7 @@ def get_emmo(inferred: Optional[bool] = True) -> "Ontology": Args: inferred: Whether to import the inferred version of emmo or not. - Default is True. + Default is True. Returns: The loaded emmo ontology. diff --git a/examples/emmodoc/important_concepts.md b/examples/emmodoc/important_concepts.md index f0aa9e665..425c8bcec 100644 --- a/examples/emmodoc/important_concepts.md +++ b/examples/emmodoc/important_concepts.md @@ -38,7 +38,7 @@ A `spacetime` is valid for all reference systems (as required by the theory of r `matter` is used to represent a group of `elementary` in an enclosing `spacetime`. As illustrated in the figure, a `matter` is an `elementary` or a composition of other `matter` and `vacuum`. -![Matter.](html_files/emmo-matter.png){ width=540px } +![Matter.](figs/emmo-matter.png){ width=540px } In EMMO `matter` is always a 4D spacetime. This is a fundamental difference between EMMO and most other ontologies. @@ -61,7 +61,7 @@ A `state` is matter in a particular configurational state. It is defined as having spatial direct parts that persist (do not change) throughout the lifetime of the `state`. Hence, a `state` is like a snapshot of a physical in a finite time interval. -![A physical can always be decomposed into a sequence of finite `state`s.](html_files/emmo-state.png){ width=440px } +![A physical can always be decomposed into a sequence of finite `state`s.](figs/emmo-state.png){ width=440px } The use of spatial direct parthood in the definition of `state` means that a `state` cannot overlap in space with another `state`. @@ -77,18 +77,18 @@ An `elementary` can still be decomposed in temporal parts, that are themselves ` Example of elementaries are electrons, photons and quarks. -![Elementary.](html_files/emmo-elementary.png){ width=320px } +![Elementary.](figs/emmo-elementary.png){ width=320px } ### Granularity - direct parthood Granularity is a central concept of EMMO, which allows the user to percieve the world at different levels of detail (granularity) that follow physics and materials science perspectives. -![Different levels of granularity.](html_files/emmo-granularity2.png){ width=660px } +![Different levels of granularity.](figs/emmo-granularity2.png){ width=660px } Every material in EMMO is placed on a granularity level and the ontology gives information about the direct upper and direct lower level classes. This is done with the non-transitive `is_direct_part_of` relation. -![Direct parthood.](html_files/emmo-direct_part.png){ width=220px } +![Direct parthood.](figs/emmo-direct_part.png){ width=220px } Granularity is a defined class and is useful sine a reasoner automatically can put the individuals defined by the user under a generic class that clearly expresses the types of its compositional parts. @@ -118,3 +118,6 @@ Properties are abstracts that are related to a specific material entity with the **specific observation process**, participated by a **specific observer**, who catch the physical entity behaviour that is abstracted as a property. Properties enable us to connect a measured property to the measurement process and the measurement instrument. + +[RoMM]: https://publications.europa.eu/en/publication-detail/-/publication/ec1455c3-d7ca-11e6-ad7c-01aa75ed71a1 +[CWA]: https://www.cen.eu/news/workshops/Pages/WS_2016-013.aspx diff --git a/examples/emmodoc/introduction.md b/examples/emmodoc/introduction.md index 5752b6255..c74eda233 100644 --- a/examples/emmodoc/introduction.md +++ b/examples/emmodoc/introduction.md @@ -49,7 +49,7 @@ In EMMO, the taxonomy is a rooted directed acyclic graph (DAG). This is important since many classification methods relies on this property, see e.g. [Valentini (2014)][Valentini2014] and [Robison et al (2015)][Robison2015]. Note, that EMMO is a DAG does not prevent some classes from having more than one parent. A `Variable` is for instance both a `Mathematical` and a `Symbol`. -See [appendix][Appendix] for the full EMMO taxonomy. +See appendix for the full EMMO taxonomy. ## Primitive elements in EMMO @@ -357,7 +357,7 @@ The EMMO ontology is structured in shells, expressed by specific ontology fragme ### Top Level -The [EMMO top level](top.owl) is the group of fundamental axioms that constitute the philosophical foundation of the EMMO. +The EMMO top level is the group of fundamental axioms that constitute the philosophical foundation of the EMMO. Adopting a physicalistic/nominalistic perspective, the EMMO defines real world objects as 4D objects that are always extended in space and time (i.e. real world objects cannot be spaceless nor timeless). For this reason abstract objects, i.e. objects that does not extend in space and time, are forbidden in the EMMO. @@ -368,14 +368,14 @@ These symbols appear in actions (semiotic processes) meant to communicate meanin Another important building block of from analytical philosophy is atomistic mereology applied to 4D objects. The EMMO calls it 'quantum mereology', since the there is a epistemological limit to how fine we can resolve space and time due to the uncertanity principles. -The [mereotopology](top/mereotopology.owl) module introduces the fundamental mereotopological concepts and their relations with the real world objects that they represent. +The mereotopology module introduces the fundamental mereotopological concepts and their relations with the real world objects that they represent. The EMMO uses mereotopology as the ground for all the subsequent ontology modules. The concept of topological connection is used to define the first distinction between ontology entities namely the *Item* and *Collection* classes. Items are causally self-connected objects, while collections are causally disconnected. Quantum mereology is represented by the *Quantum* class. This module introduces also the fundamental mereotopological relations used to distinguish between space and time dimensions. -The [physical](top/physical.owl) module, defines the *Physical* objects and the concept of *Void* that plays a fundamental role in the description of multiscale objects and quantum systems. +The physical module, defines the *Physical* objects and the concept of *Void* that plays a fundamental role in the description of multiscale objects and quantum systems. It also define the *Elementary* class, that restricts mereological atomism in space. ![The EMMO top level.](figs/top.png){ width=440px } @@ -403,7 +403,7 @@ Phenomenic objects can be used in a semiotic process as signs. The *Physicalistic* perspective class introduces the concept of real world objects that have a meaning for the under applied physics perspective. The *Holistic* perspective class introduces the concept of real world objects that unfold in time in a way that has a meaning for the EMMO user, through the definition of the classes *Process* and *Participant*. -The [semiotics](top/semiotics.owl) module introduces the concepts of semiotics and the *Semiosis* process that has a *Sign*, an *Object* and an *Interpreter* as participants. +The semiotics module introduces the concepts of semiotics and the *Semiosis* process that has a *Sign*, an *Object* and an *Interpreter* as participants. This forms the basis in EMMO to represent e.g. models, formal languages, theories, information and properties. ![The semiotic level, showing both the taxonomy (open black arrows) and other relations as listed in the caption. The inverted arrows corresponds to inverse relations.](figs/Semiotic.png){ width=540px } diff --git a/mkdocs.yml b/mkdocs.yml index cbc7bd919..00fc858db 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -36,6 +36,7 @@ extra_css: markdown_extensions: - admonition + - attr_list - pymdownx.highlight - pymdownx.superfences - pymdownx.inlinehilite @@ -60,15 +61,13 @@ plugins: show_category_heading: false show_if_no_docstring: false show_source: true + show_bases: true group_by_category: true heading_level: 2 selection: filters: - - "!^_[^_]" - - "!__all__$" - - "!__str__$" - - "!__repr__$" - - "!ValidatorResults$" + - "!^_" + - "^__init__$" members: true inherited_members: false docstring_style: google diff --git a/ontopy/utils.py b/ontopy/utils.py index 48612f81d..d15f9e42c 100644 --- a/ontopy/utils.py +++ b/ontopy/utils.py @@ -399,8 +399,8 @@ def convert_imported(input, output, input_format=None, output_format='xml', Warning: To convert to Turtle (`.ttl`) format, you must have installed - `rdflib>=6.0.0`. See [Known issues](../README.md#Known-issues) in the - README for more information. + `rdflib>=6.0.0`. See [Known issues](../../../#known-issues) for + more information. Args: input: input ontology file name @@ -501,8 +501,8 @@ def squash_imported(input, output, input_format=None, output_format='xml', Warning: To convert to Turtle (`.ttl`) format, you must have installed - `rdflib>=6.0.0`. See [Known issues](../README.md#Known-issues) in the - README for more information. + `rdflib>=6.0.0`. See [Known issues](../../../#known-issues) for + more information. """ inroot = os.path.dirname(os.path.abspath(input)) diff --git a/tasks.py b/tasks.py index b2970675c..32d22f475 100644 --- a/tasks.py +++ b/tasks.py @@ -84,13 +84,10 @@ def write_file(full_path: Path, content: str) -> None: docs_api_ref_dir = TOP_DIR / "docs/api_reference" unwanted_subdirs = ("__pycache__",) + unwanted_files = ("__init__.py",) pages_template = 'title: "{name}"\ncollapse_single_pages: false\n' md_template = "# {name}\n\n::: {py_path}\n" - models_template = ( - md_template - + f"{' ' * 4}rendering:\n{' ' * 6}show_if_no_docstring: true\n" - ) if docs_api_ref_dir.exists() and pre_clean: shutil.rmtree(docs_api_ref_dir, ignore_errors=True) @@ -130,12 +127,13 @@ def write_file(full_path: Path, content: str) -> None: # Create markdown files for filename in filenames: - if re.match(r".*\.py$", filename) is None or filename in ( - "__init__.py", - "run.py", + if ( + re.match(r".*\.py$", filename) is None + or filename in unwanted_files ): # Not a Python file: We don't care about it! - # Or filename is `__init__.py`: We don't want it! + # Or filename is in the tuple of unwanted files: + # We don't want it! continue basename = filename[: -len(".py")] @@ -146,12 +144,12 @@ def write_file(full_path: Path, content: str) -> None: ) md_filename = filename.replace(".py", ".md") - # For models we want to include EVERYTHING, even if it doesn't - # have a doc-string - template = ( - models_template - if str(relpath) == "models" else md_template - ) + # For emmopy.emmocheck we want to exclude base clases + template = md_template + if str(relpath) == "emmopy" and basename == "emmocheck": + template += ( + f"{' ' * 4}rendering:\n{' ' * 6}show_bases: false\n" + ) write_file( full_path=docs_sub_dir / md_filename,