Кодування фільтра
Огляд
Міжнародний стандарт кодування фільтрів дозволяє нейтральному до системи кодуванню XML та KVP виражати пропозиції проекту, вибору та сортування, які спільно називаються пошуковим виразом (або фільтром). Кодування фільтрів дозволяє обробляти просторові та непросторові аспекти пошуку та обмежує записи, знайдені в результаті пошуку.

Цей змішаний стандарт OGC та ISO був розроблений для роботи з Web Geographic Feature Service (WFS), але підходить для широкого спектру служб, які потребують можливості виражати предикати в XML. Предикат мовою XML є аналогом твердження "IF-THEN": якщо предикат має значення TRUE, тоді вибирається об'єкт; якщо предикат FALSE, він виключається. Присудок надає розробникам метод сортування або фільтрації об’єктів, знайдених в результаті пошуку.
Багато веб-служб вимагають здатності розпізнавати функції фільтрації XML. Цей стандарт визначає такий механізм кодування фільтра, який веб-служби можуть використовувати для вибору підмножини екземплярів об’єктів, таких як веб-служба географічних об’єктів (WFS), служба веб-покриття (WCS) та дескриптор стилізованих шарів (SLD). Наприклад, веб-служба географічних об’єктів (WFS) може використовувати кодування фільтрів в операції GetFeature щоб вказати обмеження пошуку.
Стандартний
Пов’язана інформація
Примітка
Кодування фільтрів - це міжнародний стандарт, спільно розроблений Відкритим геопросторовим консорціумом (OGC) та Міжнародною організацією зі стандартизації (ISO/TC 211) та опублікований відповідно до ISO 19143, Географічна інформація - Кодування фільтрів *.
Додаткова інформація - Кодування фільтра
Хоча оригінальний стандарт кодування OpenGIS® Filter Fod (FES) був частиною Служби веб-географічних функцій (WFS), було вирішено, що зміст цієї специфікації повинен бути предметом окремого документа. Кодування фільтрів можна використовувати для широкого спектру служб, які потребують можливості виражати предикати в XML, включаючи Службу географічних об'єктів Web (WFS), Службу веб-карт (WMS), Веб-покриття (WCS), Служби газети та Веб-реєстри (Web Каталогічні послуги (CSW)).
Цей документ дає детальний опис міжнародного стандарту для кодування фільтрів. Однак розробник, який бажає використовувати кодування фільтрів, повинен отримати технічну інформацію щодо стандарту кодування фільтрів OpenGIS® (FES).
Фільтри кодування для отримання підмножин пошуку
Пошук - це фундаментальна операція, що виконується над набором даних або ресурсів, спрямованих на отримання підмножини екземплярів даних, що містять певну шукану інформацію, що відповідає критеріям пошуку. Цей міжнародний стандарт визначає кодування XML та KVP, що використовуються для пошуку та виразів фільтрів.
Пошук та фільтрування виразів
Міжнародний стандарт, спільно розроблений OGC та ISO, вважається нейтральним до систем. Використовуючи багато доступних сьогодні інструментів XML, легко перевірити, проаналізувати та перетворити пропозиції проекції, відбору та сортування, закодовані в XML, на будь-яку цільову мову пошуку, щоб отримати або змінити їх. Ресурси, що зберігаються у сховищі, доступному в Інтернеті . Ці елементи, які спільно називають пошуковим виразом, є модульними; інші стандарти, що стосуються стандарту OGC та ISO, використовують їх разом або окремо.
A пошуковий вираз це дія, яка виконує пошук у певних наборах ресурсів і повертає підмножину цих ресурсів. Вираз пошуку має на меті обмежити значення властивостей типу об’єкта, щоб знайти підмножину екземплярів об’єкта, яка буде предметом певної обробки.
A підсумковий пошуковий вираз може використовуватися для присвоєння визначеного користувачем ідентифікатора пошуковому виразу для обробки помилок або для співвіднесення відповіді в серії пошукових запитів. Ще одним основним типом пошукової фрази є „точковий вираз пошуку, тобто пошук невідомий, поки не буде виконаний, на відміну від збереженого запиту, наприклад. Вираз точкового пошуку містить ім'я одного або декількох типів ресурсів для пошуку, необов’язковий пункт проекції, що перераховує властивості, які повинен мати ресурс, необов’язковий пункт виділення, який обмежує властивості цих типів ресурсів для того, щоб визначити набір результатів та додатковий пункт сортування, який визначає порядок подання набору результатів.
Стандарт кодування фільтру визначає кодування XML або KVP пошукових виразів. Наприклад, підмножина географічних об’єктів може бути призначена для відображення у певному кольорі або перетворення їх у заданий користувачем формат.
Кожен екземпляр даних, включений у набір джерел, обчислюється за допомогою виразу пошуку. Предикати пошукового виразу завжди оцінюють, чи є умова істинною чи хибною. Якщо вираз відповідає умові TRUE, екземпляр даних, який відповідає виразу, позначений для включення в результат. Якщо пошуковий вираз призводить до умови FALSE, екземпляр даних, що відповідає виразу, виключається з результату. Таким чином, оцінка пошукового виразу дає набір даних або ідентифікаторів ресурсів, які поважають предикати виразу.
Послуга, яка вимагає можливості пошуку об’єктів, що містяться у веб-сховищі, може використовувати кодування XML пошукового виразу, описаного у міжнародному стандарті. Наприклад, кодований XML пошук, що складається із пропозицій проектування, виділення та сортування, може бути перетворений в оператор SQL “ВИБЕРИТЬ… ВІД… ДЕ… ЗАМОВИТИ…” для отримання даних, що зберігаються в реляційній базі даних SQL. Подібним чином, той самий вираз пошуку, кодований XML, може так само легко трансформуватися у вираз XQuery для отримання даних із сховища документів XML.
Кодування предикатів у мовах XML та KVP
Міжнародний стандарт визначає кодування XML для таких предикатів:
в. єдиний набір логічних предикатів: і, або і ні;
b. рівномірний набір порівняльних предикатів: рівний, не рівний, менший, менший або рівний, більший, більший або рівний, як, дорівнює нулю та між ними;
проти рівномірний набір просторових предикатів: рівний, несумісний, ключі, всередині, перекриває, перетинає, перетинає, містить, у межах певної відстані, за певну відстань та BBOX;
d. рівномірний набір тимчасових предикатів: після, до, починається, починається, містить, протягом, закінчується, дорівнює, зустрічається, зустрічається, перекривається і перекривається;
e. предикат, щоб перевірити, чи відповідає ідентифікатор об’єкта певному значенню.
Кілька параметрів кодування KVP предикатів мають форму списків значень, а можливо, списків списків значень. Для отримання додаткової інформації див. Стандарт кодування фільтра OGC®.
Проекційне застереження
A речення про проекцію кодує список необов’язкових властивостей ресурсу, які повинні бути доступними у відповіді на пошук. У випадку пошуку XML, специфікації, що враховують пропозицію проектування виразу пошуку точки, визначають конкретний елемент, похідний від fes: AbstractAdhocProjectionClause. У разі пошуку мовою KVP ключове слово PROPERTYNAME використовується для кодування пропозиції проекції. Ім'я властивості має бути дійсним іменем елемента XML або атрибута і може бути кваліфіковане за допомогою префіксу простору імен.
Просте властивість може називатися його назвою. Однак, оскільки об'єкти можуть також включати складні або агреговані негеометричні властивості, кодування фільтра розпізнає механізм посилання на ці властивості. Підмножина виразів Xpath служить у цьому сенсі для підтримки агрегованих відносних шляхів. Фільтри кодування не є необхідними для розпізнавання всієї мови Xpath і допомагають мінімізувати витрати на введення реалізації. Для отримання детальної інформації про необхідність відповідності виразів XPath зверніться до стандарту кодування OGC® Filter.
Застереження про фільтрацію або вибір
A пункт про фільтрацію, або a пункт про відбір, описує кодування одного або декількох предикатів, які зазвичай використовуються в операціях пошуку, щоб вказати метод фільтрації екземплярів даних у наборі джерел для отримання набору результатів. Ви можете використовувати такі типи виділення:
- порівняльні оператори оцінити математичне порівняння двох аргументів. Якщо аргументи відповідають вимогам порівняння, вираз має значення TRUE; в іншому випадку вираз FALSE.
- космічні оператори визначити, чи відповідають геометричні аргументи зазначеному просторовому зв'язку. Якщо аргументи відповідають вимогам просторового зв'язку, вираз має значення TRUE; в іншому випадку вираз FALSE.
- оператори часу визначити, чи відповідають тимчасові аргументи зазначеному тимчасовому зв'язку. Якщо аргументи відповідають вимогам часового зв'язку, вираз має значення TRUE; в іншому випадку вираз FALSE.
- логічні оператори поєднувати один або кілька умовних виразів. Логічний оператор І оцінює, чи всі вирази відповідають вимогам умови. Оператор АБО оцінює, чи відповідає один із виразів вимогам умови. Оператор NOT змінює логічне значення виразу.
- ідентифікатори об’єктів представляють окремий ідентифікаційний код, присвоєний екземпляру ресурсу в контексті веб-служби, що пропонує ресурс.
Веб-служба, яка розпізнає кодування фільтрів, повинна опублікувати підтримувані функції фільтра у своєму документі метаданих функцій. Функції фільтра діляться на п'ять категорій:
Веб-служба повинна вказувати інших операторів, доданих до синтаксису фільтру, у розділі розширених функцій документа метаданих своїх функцій фільтра.
Застереження про сортування
Термін речення про сортування є необов’язковою частиною пошуку служби, включеної до нормативного набору файлів схеми фільтрування. Цей елемент визначає ім'я властивостей, значення яких використовуються для сортування або упорядкування всіх ресурсів, що відповідають виразу фільтра, перед їх поданням. Він діє як точка входу для виклику механізму сортування процесора виразу фільтра. Міжнародний стандарт не визначає механізм сортування; єдина вимога полягає в тому, що послідовність сортування повинна бути узгодженою для одного і того ж набору даних та одного і того ж запиту сортування для всіх викликів сортування.
Відповідність
Кілька випадків використання вимагають повного впровадження міжнародного стандарту. Як результат, постачальники послуг можуть визначати вимоги лише з тієї підмножини, яка необхідна для їхніх потреб. Або розробники можуть задокументувати підмножину міжнародного стандарту, який вони запровадили та дотримуються. Ці категорії відповідності допомагають визначити підмножини залежно від операцій та поведінки, які вимагає реалізувати служба кодування фільтра, відповідно до таблиці 1 нижче.
Таблиця 1 - Категорії відповідності кодуванню фільтрів
Інші стандарти, що застосовують міжнародний стандарт кодування фільтрів, повинні вказувати вміст фільтру "мінімум", оголошуючи мінімальний набір категорій відповідності з таблиці 1, який повинен бути впроваджений.