diff --git a/Px.Search.Lucene/LuceneIndex.cs b/Px.Search.Lucene/LuceneIndex.cs index 7a72fed4..b9750ca8 100644 --- a/Px.Search.Lucene/LuceneIndex.cs +++ b/Px.Search.Lucene/LuceneIndex.cs @@ -209,6 +209,7 @@ private Document GetDocument(TableInformation tbl, PXMeta meta) doc.Add(new TextField(SearchConstants.SEARCH_FIELD_TAGS, GetAllTags(tbl.Tags), Field.Store.YES)); doc.Add(new TextField(SearchConstants.SEARCH_FIELD_SOURCE, tbl.Source, Field.Store.YES)); doc.Add(new TextField(SearchConstants.SEARCH_FIELD_TIME_UNIT, tbl.TimeUnit, Field.Store.YES)); + doc.Add(new TextField(SearchConstants.SEARCH_SUBJECT_CODE, tbl.SubjectCode, Field.Store.YES)); doc.Add(new StoredField(SearchConstants.SEARCH_FIELD_PATHS, GetBytes(tbl.Paths))); if (!string.IsNullOrEmpty(meta.Synonyms)) { diff --git a/Px.Search.Lucene/LuceneSearcher.cs b/Px.Search.Lucene/LuceneSearcher.cs index 215aa0b3..d8336c4c 100644 --- a/Px.Search.Lucene/LuceneSearcher.cs +++ b/Px.Search.Lucene/LuceneSearcher.cs @@ -145,7 +145,8 @@ private static SearchResult GetSearchResult(Document doc) doc.Get(SearchConstants.SEARCH_FIELD_LASTPERIOD), doc.Get(SearchConstants.SEARCH_FIELD_VARIABLES).Split("|"), doc.Get(SearchConstants.SEARCH_FIELD_SOURCE), - doc.Get(SearchConstants.SEARCH_FIELD_TIME_UNIT) + doc.Get(SearchConstants.SEARCH_FIELD_TIME_UNIT), + doc.Get(SearchConstants.SEARCH_SUBJECT_CODE) ); searchResult.Description = doc.Get(SearchConstants.SEARCH_FIELD_DESCRIPTION); diff --git a/Px.Search.Lucene/SearchConstants.cs b/Px.Search.Lucene/SearchConstants.cs index 1532e456..40f56c6f 100644 --- a/Px.Search.Lucene/SearchConstants.cs +++ b/Px.Search.Lucene/SearchConstants.cs @@ -27,5 +27,6 @@ public class SearchConstants public const string SEARCH_FIELD_SOURCE = "source"; public const string SEARCH_FIELD_TIME_UNIT = "timeunit"; public const string SEARCH_FIELD_PATHS = "paths"; + public const string SEARCH_SUBJECT_CODE = "subjectcode"; } } diff --git a/Px.Search/Indexer.cs b/Px.Search/Indexer.cs index 9c0c0915..0095e24d 100644 --- a/Px.Search/Indexer.cs +++ b/Px.Search/Indexer.cs @@ -276,6 +276,7 @@ private TableInformation GetTableInformation(string id, TableLink tblLink, PXMet tbl.SortCode = tblLink.SortCode; tbl.Updated = tblLink.LastUpdated; tbl.Discontinued = null; // TODO: Implement later + tbl.SubjectCode = meta.SubjectCode ?? string.Empty; return tbl; } diff --git a/Px.Search/SearchResult.cs b/Px.Search/SearchResult.cs index 059f9589..0f5a1a07 100644 --- a/Px.Search/SearchResult.cs +++ b/Px.Search/SearchResult.cs @@ -5,11 +5,12 @@ /// public class SearchResult : TableInformation { - public SearchResult(string id, string label, string category, string firstPeriod, string lastPeriod, string[] variableNames, string source, string timeUnit) + public SearchResult(string id, string label, string category, string firstPeriod, string lastPeriod, string[] variableNames, string source, string timeUnit, string subjectCode) : base(id, label, category, firstPeriod, lastPeriod, variableNames) { Source = source; TimeUnit = timeUnit; + SubjectCode = subjectCode; } public float Score { get; set; } diff --git a/Px.Search/TableInformation.cs b/Px.Search/TableInformation.cs index 17da91f3..7e8ef623 100644 --- a/Px.Search/TableInformation.cs +++ b/Px.Search/TableInformation.cs @@ -30,5 +30,6 @@ public TableInformation(string id, string label, string category, string firstPe public List Paths { get; set; } public string Source { get; set; } public string TimeUnit { get; set; } + public string SubjectCode { get; set; } = string.Empty; } } diff --git a/PxWeb/Mappers/TableResponseMapper.cs b/PxWeb/Mappers/TableResponseMapper.cs index 11a78579..4d63a89f 100644 --- a/PxWeb/Mappers/TableResponseMapper.cs +++ b/PxWeb/Mappers/TableResponseMapper.cs @@ -52,7 +52,8 @@ public TableResponse Map(SearchResult searchResult, string lang) VariableNames = searchResult.VariableNames.ToList(), Links = linkList, Language = lang, - SortCode = searchResult.SortCode ?? string.Empty + SortCode = searchResult.SortCode ?? string.Empty, + SubjectCode = searchResult.SubjectCode ?? string.Empty }; return tableResponse; diff --git a/PxWeb/Mappers/TablesResponseMapper.cs b/PxWeb/Mappers/TablesResponseMapper.cs index 38299cc4..44f7f533 100644 --- a/PxWeb/Mappers/TablesResponseMapper.cs +++ b/PxWeb/Mappers/TablesResponseMapper.cs @@ -89,7 +89,8 @@ public TablesResponse Map(SearchResultContainer searchResultContainer, string la Category = EnumConverter.ToCategoryEnum(item.Category), Discontinued = item.Discontinued, VariableNames = item.VariableNames.ToList(), - Links = linkList + Links = linkList, + SubjectCode = item.SubjectCode ?? string.Empty, }; tableList.Add(tb); } diff --git a/PxWeb/PxWeb.csproj b/PxWeb/PxWeb.csproj index 75686a76..62ccf39f 100644 --- a/PxWeb/PxWeb.csproj +++ b/PxWeb/PxWeb.csproj @@ -49,7 +49,7 @@ - + diff --git a/PxWeb/wwwroot/Database/_INDEX/en/_8.cfe b/PxWeb/wwwroot/Database/_INDEX/en/_8.cfe deleted file mode 100644 index 6e3085b7..00000000 Binary files a/PxWeb/wwwroot/Database/_INDEX/en/_8.cfe and /dev/null differ diff --git a/PxWeb/wwwroot/Database/_INDEX/en/_a.cfe b/PxWeb/wwwroot/Database/_INDEX/en/_a.cfe new file mode 100644 index 00000000..3bc22f18 Binary files /dev/null and b/PxWeb/wwwroot/Database/_INDEX/en/_a.cfe differ diff --git a/PxWeb/wwwroot/Database/_INDEX/en/_8.cfs b/PxWeb/wwwroot/Database/_INDEX/en/_a.cfs similarity index 75% rename from PxWeb/wwwroot/Database/_INDEX/en/_8.cfs rename to PxWeb/wwwroot/Database/_INDEX/en/_a.cfs index 4791a1fe..d2882f09 100644 Binary files a/PxWeb/wwwroot/Database/_INDEX/en/_8.cfs and b/PxWeb/wwwroot/Database/_INDEX/en/_a.cfs differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/_8.si b/PxWeb/wwwroot/Database/_INDEX/en/_a.si similarity index 51% rename from PxWeb/wwwroot/Database/_INDEX/sv/_8.si rename to PxWeb/wwwroot/Database/_INDEX/en/_a.si index 7e26381d..27053264 100644 Binary files a/PxWeb/wwwroot/Database/_INDEX/sv/_8.si and b/PxWeb/wwwroot/Database/_INDEX/en/_a.si differ diff --git a/PxWeb/wwwroot/Database/_INDEX/en/segments.gen b/PxWeb/wwwroot/Database/_INDEX/en/segments.gen index 077a451a..aa62711b 100644 Binary files a/PxWeb/wwwroot/Database/_INDEX/en/segments.gen and b/PxWeb/wwwroot/Database/_INDEX/en/segments.gen differ diff --git a/PxWeb/wwwroot/Database/_INDEX/en/segments_9 b/PxWeb/wwwroot/Database/_INDEX/en/segments_9 deleted file mode 100644 index 77284b2d..00000000 Binary files a/PxWeb/wwwroot/Database/_INDEX/en/segments_9 and /dev/null differ diff --git a/PxWeb/wwwroot/Database/_INDEX/en/segments_b b/PxWeb/wwwroot/Database/_INDEX/en/segments_b new file mode 100644 index 00000000..adfcb5fc Binary files /dev/null and b/PxWeb/wwwroot/Database/_INDEX/en/segments_b differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/_8.cfe b/PxWeb/wwwroot/Database/_INDEX/sv/_8.cfe deleted file mode 100644 index af8ef498..00000000 Binary files a/PxWeb/wwwroot/Database/_INDEX/sv/_8.cfe and /dev/null differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/_a.cfe b/PxWeb/wwwroot/Database/_INDEX/sv/_a.cfe new file mode 100644 index 00000000..dd9a0dbd Binary files /dev/null and b/PxWeb/wwwroot/Database/_INDEX/sv/_a.cfe differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/_8.cfs b/PxWeb/wwwroot/Database/_INDEX/sv/_a.cfs similarity index 79% rename from PxWeb/wwwroot/Database/_INDEX/sv/_8.cfs rename to PxWeb/wwwroot/Database/_INDEX/sv/_a.cfs index 94586944..718be487 100644 Binary files a/PxWeb/wwwroot/Database/_INDEX/sv/_8.cfs and b/PxWeb/wwwroot/Database/_INDEX/sv/_a.cfs differ diff --git a/PxWeb/wwwroot/Database/_INDEX/en/_8.si b/PxWeb/wwwroot/Database/_INDEX/sv/_a.si similarity index 51% rename from PxWeb/wwwroot/Database/_INDEX/en/_8.si rename to PxWeb/wwwroot/Database/_INDEX/sv/_a.si index 7e26381d..27053264 100644 Binary files a/PxWeb/wwwroot/Database/_INDEX/en/_8.si and b/PxWeb/wwwroot/Database/_INDEX/sv/_a.si differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/segments.gen b/PxWeb/wwwroot/Database/_INDEX/sv/segments.gen index 077a451a..aa62711b 100644 Binary files a/PxWeb/wwwroot/Database/_INDEX/sv/segments.gen and b/PxWeb/wwwroot/Database/_INDEX/sv/segments.gen differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/segments_9 b/PxWeb/wwwroot/Database/_INDEX/sv/segments_9 deleted file mode 100644 index 77284b2d..00000000 Binary files a/PxWeb/wwwroot/Database/_INDEX/sv/segments_9 and /dev/null differ diff --git a/PxWeb/wwwroot/Database/_INDEX/sv/segments_b b/PxWeb/wwwroot/Database/_INDEX/sv/segments_b new file mode 100644 index 00000000..adfcb5fc Binary files /dev/null and b/PxWeb/wwwroot/Database/_INDEX/sv/segments_b differ diff --git a/PxWebApi_Mvc.Tests/ExpectedJson/ListAllTables.json b/PxWebApi_Mvc.Tests/ExpectedJson/ListAllTables.json index 07bc5ed9..b60d94a7 100644 --- a/PxWebApi_Mvc.Tests/ExpectedJson/ListAllTables.json +++ b/PxWebApi_Mvc.Tests/ExpectedJson/ListAllTables.json @@ -1,257 +1,234 @@ { - "language": "en", - "tables": [ + "language": "en", + "tables": [ + { + "type": "Table", + "id": "TAB004", + "label": "Total air emissions by sector, greenhouse gas, contents and year", + "description": "", + "updated": "2023-05-25T13:42:00Z", + "firstPeriod": "1990", + "lastPeriod": "2017", + "category": "public", + "variableNames": [ "sector", "greenhouse gas", "contents", "year" ], + "source": "Statistics Sweden", + "subjectCode": "EN", + "timeUnit": "Annual", + "paths": [ + [ + { + "id": "EN", + "label": "Environment" + }, + { + "id": "EN02", + "label": "Miscellaneous" + } + ] + ], + "links": [ { - "type": "Table", - "id": "TAB004", - "label": "Total air emissions by sector, greenhouse gas, contents and year", - "description": "", - "updated": "2023-05-25T13:42:00Z", - "firstPeriod": "1990", - "lastPeriod": "2017", - "category": "public", - "variableNames": [ - "sector", - "greenhouse gas", - "contents", - "year" - ], - "source": "Statistics Sweden", - "timeUnit": "Annual", - "paths": [ - [ - { - "id": "EN", - "label": "Environment" - }, - { - "id": "EN02", - "label": "Miscellaneous" - } - ] - ], - "links": [ - { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB004?lang=en" - }, - { - "rel": "metadata", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB004/metadata?lang=en" - }, - { - "rel": "data", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB004/data?lang=en&outputFormat=px" - } - ] + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB004?lang=en" }, { - "type": "Table", - "id": "TAB005", - "label": "Land use in Sweden, hectares by region, land use, contents and year", - "description": "", - "updated": "2023-08-31T13:42:00Z", - "firstPeriod": "2010", - "lastPeriod": "2015", - "category": "public", - "variableNames": [ - "region", - "land use", - "contents", - "year" - ], - "source": "Statistics Sweden", - "timeUnit": "Annual", - "paths": [ - [ - { - "id": "EN", - "label": "Environment" - }, - { - "id": "EN02", - "label": "Miscellaneous" - } - ] - ], - "links": [ - { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB005?lang=en" - }, - { - "rel": "metadata", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB005/metadata?lang=en" - }, - { - "rel": "data", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB005/data?lang=en&outputFormat=px" - } - ] + "rel": "metadata", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB004/metadata?lang=en" }, { - "type": "Table", - "id": "TAB003", - "label": "Disposal facilities by treatment category, waste category, contents and year", - "description": "", - "updated": "2023-05-25T14:13:00Z", - "firstPeriod": "2010", - "lastPeriod": "2016", - "category": "public", - "variableNames": [ - "treatment category", - "waste category", - "contents", - "year" - ], - "source": "Statistics Sweden", - "timeUnit": "Annual", - "paths": [ - [ - { - "id": "EN", - "label": "Environment" - }, - { - "id": "EN01", - "label": "Waste" - } - ] - ], - "links": [ - { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB003?lang=en" - }, - { - "rel": "metadata", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB003/metadata?lang=en" - }, - { - "rel": "data", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB003/data?lang=en&outputFormat=px" - } - ] + "rel": "data", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB004/data?lang=en&outputFormat=px" + } + ] + }, + { + "type": "Table", + "id": "TAB005", + "label": "Land use in Sweden, hectares by region, land use, contents and year", + "description": "", + "updated": "2023-08-31T13:42:00Z", + "firstPeriod": "2010", + "lastPeriod": "2015", + "category": "public", + "variableNames": [ "region", "land use", "contents", "year" ], + "source": "Statistics Sweden", + "subjectCode": "EN", + "timeUnit": "Annual", + "paths": [ + [ + { + "id": "EN", + "label": "Environment" + }, + { + "id": "EN02", + "label": "Miscellaneous" + } + ] + ], + "links": [ + { + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB005?lang=en" }, { - "type": "Table", - "id": "TAB001", - "label": "Population by region, sex, age, contents and year", - "description": "", - "updated": "2023-05-25T13:42:00Z", - "firstPeriod": "1981", - "lastPeriod": "2001", - "category": "public", - "variableNames": [ - "region", - "sex", - "age", - "contents", - "year" - ], - "source": "Eurostat", - "timeUnit": "Annual", - "paths": [ - [ - { - "id": "PO", - "label": "Population" - }, - { - "id": "PO01", - "label": "Population census" - } - ] - ], - "links": [ - { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB001?lang=en" - }, - { - "rel": "metadata", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB001/metadata?lang=en" - }, - { - "rel": "data", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB001/data?lang=en&outputFormat=px" - } - ] + "rel": "metadata", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB005/metadata?lang=en" }, { - "type": "Table", - "id": "TAB002", - "label": "Population by region, sex, age, citizenship, contents and year", - "description": "", - "updated": "2023-05-25T13:42:00Z", - "firstPeriod": "1991", - "lastPeriod": "2001", - "category": "public", - "variableNames": [ - "region", - "sex", - "age", - "citizenship", - "contents", - "year" - ], - "source": "Eurostat", - "timeUnit": "Annual", - "paths": [ - [ - { - "id": "PO", - "label": "Population" - }, - { - "id": "PO01", - "label": "Population census" - } - ] - ], - "links": [ - { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB002?lang=en" - }, - { - "rel": "metadata", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB002/metadata?lang=en" - }, - { - "rel": "data", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB002/data?lang=en&outputFormat=px" - } - ] + "rel": "data", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB005/data?lang=en&outputFormat=px" } - ], - "page": { - "pageNumber": 1, - "pageSize": 20, - "totalElements": 5, - "totalPages": 1, - "links": [] + ] }, - "links": [ + { + "type": "Table", + "id": "TAB003", + "label": "Disposal facilities by treatment category, waste category, contents and year", + "description": "", + "updated": "2023-05-25T14:13:00Z", + "firstPeriod": "2010", + "lastPeriod": "2016", + "category": "public", + "variableNames": [ "treatment category", "waste category", "contents", "year" ], + "source": "Statistics Sweden", + "subjectCode": "EN", + "timeUnit": "Annual", + "paths": [ + [ + { + "id": "EN", + "label": "Environment" + }, + { + "id": "EN01", + "label": "Waste" + } + ] + ], + "links": [ + { + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB003?lang=en" + }, + { + "rel": "metadata", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB003/metadata?lang=en" + }, + { + "rel": "data", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB003/data?lang=en&outputFormat=px" + } + ] + }, + { + "type": "Table", + "id": "TAB001", + "label": "Population by region, sex, age, contents and year", + "description": "", + "updated": "2023-05-25T13:42:00Z", + "firstPeriod": "1981", + "lastPeriod": "2001", + "category": "public", + "variableNames": [ "region", "sex", "age", "contents", "year" ], + "source": "Eurostat", + "subjectCode": "PO", + "timeUnit": "Annual", + "paths": [ + [ + { + "id": "PO", + "label": "Population" + }, + { + "id": "PO01", + "label": "Population census" + } + ] + ], + "links": [ + { + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB001?lang=en" + }, + { + "rel": "metadata", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB001/metadata?lang=en" + }, + { + "rel": "data", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB001/data?lang=en&outputFormat=px" + } + ] + }, + { + "type": "Table", + "id": "TAB002", + "label": "Population by region, sex, age, citizenship, contents and year", + "description": "", + "updated": "2023-05-25T13:42:00Z", + "firstPeriod": "1991", + "lastPeriod": "2001", + "category": "public", + "variableNames": [ "region", "sex", "age", "citizenship", "contents", "year" ], + "source": "Eurostat", + "subjectCode": "PO", + "timeUnit": "Annual", + "paths": [ + [ + { + "id": "PO", + "label": "Population" + }, + { + "id": "PO01", + "label": "Population census" + } + ] + ], + "links": [ + { + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB002?lang=en" + }, + { + "rel": "metadata", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB002/metadata?lang=en" + }, { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/?lang=en&pagesize=20&pageNumber=1" + "rel": "data", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB002/data?lang=en&outputFormat=px" } - ] + ] + } + ], + "page": { + "pageNumber": 1, + "pageSize": 20, + "totalElements": 5, + "totalPages": 1, + "links": [] + }, + "links": [ + { + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/?lang=en&pagesize=20&pageNumber=1" + } + ] } \ No newline at end of file diff --git a/PxWebApi_Mvc.Tests/ExpectedJson/TableById_tab004.json b/PxWebApi_Mvc.Tests/ExpectedJson/TableById_tab004.json index 70857abb..e20835ff 100644 --- a/PxWebApi_Mvc.Tests/ExpectedJson/TableById_tab004.json +++ b/PxWebApi_Mvc.Tests/ExpectedJson/TableById_tab004.json @@ -1,49 +1,45 @@ { - "type": "Table", - "id": "TAB004", - "label": "Total air emissions by sector, greenhouse gas, contents and year", - "description": "", - "sortCode": "TAB004", - "updated": "2023-05-25T13:42:00Z", - "firstPeriod": "1990", - "lastPeriod": "2017", - "category": "public", - "variableNames": [ - "sector", - "greenhouse gas", - "contents", - "year" - ], - "source": "Statistics Sweden", - "timeUnit": "Annual", - "paths": [ - [ - { - "id": "EN", - "label": "Environment" - }, - { - "id": "EN02", - "label": "Miscellaneous" - } - ] - ], - "links": [ - { - "rel": "self", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB004?lang=en" - }, - { - "rel": "metadata", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB004/metadata?lang=en" - }, - { - "rel": "data", - "hreflang": "en", - "href": "https://www.pxapi.com/api/v2/tables/TAB004/data?lang=en&outputFormat=px" - } - ], - "language": "en" + "type": "Table", + "id": "TAB004", + "label": "Total air emissions by sector, greenhouse gas, contents and year", + "description": "", + "sortCode": "TAB004", + "updated": "2023-05-25T13:42:00Z", + "firstPeriod": "1990", + "lastPeriod": "2017", + "category": "public", + "variableNames": [ "sector", "greenhouse gas", "contents", "year" ], + "source": "Statistics Sweden", + "subjectCode": "EN", + "timeUnit": "Annual", + "paths": [ + [ + { + "id": "EN", + "label": "Environment" + }, + { + "id": "EN02", + "label": "Miscellaneous" + } + ] + ], + "links": [ + { + "rel": "self", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB004?lang=en" + }, + { + "rel": "metadata", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB004/metadata?lang=en" + }, + { + "rel": "data", + "hreflang": "en", + "href": "https://www.pxapi.com/api/v2/tables/TAB004/data?lang=en&outputFormat=px" + } + ], + "language": "en" } \ No newline at end of file