1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6#include "nsIRDFDataSource.idl"
7
8/**
9 * An nsIRDFInferDataSource is implemented by a infer engine. This
10 * engine mimics assertions in addition to those in the baseDataSource
11 * according to a particular vocabulary.
12 * Infer engines have contract IDs in the form of
13 * "@mozilla.org/rdf/infer-datasource;1?engine="
14 */
15
16[scriptable, uuid(2b04860f-4017-40f6-8a57-784a1e35077a)]
17interface nsIRDFInferDataSource : nsIRDFDataSource {
18    /**
19     *
20     * The wrapped datasource.
21     *
22     * The InferDataSource contains all arcs from the wrapped
23     * datasource plus those infered by the vocabulary implemented
24     * by the InferDataSource.
25     */
26    attribute nsIRDFDataSource baseDataSource;
27};
28
29