SPARQL Alias Extension for Execution Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

SPARQL query language lacks constructs for controlling execution flow and accessing built-in functions necessary for optimizing query execution, such as timeouts and parallelism, limiting its expressiveness and compatibility with other query languages like SQL.

Innovation Solution

Extending SPARQL language syntax with overloaded aliases and prefix statements to embed additional semantics, allowing for execution control and additional predicates, which are translated into SQL statements for processing by a database system, enabling features like timeouts and parallelism without altering standard syntax compliance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SPARQL language syntax is extended with overloaded aliases and prefix statements to embed additional semantics, then execution control and query optimization features are enabled, but compatibility with standard SPARQL processors may be compromised

Engineering Contradiction:
ImproveexpressivenessVSAvoidcompatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The PREFIX statement is designed to serve dual purposes: its standard function of defining namespace abbreviations and an extended function of embedding execution control semantics through specially formatted prefix names. This multi-functionality allows the same syntax construct to operate in both standard and extended modes, enabling execution control features while maintaining compatibility with standard SPARQL processors that ignore the extended semantics.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If execution control constructs are added to SPARQL, then query optimization capabilities improve, but the language syntax becomes more complex

Engineering Contradiction:
Improvequery optimizationVSAvoidlanguage syntax
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The existing PREFIX statement construct is repurposed to serve multiple functions: standard namespace abbreviation and execution control directive. By making the prefix name itself carry semantic information through a standardized format (vendor-specific namespace followed by directive), the patent avoids adding new syntax constructs entirely, thus improving query optimization capabilities without increasing language syntax complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If overloaded aliases are used to embed execution control semantics, then additional functionality is achieved, but interpretation consistency across different processors becomes difficult

Engineering Contradiction:
ImprovefunctionalityVSAvoidinterpretation consistency
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent implements local quality by making the interpretation of PREFIX statements context-dependent. Standard SPARQL processors interpret PREFIX statements only for namespace abbreviation purposes and ignore extended semantics. Vendor-specific processors recognize the extended format and interpret the embedded directives. This localized interpretation approach allows each processor type to handle the syntax appropriately, maintaining interpretation consistency within each processor category while enabling extended functionality.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8782619B2Extending programming language semantics while maintaining standard syntax through aliasing
Publication Date: 2014.07.15 ORACLE INT CORP
  • US8782619B2 patent drawing
  • US8782619B2 patent drawing
  • US8782619B2 patent drawing

AI summary

A method is provided for allowing programmers to specify program execution control semantics using standard programming language syntax even when the standard language does not provide a language construct for specifying execution control. In a similar manner, the approach provides programmers the ability to extend the expressiveness of a language by introducing statements expressed in the syntax of a target programming language. A program written in a first programming language may be translated into statements of a second programming language, where the target programming language is more expressive than the first. This language-based approach preserves the standard syntax of the first programming language, allowing a program written with semantic extensions to be compiled and run according to the standard on any standards-compliant system.