Ephedra allows for processing hybrid queries by providing a flexible, declarative mechanism for including hybrid services into a SPARQL federation, and addresses hybrid information needs across multiple dimensions.

Variety of data sources

Virtual and materialized integration and querying of multiple data sources: graph databases, relational databases, compute services, REST APIs.

Variety of data modalities

Linking of RDF graph data with, e.g., textual, temporal or geospatial data, and support for full-text, spatial and other corresponding types of search in SPARQL queries.

Variety of processing techniques

Integration and querying of data computed by dedicated, domain-specific services, e.g., graph analytics, statistical analysis and machine learning, etc.


Ephedra is used as a hybrid query federation layer to access the data repositories and services. Hybrid information needs are captured interactively by the Ephedra engine, which allows users to define search clauses, explore partial results, and incrementally add new clauses, while the system provides relevant suggestions. These interactions generate information requests that are expressed as SPARQL 1.1 queries by the UI components and given to Ephedra to process them.

metaphactory Architecture

Ephedra Federation Engine

Transparent Processing of Hybrid Queries

With metaphactory users can express custom service requests as part of SPARQL queries. Custom services are integrated as data sources and hybrid SPARQL queries are optimized to be executed efficiently. Ephedra defines a common implementation interface, in which interactions with external services are encapsulated in an RDF4J SAIL module. In this way, a custom compute service, for example, can be registered in the repository manager as yet another SPARQL repository and referenced inside SERVICE clauses in SPARQL queries. SPARQL graph patterns specified inside such SERVICE clauses are parsed to extract input parameters for a service call, as well as the variables to bind the results returned by the service. The Ephedra SPARQL query execution strategy sends the sub-clauses of a query to corresponding data sources, gathers partial results, combines them using union and join operations, and produces result sets.

Engineering & Manufacturing

At Siemens, the Ephedra engine enables the transparent integration of the intenal knowledge graph with the dynamic data produced by the API services available in the infrastructure, and with analysis results produced by machine learning algorithms. By supporting hybrid data integration and querying, metaphactory allows for building several distinct knowledge graph applications targeting different user groups, and supports several practical end-user scenarios within the Siemens infrastructure. Examples include gas turbine diagnostics and maintenance, and building automation and Digital Twin creation.

Pharma & Life Sciences

In the pharmaceutics domain, metaphactory and the Ephedra engine allow domain experts to augment internal knowledge graphs containing, e.g., interlinked data about genes, proteins, and associated diseases, with additional relevant private or public data sources (e.g., Wikidata and Nextprot) and domain-specific services (e.g., KNIME or BLAST). They can then use full-text indices to perform custom keyword search in addition to the SPARQL structured search.

Open Data

The applications below showcase the power of the metaphactory platform and the Ephedra federation engine in the open data domain:

  • A map combining data about the population density in particular regions and the coordinates of these regions » Go to app
  • A map combining data about the entities located within a particular administrative entity and the coordinates of these entities » Go to app
  • An application that allows users to search for entities similar to a given entity, where the similarity is provided by an ML-based model » Go to app


metaphactory: A Platform for Knowledge Graph Management
By Peter Haase, Daniel Herzig, Artem Kozlov, Andriy Nikolov, Johannes Trame
Published in 2019 on Semantic Web Journal (an IOS Press Journal)
» download

Combining RDF Graph Data and Embedding Models for an Augmented Knowledge Graph
By Andriy Nikolov, Peter Haase, Daniel M. Herzig, Johannes Trame, Artem Kozlov
WWW '18 Companion: The 2018 Web Conference Companion, April 23–27, 2018, Lyon, France
» download

Ephedra: efficiently combining RDF data and services using SPARQL federation
By Andriy Nikolov, Peter Haase, Johannes Trame, Artem Kozlov
International Conference for Knowledge Engineering (KESW) 2017, Szczecin, Poland - Research Track
» download

Ephedra: SPARQL federation over RDF data and services
By Andriy Nikolov, Peter Haase, Johannes Trame, Artem Kozlov
International Semantic Web Conference (ISWC) 2017, Vienna, Austria - Posters & Demos Track
» download

Get in touch

If you have questions or would like to learn more about metaphactory and Ephedra, please get in touch with us using our contact form »