IP Library Granted Patent US 12,461,920
Granted Patent B2
US 12,461,920 · App. 18/243,854 · Granted Nov 4, 2025

System and method for creating a filtering protocol-compliant uniform resource locator

Inventors: Scott David Shaw (Stockley, GB); Jack Llewellyn Cockerell (Kemble, GB)
Assignee: Hexagon Technology Center GmbH
G06F16/24573G06F16/2445
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,461,920
App. No.
18/243,854
Granted
Nov 4, 2025
Kind
B2
Abstract

A graphical user interface is configured to guide a user through a method of creating a RESTful API protocol-compliant URL, without requiring that the user be familiar with syntax of the RESTful API protocol. The graphical user interface includes a URL output that indicates to the user features within a user-edited URL that render the user-edited URL non-compliant with the RESTful API protocol. The graphical user interface includes a set of graphical input devices to solicit and receive from the user input specifying a set of query options, which user input is used to define the RESTful API protocol-compliant URL. The graphical user interface is automatically customized to solicit and receive from the user input only for options available from a specific data service.

Claims (84)

1 . A method of creating a uniform resource locator that complies with a RESTful API protocol (a “protocol-compliant” URL) at a computer remote from a data service, the method comprising:

obtaining, from a metadata source, metadata describing source data available from the data service;

customizing a graphical user interface (“GUI”) by populating a set of graphical input devices within the GUI with information specified by the metadata, such that the GUI is configured to solicit and receive user input specifying a set of query options to request, from the data service, data available from the data service, wherein the set of graphical input devices comprises a set of filter input devices including:

(i) a first property input device configured to receive from a user specification of a first property of the source data;

(ii) a first value input device corresponding to the first property input device and configured to receive from the user specification of a first value; and

(iii) a first operator input device corresponding to the first property input device and its corresponding first value input device and configured to receive from the user specification of a first operator to apply to the user input received, respectively, by the first property input device and the first value input device, the first property of the source data and the first value and the first operator defining a first filter;

receiving user input via the graphical user interface; and

generating the protocol-compliant uniform resource locator by application of a set of rules to the user input, the protocol-compliant uniform resource locator including the first filter configured to solicit from the data service a subset of the source data selected in accordance with the first value of the first property defined by the operator.

2 . The method of claim 1 , wherein the first operator comprises an EQUALS function, such that the filter is configured to generate a protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data, said subset having the value of the first property defined by the operator.

3 . The method of claim 1 , wherein the first operator comprises a NOT EQUALS function, such that the filter is configured to generate a protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data, said subset having a value of the property that is not equal to the first property defined by the operator.

4 . The method of claim 1 , wherein the set of filter input devices further includes:

(i) a second property input device configured to receive from a user specification of a second property of the source data;

(ii) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(iii) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device, the second property of the source data and the second value and the second operator defining a second filter;

the protocol-compliant uniform resource locator including, in addition to the first filter, the second filter configured to generate the protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data selected in accordance with the second value of the second property defined by the operator.

5 . The method of claim 1 , wherein the set of filter input devices further includes:

(iv) a second property input device configured to receive from a user specification of a second property of the source data;

(v) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(vi) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device; and

(vii) a conjunction input device configured to receive from the user specification of a conjunction operator specifying a functional relationship between the first filter and the second filter.

6 . The method of claim 1 , wherein the set of filter input devices further includes:

(iv) a second property input device configured to receive from a user specification of a second property of the source data;

(v) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(vi) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device; and

(vii) a conjunction input device configured to receive from the user specification of a conjunction operator specifying a functional relationship between the first filter and the second filter, the conjunction operator selected from one of:

(a) an AND function, such that the protocol-compliant uniform resource locator is configured to solicit from the data service a subset of the source data selected, which subset is described by both the first filter and the second filter; and

(b) an OR function, such that the protocol-compliant uniform resource locator is configured to solicit from the data service a subset of the source data selected, which subset is described by either of the first filter or the second filter, or is described by both the first filter and the second filter.

7 . The method of claim 1 , wherein the graphical user interface further comprises a URL output device configured to display a protocol-compliant URL that generated based on user input received by the graphical user interface.

8 . A computer-implemented system for creating a uniform resource locator that complies with a RESTful API protocol, said uniform resource locator being a “protocol-compliant” URL, for requesting source data from a data service, the system comprising:

a communications interface configured to obtain, from a metadata source, metadata describing source data available from the data service;

a graphical user interface driver configured to customize a graphical user interface (“GUI”) by populating a set of graphical input devices within the GUI with information specified by the metadata, such that the GUI is configured to solicit and receive user input specifying a set of query options to request, from the data service, data available from the data service, wherein the set of graphical input devices comprises a set of filter input devices including:

(i) a first property input device configured to receive from a user specification of a first property of the source data;

(ii) a first value input device corresponding to the property input device and configured to receive from the user specification of a first value; and

(iii) a first operator input device corresponding to the first property input device and its corresponding first value input device and configured to receive from the user specification of a first operator to apply to the user input received, respectively, by the first property input device and the first value input device, the first property of the source data and the first value and the first operator defining a first filter;

a protocol-compliant URL generator configured:

to receive user input comprising receipt of user input via the set of filter input devices; and

to apply a set of rules to the user input to produce, from said user input, a protocol-compliant URL.

9 . The system of claim 8 , wherein the first operator comprises an EQUALS function, such that the filter is configured to generate a protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data, said subset having the value of the first property defined by the operator.

10 . The system of claim 8 , wherein the first operator comprises a NOT EQUALS function, such that the filter is configured to generate a protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data, said subset having a value of the property that is not equal to the first property defined by the operator.

11 . The system of claim 8 , wherein the set of filter input devices further includes:

(i) a second property input device configured to receive from a user specification of a second property of the source data;

(ii) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(iii) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device, the second property of the source data and the second value and the second operator defining a second filter;

the protocol-compliant uniform resource locator including, in addition to the first filter, the second filter configured to generate the protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data selected in accordance with the second value of the second property defined by the operator.

12 . The system of claim 8 , wherein the set of filter input devices further includes:

(iv) a second property input device configured to receive from a user specification of a second property of the source data;

(v) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(vi) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device; and

(vii) a conjunction input device configured to receive from the user specification of a conjunction operator specifying a functional relationship between the first filter and the second filter.

13 . The system of claim 8 , wherein the set of filter input devices further includes:

(iv) a second property input device configured to receive from a user specification of a second property of the source data;

(v) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(vi) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device; and

(vii) a conjunction input device configured to receive from the user specification of a conjunction operator specifying a functional relationship between a first filter and the second filter, the conjunction operator selected from one of:

(a) an AND function, such that the protocol-compliant uniform resource locator is configured to solicit from the data service a subset of the source data selected, which subset is described by both the first filter and the second filter; and

(b) an OR function, such that the protocol-compliant uniform resource locator is configured to solicit from the data service a subset of the source data selected, which subset is described by either of the first filter or the second filter, or is described by both the first filter and the second filter.

14 . The system of claim 8 , wherein the graphical user interface further comprises a URL output device configured to display a protocol-compliant URL that generated based on user input received by the graphical user interface.

15 . A non-transitory computer-readable medium having computer code thereon, the computer code configured to be executed by a computer, the computer code causing the computer to execute a method comprising:

obtaining, from a metadata source, metadata describing source data available from the data service;

customizing a graphical user interface (“GUI”) by populating a set of graphical input devices within the GUI with information specified by the metadata, such that the GUI is configured to solicit and receive user input specifying a set of query options to request, from the data service, data available from the data service, wherein the set of graphical input devices comprises a set of filter input devices including:

(i) a first property input device configured to receive from a user specification of a first property of the source data;

(ii) a first value input device corresponding to the property input device and configured to receive from the user specification of a first value; and

(iii) a first operator input device corresponding to the first property input device and its corresponding first value input device and configured to receive from the user specification of an operator to apply to the user input received, respectively, by the first property input device and the first value input device, the first property of the source data and the first value and the first operator defining a first filter;

receiving user input via the graphical user interface; and

generating the protocol-compliant uniform resource locator by application of a set of rules to the user input, the protocol-compliant uniform resource locator including the first filter configured to solicit from the data service a subset of the source data selected in accordance with the first value of the first property defined by the operator.

16 . The non-transitory computer-readable medium of claim 15 , wherein the first operator comprises an EQUALS function, such that the filter is configured to generate a protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data, said subset having the value of the first property defined by the operator.

17 . The non-transitory computer-readable medium of claim 15 , wherein the first operator comprises a NOT EQUALS function, such that the filter is configured to generate a protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data, said subset having a value of the property that is not equal to the first property defined by the operator.

18 . The non-transitory computer-readable medium of claim 15 , wherein the set of filter input devices further includes:

(i) a second property input device configured to receive from a user specification of a second property of the source data;

(ii) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(iii) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device, the second property of the source data and the second value and the second operator defining a second filter;

the protocol-compliant uniform resource locator including, in addition to the first filter, the second filter configured to generate the protocol-compliant uniform resource locator configured to solicit from the data service a subset of the source data selected in accordance with the second value of the second property defined by the operator.

19 . The non-transitory computer-readable medium of claim 15 , wherein the set of filter input devices further includes:

(iv) a second property input device configured to receive from a user specification of a second property of the source data;

(v) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(vi) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device; and

(vii) a conjunction input device configured to receive from the user specification of a conjunction operator specifying a functional relationship between a first filter and the second filter.

20 . The non-transitory computer-readable medium of claim 15 , wherein the set of filter input devices further includes:

(iv) a second property input device configured to receive from a user specification of a second property of the source data;

(v) a second value input device corresponding to the second property input device and configured to receive from the user specification of a second value; and

(vi) a second operator input device corresponding to the second property input device and its corresponding second value input device and configured to receive from the user specification of a second operator to apply to the user input received, respectively, by the second property input device and the second value input device; and

(vii) a conjunction input device configured to receive from the user specification of a conjunction operator specifying a functional relationship between a first filter and the second filter, the conjunction operator selected from one of:

(a) an AND function, such that the protocol-compliant uniform resource locator is configured to solicit from the data service a subset of the source data selected, which subset is described by both the first filter and the second filter; and

(b) an OR function, such that the protocol-compliant uniform resource locator is configured to solicit from the data service a subset of the source data selected, which subset is described by either of the first filter or the second filter, or is described by both the first filter and the second filter.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2023
From: SHAW, SCOTT DAVID; COCKERELL, JACK LLEWELLYN
To: HEXAGON TECHNOLOGY CENTER GMBH
Reel/Frame 064954/0948 →
Continuity (5)
Continuation In Part 18225412 · Jul 24, 2023
Continuation In Part 18143809 · May 5, 2023
Continuation In Part 18096815 · Jan 13, 2023
Continuation In Part 17691877 · Mar 10, 2022
Related Publication 20230418828A1 · Dec 28, 2023
References Cited (26)
US 7519688B2 · Behrens · 2009 [cited by examiner]
US 8429189B1 · Spielberg et al. · 2013 [cited by applicant]
US 10990516B1 · Merritt · 2021 [cited by examiner]
US 11157882B1 · Liu · 2021 [cited by examiner]
US 11182695B1 · Kirsche · 2021 [cited by examiner]
US 11244244B1 · Delgado · 2022 [cited by examiner]
US 11570230B1 · Shaw · 2023 [cited by examiner]
US 11995296B2 · Shaw · 2024 [cited by examiner]
US 20060155529A1 · Ludviksson et al. · 2006 [cited by applicant]
US 20070245039A1 · Dahneke · 2007 [cited by examiner]
US 20100235469A1 · Morris · 2010 [cited by applicant]
US 20140250377A1 · Bisca et al. · 2014 [cited by applicant]
US 20140372956A1 · Bisca et al. · 2014 [cited by applicant]
US 20150294377A1 · Chow · 2015 [cited by applicant]
US 20160253708A1 · Mody et al. · 2016 [cited by applicant]
US 20170012920A1 · Chheda et al. · 2017 [cited by applicant]
US 20170021356A1 · Dority et al. · 2017 [cited by applicant]
US 20170094017A1 · Jakobs · 2017 [cited by applicant]
US 20170155736A1 · Schukovets et al. · 2017 [cited by applicant]
US 20170364346A1 · Peng et al. · 2017 [cited by applicant]
US 20180107525A1 · Govindaraju et al. · 2018 [cited by applicant]
US 20180217818A1 · Douglas et al. · 2018 [cited by applicant]
US 20190028360A1 · Douglas et al. · 2019 [cited by applicant]
US 20200293680A1 · Navarro-Dimm et al. · 2020 [cited by applicant]
Author Unknown—Oasis Committee Note “What's New in Odata,” Version 4.01, dated Sep. 26, 2019, 488 pages. [cited by applicant]
Author Unknown—PragmatiQa XOData: “Overview with an Example,” doc version 1.3, 12 pages, undated. [cited by applicant]