iolanta 1.2.6__tar.gz → 1.2.7__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.
- {iolanta-1.2.6 → iolanta-1.2.7}/PKG-INFO +1 -1
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/main.py +29 -4
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cyberspace/processor.py +7 -24
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/iolanta.py +2 -41
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parse_quads.py +15 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/pyproject.toml +1 -1
- {iolanta-1.2.6 → iolanta-1.2.7}/README.md +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/base_plugin.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/formatters/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/formatters/choose.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/formatters/csv.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/formatters/json.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/formatters/pretty.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/models.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cli/pretty_print.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/context.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/conversions.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cyberspace/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cyberspace/inference/wikibase-claim.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cyberspace/inference/wikibase-statement-property.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/cli.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/context.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/foaf-meta.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/html.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/iolanta.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/ontologies-meta.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/data/textual-browser.yaml +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/ensure_is_context.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/entry_points.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/errors.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/cli/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/cli/base.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/cli/default.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/cli/record.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/cli/sparql/link.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/cli/sparql/record.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/errors.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/facet.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/foaf_person_title/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/foaf_person_title/facet.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/foaf_person_title/sparql/names.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/generic/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/generic/bool_literal.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/generic/date_literal.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/generic/default.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/generic/sparql/default.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/html/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/html/base.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/html/code_literal.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/html/default.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/icon.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/locator.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/page_title.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/qname.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/app.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/facet.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/history.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/home.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/location.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/models.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/page.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_browser/page_switcher.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_class/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_class/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_class/sparql/instances.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/sparql/inverse-properties.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/sparql/label.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/sparql/nodes-for-property.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/sparql/properties.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/tcss/default.tcss +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/templates/default.md +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/triple_uri_ref.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/widgets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_graph/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_graph/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_graph/sparql/triples.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_graph_triples.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_link/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_link/facet.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/facet.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/models.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/nanopublication_widget.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/term_list_widget.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/term_widget.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_ontology/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_ontology/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_ontology/sparql/terms.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_ontology/sparql/visualization-vocab.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_provenance/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_provenance/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_provenance/sparql/graphs.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_provenance/sparql/triples.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/title/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/title/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/title/sparql/title.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/wikibase_statement_title/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/wikibase_statement_title/facets.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/wikibase_statement_title/sparql/statement-title.sparql +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/base.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/data_type_choice.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/dict_loader.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/errors.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/http.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/local_directory.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/local_file.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/loaders/scheme_choice.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/models.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/namespaces.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/node_to_qname.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/base.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/dict_parser.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/errors.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/json.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/markdown.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/parsers/yaml.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/plugin.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/reformat_blank_nodes.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/resolvers/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/resolvers/base.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/resolvers/python_import.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/shortcuts.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/stack.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/widgets/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/iolanta/widgets/mixin.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/ldflex/__init__.py +0 -0
- {iolanta-1.2.6 → iolanta-1.2.7}/ldflex/ldflex.py +0 -0
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import locale
|
|
2
2
|
import logging
|
|
3
|
+
from pathlib import Path
|
|
3
4
|
from typing import Annotated
|
|
4
5
|
|
|
5
6
|
import loguru
|
|
6
7
|
import platformdirs
|
|
7
8
|
from documented import DocumentedError
|
|
8
|
-
from rdflib import Literal
|
|
9
|
+
from rdflib import Literal, URIRef
|
|
9
10
|
from rich.console import Console
|
|
10
11
|
from rich.markdown import Markdown
|
|
11
12
|
from typer import Argument, Exit, Option, Typer
|
|
13
|
+
from yarl import URL
|
|
12
14
|
|
|
13
15
|
from iolanta.cli.models import LogLevel
|
|
14
16
|
from iolanta.iolanta import Iolanta
|
|
17
|
+
from iolanta.models import NotLiteralNode
|
|
15
18
|
|
|
16
19
|
DEFAULT_LANGUAGE = locale.getlocale()[0].split('_')[0]
|
|
17
20
|
|
|
@@ -38,8 +41,24 @@ def construct_app() -> Typer:
|
|
|
38
41
|
app = construct_app()
|
|
39
42
|
|
|
40
43
|
|
|
44
|
+
def string_to_node(name: str) -> NotLiteralNode:
|
|
45
|
+
"""
|
|
46
|
+
Parse a string into a node identifier.
|
|
47
|
+
|
|
48
|
+
String might be:
|
|
49
|
+
* a URL,
|
|
50
|
+
* or a local disk path.
|
|
51
|
+
"""
|
|
52
|
+
url = URL(name)
|
|
53
|
+
if url.scheme:
|
|
54
|
+
return URIRef(name)
|
|
55
|
+
|
|
56
|
+
path = Path(name).absolute()
|
|
57
|
+
return URIRef(f'file://{path}')
|
|
58
|
+
|
|
59
|
+
|
|
41
60
|
@app.command(name='browse')
|
|
42
|
-
def render_command( # noqa: WPS231, WPS238
|
|
61
|
+
def render_command( # noqa: WPS231, WPS238, WPS210, C901
|
|
43
62
|
url: Annotated[str, Argument()],
|
|
44
63
|
as_datatype: Annotated[
|
|
45
64
|
str, Option(
|
|
@@ -79,12 +98,18 @@ def render_command( # noqa: WPS231, WPS238
|
|
|
79
98
|
logger=logger,
|
|
80
99
|
)
|
|
81
100
|
|
|
82
|
-
|
|
101
|
+
node_url = URL(url)
|
|
102
|
+
if node_url.scheme:
|
|
103
|
+
node = URIRef(url)
|
|
104
|
+
else:
|
|
105
|
+
path = Path(url).absolute()
|
|
106
|
+
node = URIRef(f'file://{path}')
|
|
107
|
+
iolanta.add(path)
|
|
83
108
|
|
|
84
109
|
try:
|
|
85
110
|
renderable, stack = iolanta.render(
|
|
86
111
|
node=node,
|
|
87
|
-
as_datatype=
|
|
112
|
+
as_datatype=URIRef(as_datatype),
|
|
88
113
|
)
|
|
89
114
|
|
|
90
115
|
except DocumentedError as documented_error:
|
|
@@ -463,6 +463,8 @@ class GlobalSPARQLProcessor(Processor): # noqa: WPS338, WPS214
|
|
|
463
463
|
)
|
|
464
464
|
if existing_triple is not None:
|
|
465
465
|
return Skipped()
|
|
466
|
+
else:
|
|
467
|
+
self.logger.warning(f'Existing triples not found for {source_uri}')
|
|
466
468
|
|
|
467
469
|
# FIXME This is definitely inefficient. However, python-yaml-ld caches
|
|
468
470
|
# the document, so the performance overhead is not super high.
|
|
@@ -604,32 +606,13 @@ class GlobalSPARQLProcessor(Processor): # noqa: WPS338, WPS214
|
|
|
604
606
|
self.graph.addN(quad_tuples)
|
|
605
607
|
self.graph.last_not_inferred_source = source
|
|
606
608
|
|
|
607
|
-
|
|
608
|
-
|
|
609
|
+
into_graphs = ', '.join({
|
|
610
|
+
quad.graph
|
|
609
611
|
for quad in quads
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
itertools.chain.from_iterable(
|
|
614
|
-
[
|
|
615
|
-
(
|
|
616
|
-
source_uri,
|
|
617
|
-
IOLANTA['has-sub-graph'],
|
|
618
|
-
created_graph,
|
|
619
|
-
source_uri,
|
|
620
|
-
),
|
|
621
|
-
(
|
|
622
|
-
created_graph,
|
|
623
|
-
RDF.type,
|
|
624
|
-
IOLANTA.Graph,
|
|
625
|
-
source_uri,
|
|
626
|
-
),
|
|
627
|
-
]
|
|
628
|
-
for created_graph in created_graphs
|
|
629
|
-
),
|
|
612
|
+
})
|
|
613
|
+
self.logger.info(
|
|
614
|
+
f'{source} | loaded successfully into graphs: {into_graphs}',
|
|
630
615
|
)
|
|
631
|
-
|
|
632
|
-
self.logger.info(f'{source} | loaded successfully.')
|
|
633
616
|
return Loaded()
|
|
634
617
|
|
|
635
618
|
def resolve_term(self, term: Node, bindings: dict[str, Node]):
|
|
@@ -104,15 +104,6 @@ class Iolanta: # noqa: WPS214
|
|
|
104
104
|
init=False,
|
|
105
105
|
)
|
|
106
106
|
|
|
107
|
-
@functools.cached_property
|
|
108
|
-
def loader(self) -> Loader[SourceType]:
|
|
109
|
-
"""
|
|
110
|
-
Construct loader.
|
|
111
|
-
|
|
112
|
-
FIXME: Delete this.
|
|
113
|
-
"""
|
|
114
|
-
return construct_root_loader(logger=self.logger)
|
|
115
|
-
|
|
116
107
|
@property
|
|
117
108
|
def plugin_classes(self) -> List[Type[Plugin]]:
|
|
118
109
|
"""Installed Iolanta plugins."""
|
|
@@ -162,19 +153,14 @@ class Iolanta: # noqa: WPS214
|
|
|
162
153
|
context: Optional[LDContext] = None,
|
|
163
154
|
graph_iri: Optional[URIRef] = None,
|
|
164
155
|
) -> 'Iolanta':
|
|
165
|
-
"""
|
|
166
|
-
Parse & load information from given URL into the graph.
|
|
167
|
-
|
|
168
|
-
FIXME:
|
|
169
|
-
* Maybe implement context.json/context.yaml files support.
|
|
170
|
-
"""
|
|
156
|
+
"""Parse & load information from given URL into the graph."""
|
|
171
157
|
self.logger.info(f'Adding to graph: {source}')
|
|
172
158
|
self.sources_added_not_yet_inferred.append(source)
|
|
173
159
|
|
|
174
160
|
if not isinstance(source, Path):
|
|
175
161
|
source = Path(source)
|
|
176
162
|
|
|
177
|
-
for source_file in source.rglob('*'):
|
|
163
|
+
for source_file in list(source.rglob('*')) or [source]:
|
|
178
164
|
if source_file.is_dir():
|
|
179
165
|
continue
|
|
180
166
|
|
|
@@ -319,31 +305,6 @@ class Iolanta: # noqa: WPS214
|
|
|
319
305
|
self.bind_namespaces()
|
|
320
306
|
self.add_files_from_plugins()
|
|
321
307
|
|
|
322
|
-
def string_to_node(self, name: str | Node) -> NotLiteralNode:
|
|
323
|
-
"""
|
|
324
|
-
Parse a string into a node identifier.
|
|
325
|
-
|
|
326
|
-
String might be:
|
|
327
|
-
* a full IRI,
|
|
328
|
-
* a qname,
|
|
329
|
-
* a qname with implied `local:` part,
|
|
330
|
-
* or a blank node identifier.
|
|
331
|
-
"""
|
|
332
|
-
if isinstance(name, Node):
|
|
333
|
-
return name
|
|
334
|
-
|
|
335
|
-
if ':' in name:
|
|
336
|
-
# This is either a full IRI, a qname, or a blank node identifier.
|
|
337
|
-
try:
|
|
338
|
-
# Trying to interpret this as QName.
|
|
339
|
-
return self.graph.namespace_manager.expand_curie(name)
|
|
340
|
-
except ValueError:
|
|
341
|
-
# If it is not a QName then it is an IRI, let's return it.
|
|
342
|
-
return URIRef(name)
|
|
343
|
-
|
|
344
|
-
# This string does not include an ":", so we imply `local:`.
|
|
345
|
-
return URIRef(f'local:{name}')
|
|
346
|
-
|
|
347
308
|
def render(
|
|
348
309
|
self,
|
|
349
310
|
node: Node,
|
|
@@ -7,6 +7,7 @@ from rdflib.term import Node
|
|
|
7
7
|
|
|
8
8
|
from iolanta.errors import UnresolvedIRI
|
|
9
9
|
from iolanta.models import Quad
|
|
10
|
+
from iolanta.namespaces import IOLANTA, RDF
|
|
10
11
|
from iolanta.parsers.errors import SpaceInProperty
|
|
11
12
|
|
|
12
13
|
|
|
@@ -66,6 +67,20 @@ def parse_quads(
|
|
|
66
67
|
else:
|
|
67
68
|
graph_name = URIRef(graph_name)
|
|
68
69
|
|
|
70
|
+
yield Quad(
|
|
71
|
+
graph,
|
|
72
|
+
IOLANTA['has-sub-graph'],
|
|
73
|
+
graph_name,
|
|
74
|
+
graph,
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
yield Quad(
|
|
78
|
+
graph_name,
|
|
79
|
+
RDF.type,
|
|
80
|
+
IOLANTA.Graph,
|
|
81
|
+
IOLANTA.meta,
|
|
82
|
+
)
|
|
83
|
+
|
|
69
84
|
for quad in quads:
|
|
70
85
|
try:
|
|
71
86
|
yield Quad(
|
|
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
|
{iolanta-1.2.6 → iolanta-1.2.7}/iolanta/cyberspace/inference/wikibase-statement-property.sparql
RENAMED
|
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
|
|
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
|
{iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/sparql/inverse-properties.sparql
RENAMED
|
File without changes
|
|
File without changes
|
{iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_default/sparql/nodes-for-property.sparql
RENAMED
|
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
|
{iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_nanopublication/nanopublication_widget.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iolanta-1.2.6 → iolanta-1.2.7}/iolanta/facets/textual_ontology/sparql/visualization-vocab.sparql
RENAMED
|
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
|
|
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
|