From d19c6516e6f7c24834da48f4a1a0dc0c3df9f893 Mon Sep 17 00:00:00 2001 From: Jonathan Yu <4723726+jyucsiro@users.noreply.github.com> Date: Tue, 21 Nov 2017 05:41:42 +1100 Subject: [PATCH] refactoring to test alternative prefix declaration style --- lib/bald/__init__.py | 23 ++++++++----------- .../integration/CDL/ProcessChain0300.cdl | 8 +++---- .../tests/integration/CDL/array_alias.cdl | 4 ++-- lib/bald/tests/integration/CDL/array_geo.cdl | 10 ++++---- .../integration/CDL/array_multitypes.cdl | 10 ++++---- .../tests/integration/CDL/array_reference.cdl | 4 ++-- .../integration/CDL/ereefs_gbr4_ncld.cdl | 4 ++-- .../integration/CDL/multi_array_reference.cdl | 6 ++--- 8 files changed, 32 insertions(+), 37 deletions(-) diff --git a/lib/bald/__init__.py b/lib/bald/__init__.py index 1a87816..be773c2 100644 --- a/lib/bald/__init__.py +++ b/lib/bald/__init__.py @@ -261,7 +261,7 @@ def __init__(self, identity, attrs=None, prefixes=None, aliases=None): if aliases is None: aliases = {} self.attrs = attrs - + self.rdf__type = self._rdftype self.aliases = aliases @@ -305,12 +305,11 @@ def __getattr__(self, attr): def prefixes(self): prefixes = {} for key, value in self._prefixes.items(): - if key.endswith('__') and self._http_uri_prefix.match(value): - pref = key.rstrip('__') - if pref in prefixes: + if self._http_uri_prefix.match(value): + if key in prefixes: raise ValueError('This container has conflicting prefix' ' definitions.') - prefixes[pref] = value + prefixes[key] = value return prefixes def unpack_uri(self, astring): @@ -443,7 +442,7 @@ def rdfgraph(self): graph.bind('bald', 'http://binary-array-ld.net/latest/') for prefix_name in self._prefixes: #strip the double underscore suffix - new_name = prefix_name[:-2] + new_name = prefix_name graph.bind(new_name, self._prefixes[prefix_name]) graph = self.rdfnode(graph) @@ -559,17 +558,13 @@ def load_netcdf(afilepath, baseuri=None): prefix in prefix_var.ncattrs()])) if isinstance(prefix_var, netCDF4._netCDF4.Variable): skipped_variables.append(prefix_var.name) - else: - for k in fhandle.ncattrs(): - if k.endswith('__'): - prefixes[k] = getattr(fhandle, k) # check that default set is handled, i.e. bald__ and rdf__ - if 'bald__' not in prefixes: - prefixes['bald__'] = "http://binary-array-ld.net/latest/" + if 'bald' not in prefixes: + prefixes['bald'] = "http://binary-array-ld.net/latest/" - if 'rdf__' not in prefixes: - prefixes['rdf__'] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" + if 'rdf' not in prefixes: + prefixes['rdf'] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" alias_var_name = None if hasattr(fhandle, 'bald__isAliasedBy'): diff --git a/lib/bald/tests/integration/CDL/ProcessChain0300.cdl b/lib/bald/tests/integration/CDL/ProcessChain0300.cdl index 3a48686..00aa254 100644 --- a/lib/bald/tests/integration/CDL/ProcessChain0300.cdl +++ b/lib/bald/tests/integration/CDL/ProcessChain0300.cdl @@ -18,10 +18,10 @@ int step2 ; group: prefix_list { // group attributes: - :DA__ = "https://codes.nws.noaa.gov/DataAssimilation" ; - :NWP__ = "https://codes.nws.noaa.gov/NumericalWeatherPrediction" ; - :StatPP__ = "https://codes.nws.noaa.gov/StatisticalPostProcessing" ; - :bald__ = "http://binary-array-ld.net/latest/" ; + :DA = "https://codes.nws.noaa.gov/DataAssimilation" ; + :NWP = "https://codes.nws.noaa.gov/NumericalWeatherPrediction" ; + :StatPP = "https://codes.nws.noaa.gov/StatisticalPostProcessing" ; + :bald = "http://binary-array-ld.net/latest/" ; } // group bald__prefix_list } diff --git a/lib/bald/tests/integration/CDL/array_alias.cdl b/lib/bald/tests/integration/CDL/array_alias.cdl index 2576188..11336d4 100644 --- a/lib/bald/tests/integration/CDL/array_alias.cdl +++ b/lib/bald/tests/integration/CDL/array_alias.cdl @@ -9,8 +9,8 @@ variables: parent_variable:submursible_name = "Nautilus" ; int prefix_list ; - prefix_list:bald__ = "http://binary-array-ld.net/latest/" ; - prefix_list:rdf__ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; + prefix_list:bald = "http://binary-array-ld.net/latest/" ; + prefix_list:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; int alias_list ; alias_list:SDN_ParameterDiscoveryCode = "http://vocab.nerc.ac.uk/isoCodelists/sdnCodelists/cdicsrCodeList.xml#SDN_ParameterDiscoveryCode" ; diff --git a/lib/bald/tests/integration/CDL/array_geo.cdl b/lib/bald/tests/integration/CDL/array_geo.cdl index 19e872d..09139d9 100644 --- a/lib/bald/tests/integration/CDL/array_geo.cdl +++ b/lib/bald/tests/integration/CDL/array_geo.cdl @@ -4,11 +4,11 @@ dimensions: pdim1 = 17 ; variables: int prefix_list ; - prefix_list:bald__ = "http://binary-array-ld.net/latest/" ; - prefix_list:rdf__ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; - prefix_list:rdfs__ = "http://www.w3.org/2000/01/rdf-schema#" ; - prefix_list:cf__ = "http://def.scitools.org.uk/CFTerms/" ; - prefix_list:geo__ = "http://www.opengis.net/ont/geosparql#" ; + prefix_list:bald = "http://binary-array-ld.net/latest/" ; + prefix_list:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; + prefix_list:rdfs = "http://www.w3.org/2000/01/rdf-schema#" ; + prefix_list:cf = "http://def.scitools.org.uk/CFTerms/" ; + prefix_list:geo = "http://www.opengis.net/ont/geosparql#" ; int temp(pdim0, pdim1) ; temp:cf__standard_name = "air_temperature" ; diff --git a/lib/bald/tests/integration/CDL/array_multitypes.cdl b/lib/bald/tests/integration/CDL/array_multitypes.cdl index cd296b0..3da0686 100644 --- a/lib/bald/tests/integration/CDL/array_multitypes.cdl +++ b/lib/bald/tests/integration/CDL/array_multitypes.cdl @@ -4,11 +4,11 @@ dimensions: pdim1 = 17 ; variables: int prefix_list ; - prefix_list:bald__ = "http://binary-array-ld.net/latest/" ; - prefix_list:rdf__ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; - prefix_list:rdfs__ = "http://www.w3.org/2000/01/rdf-schema#" ; - prefix_list:cf__ = "http://def.scitools.org.uk/CFTerms/" ; - prefix_list:geo__ = "http://www.opengis.net/ont/geosparql#" ; + prefix_list:bald = "http://binary-array-ld.net/latest/" ; + prefix_list:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; + prefix_list:rdfs = "http://www.w3.org/2000/01/rdf-schema#" ; + prefix_list:cf = "http://def.scitools.org.uk/CFTerms/" ; + prefix_list:geo = "http://www.opengis.net/ont/geosparql#" ; int temp(pdim0, pdim1) ; temp:cf__standard_name = "air_temperature" ; diff --git a/lib/bald/tests/integration/CDL/array_reference.cdl b/lib/bald/tests/integration/CDL/array_reference.cdl index 3c2b072..8e78dbe 100644 --- a/lib/bald/tests/integration/CDL/array_reference.cdl +++ b/lib/bald/tests/integration/CDL/array_reference.cdl @@ -10,8 +10,8 @@ variables: child_variable:rdf__type = "bald__Reference" ; child_variable:bald__array = "child_variable" ; int prefix_list ; - prefix_list:bald__ = "http://binary-array-ld.net/latest/" ; - prefix_list:rdf__ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; + prefix_list:bald = "http://binary-array-ld.net/latest/" ; + prefix_list:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; // global attributes: :_NCProperties = "version=1|netcdflibversion=4.4.1|hdf5libversion=1.8.17" ; diff --git a/lib/bald/tests/integration/CDL/ereefs_gbr4_ncld.cdl b/lib/bald/tests/integration/CDL/ereefs_gbr4_ncld.cdl index a4fd20f..3f05f01 100644 --- a/lib/bald/tests/integration/CDL/ereefs_gbr4_ncld.cdl +++ b/lib/bald/tests/integration/CDL/ereefs_gbr4_ncld.cdl @@ -130,8 +130,8 @@ variables: group: prefix_list { // group attributes: - :bald__ = "http://binary-array-ld.net/latest/" ; - :rdf__ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; + :bald = "http://binary-array-ld.net/latest/" ; + :rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; } // group bald__prefix_list group: alias_list { diff --git a/lib/bald/tests/integration/CDL/multi_array_reference.cdl b/lib/bald/tests/integration/CDL/multi_array_reference.cdl index fe4241e..d3c3cf2 100644 --- a/lib/bald/tests/integration/CDL/multi_array_reference.cdl +++ b/lib/bald/tests/integration/CDL/multi_array_reference.cdl @@ -4,9 +4,9 @@ dimensions: pdim1 = 17 ; variables: int prefix_list(pdim0, pdim1) ; - prefix_list:bald__ = "http://binary-array-ld.net/latest/" ; - prefix_list:metce__ = "http://codes.wmo.int/common/observation-type/METCE/2013/" ; - prefix_list:rdf__ = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; + prefix_list:bald = "http://binary-array-ld.net/latest/" ; + prefix_list:metce = "http://codes.wmo.int/common/observation-type/METCE/2013/" ; + prefix_list:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" ; int variable1(pdim0, pdim1) ; variable1:bald__references = "location_variable" ;