iolanta 1.2.0__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. {iolanta-1.2.0 → iolanta-1.2.2}/PKG-INFO +3 -2
  2. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_nanopublication/nanopublication_widget.py +16 -1
  3. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/iolanta.py +1 -0
  4. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/namespaces.py +1 -0
  5. {iolanta-1.2.0 → iolanta-1.2.2}/pyproject.toml +3 -3
  6. {iolanta-1.2.0 → iolanta-1.2.2}/README.md +0 -0
  7. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/__init__.py +0 -0
  8. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/base_plugin.py +0 -0
  9. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/__init__.py +0 -0
  10. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/formatters/__init__.py +0 -0
  11. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/formatters/choose.py +0 -0
  12. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/formatters/csv.py +0 -0
  13. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/formatters/json.py +0 -0
  14. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/formatters/pretty.py +0 -0
  15. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/main.py +0 -0
  16. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/models.py +0 -0
  17. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cli/pretty_print.py +0 -0
  18. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/context.py +0 -0
  19. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/conversions.py +0 -0
  20. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cyberspace/__init__.py +0 -0
  21. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cyberspace/inference/wikibase-claim.sparql +0 -0
  22. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cyberspace/inference/wikibase-statement-property.sparql +0 -0
  23. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/cyberspace/processor.py +0 -0
  24. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/cli.yaml +0 -0
  25. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/context.yaml +0 -0
  26. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/foaf-meta.yaml +0 -0
  27. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/html.yaml +0 -0
  28. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/iolanta.yaml +0 -0
  29. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/ontologies-meta.yaml +0 -0
  30. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/data/textual-browser.yaml +0 -0
  31. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/ensure_is_context.py +0 -0
  32. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/entry_points.py +0 -0
  33. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/errors.py +0 -0
  34. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/__init__.py +0 -0
  35. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/cli/__init__.py +0 -0
  36. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/cli/base.py +0 -0
  37. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/cli/default.py +0 -0
  38. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/cli/record.py +0 -0
  39. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/cli/sparql/link.sparql +0 -0
  40. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/cli/sparql/record.sparql +0 -0
  41. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/errors.py +0 -0
  42. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/facet.py +0 -0
  43. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/foaf_person_title/__init__.py +0 -0
  44. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/foaf_person_title/facet.py +0 -0
  45. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/foaf_person_title/sparql/names.sparql +0 -0
  46. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/generic/__init__.py +0 -0
  47. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/generic/bool_literal.py +0 -0
  48. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/generic/date_literal.py +0 -0
  49. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/generic/default.py +0 -0
  50. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/generic/sparql/default.sparql +0 -0
  51. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/html/__init__.py +0 -0
  52. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/html/base.py +0 -0
  53. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/html/code_literal.py +0 -0
  54. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/html/default.py +0 -0
  55. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/icon.py +0 -0
  56. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/locator.py +0 -0
  57. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/page_title.py +0 -0
  58. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/qname.py +0 -0
  59. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/__init__.py +0 -0
  60. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/app.py +0 -0
  61. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/facet.py +0 -0
  62. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/history.py +0 -0
  63. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/home.py +0 -0
  64. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/location.py +0 -0
  65. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/models.py +0 -0
  66. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/page.py +0 -0
  67. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_browser/page_switcher.py +0 -0
  68. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_class/__init__.py +0 -0
  69. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_class/facets.py +0 -0
  70. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_class/sparql/instances.sparql +0 -0
  71. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/__init__.py +0 -0
  72. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/facets.py +0 -0
  73. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/sparql/inverse-properties.sparql +0 -0
  74. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/sparql/label.sparql +0 -0
  75. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/sparql/nodes-for-property.sparql +0 -0
  76. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/sparql/properties.sparql +0 -0
  77. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/tcss/default.tcss +0 -0
  78. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/templates/default.md +0 -0
  79. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/triple_uri_ref.py +0 -0
  80. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_default/widgets.py +0 -0
  81. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_graph/__init__.py +0 -0
  82. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_graph/facets.py +0 -0
  83. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_graph/sparql/triples.sparql +0 -0
  84. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_graph_triples.py +0 -0
  85. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_link/__init__.py +0 -0
  86. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_link/facet.py +0 -0
  87. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_nanopublication/__init__.py +0 -0
  88. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_nanopublication/facet.py +0 -0
  89. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_nanopublication/models.py +0 -0
  90. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_nanopublication/term_list_widget.py +0 -0
  91. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_nanopublication/term_widget.py +0 -0
  92. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_ontology/__init__.py +0 -0
  93. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_ontology/facets.py +0 -0
  94. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_ontology/sparql/terms.sparql +0 -0
  95. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_ontology/sparql/visualization-vocab.sparql +0 -0
  96. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_provenance/__init__.py +0 -0
  97. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_provenance/facets.py +0 -0
  98. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_provenance/sparql/graphs.sparql +0 -0
  99. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/textual_provenance/sparql/triples.sparql +0 -0
  100. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/title/__init__.py +0 -0
  101. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/title/facets.py +0 -0
  102. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/title/sparql/title.sparql +0 -0
  103. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/wikibase_statement_title/__init__.py +0 -0
  104. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/wikibase_statement_title/facets.py +0 -0
  105. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/facets/wikibase_statement_title/sparql/statement-title.sparql +0 -0
  106. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/__init__.py +0 -0
  107. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/base.py +0 -0
  108. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/data_type_choice.py +0 -0
  109. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/dict_loader.py +0 -0
  110. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/errors.py +0 -0
  111. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/http.py +0 -0
  112. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/local_directory.py +0 -0
  113. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/local_file.py +0 -0
  114. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/loaders/scheme_choice.py +0 -0
  115. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/models.py +0 -0
  116. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/node_to_qname.py +0 -0
  117. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parse_quads.py +0 -0
  118. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/__init__.py +0 -0
  119. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/base.py +0 -0
  120. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/dict_parser.py +0 -0
  121. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/errors.py +0 -0
  122. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/json.py +0 -0
  123. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/markdown.py +0 -0
  124. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/parsers/yaml.py +0 -0
  125. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/plugin.py +0 -0
  126. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/reformat_blank_nodes.py +0 -0
  127. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/resolvers/__init__.py +0 -0
  128. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/resolvers/base.py +0 -0
  129. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/resolvers/python_import.py +0 -0
  130. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/shortcuts.py +0 -0
  131. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/stack.py +0 -0
  132. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/widgets/__init__.py +0 -0
  133. {iolanta-1.2.0 → iolanta-1.2.2}/iolanta/widgets/mixin.py +0 -0
  134. {iolanta-1.2.0 → iolanta-1.2.2}/ldflex/__init__.py +0 -0
  135. {iolanta-1.2.0 → iolanta-1.2.2}/ldflex/ldflex.py +0 -0
@@ -1,15 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: iolanta
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: Semantic Web browser
5
5
  License: MIT
6
6
  Author: Anatoly Scherbakov
7
7
  Author-email: altaisoft@gmail.com
8
- Requires-Python: >=3.10,<3.12
8
+ Requires-Python: >=3.10,<4.0
9
9
  Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
13
14
  Provides-Extra: all
14
15
  Requires-Dist: boltons (>=24.0.0)
15
16
  Requires-Dist: classes (>=0.4.0)
@@ -1,4 +1,5 @@
1
1
  import funcy
2
+ from rdflib import Literal
2
3
  from textual.containers import VerticalScroll
3
4
 
4
5
  from iolanta.facets.page_title import PageTitle
@@ -9,7 +10,7 @@ from iolanta.namespaces import DATATYPES, DCTERMS, NP
9
10
  from iolanta.widgets.mixin import IolantaWidgetMixin
10
11
 
11
12
  NANOPUBLICATION_QUERY = """
12
- SELECT ?assertion ?author ?created_time WHERE {
13
+ SELECT ?assertion ?author ?created_time ?retract WHERE {
13
14
  $uri np:hasAssertion ?assertion .
14
15
 
15
16
  OPTIONAL {
@@ -23,6 +24,14 @@ SELECT ?assertion ?author ?created_time WHERE {
23
24
  OPTIONAL {
24
25
  $uri dcterms:created ?created_time .
25
26
  }
27
+
28
+ OPTIONAL {
29
+ GRAPH ?retracting_assertion {
30
+ ?retractor <https://purl.org/nanopub/x/retracts> $uri .
31
+ }
32
+
33
+ ?retract np:hasAssertion ?retracting_assertion .
34
+ }
26
35
  }
27
36
  """
28
37
 
@@ -66,5 +75,11 @@ class NanopublicationScreen(IolantaWidgetMixin, VerticalScroll):
66
75
  TermWidget(row['created_time']),
67
76
  )
68
77
 
78
+ if retract := row.get('retract'):
79
+ provenance.extend([
80
+ TermWidget(Literal('Retracted by'), background_color='darkred'),
81
+ TermWidget(retract, background_color='darkred'),
82
+ ])
83
+
69
84
  if provenance:
70
85
  yield TermList(provenance)
@@ -257,6 +257,7 @@ class Iolanta: # noqa: WPS214
257
257
  self.graph.bind(prefix='vann', namespace=namespaces.VANN)
258
258
  self.graph.bind(prefix='np', namespace=namespaces.NP)
259
259
  self.graph.bind(prefix='dcterms', namespace=namespaces.DCTERMS)
260
+ self.graph.bind(prefix='rdfg', namespace=namespaces.RDFG)
260
261
 
261
262
  @property
262
263
  def query(self):
@@ -5,6 +5,7 @@ IOLANTA = rdflib.Namespace('https://iolanta.tech/')
5
5
  DATATYPES = rdflib.Namespace('https://iolanta.tech/datatypes/')
6
6
  PYTHON = rdflib.Namespace('python://')
7
7
  NP = rdflib.Namespace('https://www.nanopub.org/nschema#')
8
+ RDFG = rdflib.Namespace('https://www.w3.org/2004/03/trix/rdfg-1/')
8
9
  SDO = rdflib.SDO
9
10
 
10
11
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "iolanta"
3
- version = "1.2.0"
3
+ version = "1.2.2"
4
4
  description = "Semantic Web browser"
5
5
  authors = ["Anatoly Scherbakov <altaisoft@gmail.com>"]
6
6
  license = "MIT"
@@ -12,7 +12,7 @@ packages = [
12
12
  ]
13
13
 
14
14
  [tool.poetry.dependencies]
15
- python = ">=3.10,<3.12"
15
+ python = ">=3.10,<4.0"
16
16
  rdflib = "<8.0"
17
17
  python-frontmatter = ">=0.5.0"
18
18
  requests = ">=2.25.1"
@@ -51,7 +51,7 @@ mkdocs-blogging-plugin = ">=2.2.11"
51
51
  mkdocstrings-python = ">=1.8.0"
52
52
  textual-dev = ">=1.5.1"
53
53
  ipython = "^8.28.0"
54
- mkdocs-iolanta = ">=0.1.16"
54
+ mkdocs-iolanta = { version = ">=0.1.16", markers = "python_version < '3.12'" }
55
55
  mkdocs-glightbox = "^0.4.0"
56
56
 
57
57
  [tool.poetry.extras]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes