Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/AgentEntry.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/AgentEntry.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/AgentEntry.cs	(revision 1529)
@@ -0,0 +1,43 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class AgentEntry {
+    [DataMember]
+    public long Id { get; set; }
+    [DataMember]
+    public long? ParentAgentId { get; set; }
+    [DataMember]
+    public string Name { get; set; }
+    [DataMember]
+    public DateTime CreationTime { get; set; }
+    [DataMember]
+    public ProcessStatus Status { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Entity.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Entity.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Entity.cs	(revision 1529)
@@ -0,0 +1,52 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class Entity : Resource {
+
+    public Entity(string uri) {
+      this.Uri = uri;
+    }
+
+    public override string ToString() {
+      return Uri;
+    }
+
+    public override bool Equals(object obj) {
+      if(this == obj) return true;
+      Entity other = obj as Entity;
+      if(other == null) return false;
+      else return other.Uri.Equals(this.Uri);
+    }
+
+    public override int GetHashCode() {
+      return Uri.GetHashCode();
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/HeuristicLab.CEDMA.DB.Interfaces.csproj
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/HeuristicLab.CEDMA.DB.Interfaces.csproj	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/HeuristicLab.CEDMA.DB.Interfaces.csproj	(revision 1529)
@@ -0,0 +1,127 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{4F9BB789-D561-436B-B226-2BF44B7D0804}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.CEDMA.DB.Interfaces</RootNamespace>
+    <AssemblyName>HeuristicLab.CEDMA.DB.Interfaces-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x86\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
+    <OutputPath>bin\x86\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x86</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
+    <DebugSymbols>true</DebugSymbols>
+    <OutputPath>bin\x64\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <DebugType>full</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
+    <OutputPath>bin\x64\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <Optimize>true</Optimize>
+    <DebugType>pdbonly</DebugType>
+    <PlatformTarget>x64</PlatformTarget>
+    <ErrorReport>prompt</ErrorReport>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.ServiceModel">
+      <RequiredTargetFramework>3.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Variable.cs" />
+    <Compile Include="Ontology.cs" />
+    <Compile Include="SelectFilter.cs" />
+    <Compile Include="SerializedLiteral.cs" />
+    <Compile Include="Literal.cs" />
+    <Compile Include="Entity.cs" />
+    <Compile Include="Resource.cs" />
+    <Compile Include="Statement.cs" />
+    <Compile Include="IStore.cs" />
+    <Compile Include="OperatorEntry.cs" />
+    <Compile Include="HeuristicLabCedmaDbInterfacesPlugin.cs" />
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="VariableBindings.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
+      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
+      <Name>HeuristicLab.PluginInfrastructure</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/HeuristicLabCedmaDbInterfacesPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/HeuristicLabCedmaDbInterfacesPlugin.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/HeuristicLabCedmaDbInterfacesPlugin.cs	(revision 1529)
@@ -0,0 +1,32 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [ClassInfo(Name = "HeuristicLab.CEDMA.DB.Interfaces-3.3")]
+  [PluginFile(Filename = "HeuristicLab.CEDMA.DB.Interfaces-3.3.dll", Filetype = PluginFileType.Assembly)]
+  public class HeuristicLabCedmaDbInterfacesPlugin : PluginBase {
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/IDatabase.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/IDatabase.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/IDatabase.cs	(revision 1529)
@@ -0,0 +1,85 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel;
+using System.Data;
+using System.Linq.Expressions;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [ServiceContract(Namespace = "http://HeuristicLab.CEDMA.DB")]
+  public interface IDatabase {
+    [OperationContract]
+    long InsertAgent(long? parentAgentId, string name, byte[] rawData);
+
+    [OperationContract(Name = "UpdateAgentName")]
+    void UpdateAgent(long id, string name);
+
+    [OperationContract(Name = "UpdateAgentStatus")]
+    void UpdateAgent(long id, ProcessStatus status);
+
+    [OperationContract(Name = "UpdateAgentData")]
+    void UpdateAgent(long id, byte[] rawData);
+
+    [OperationContract]
+    long InsertResult(long agentId, string summary, string description, byte[] rawData);
+
+    [OperationContract]
+    long InsertSubResult(long resultId, string summary, string description, byte[] rawData);
+
+    [OperationContract]
+    long InsertOperator(string name, byte[] rawData);
+
+    [OperationContract]
+    void UpdateOperator(long id, string name, byte[] rawData);
+
+    [OperationContract]
+    void DeleteOperator(long id);
+
+    // should be replaced by more powerful querying interface (LINQ provider?)
+    [OperationContract]
+    ICollection<AgentEntry> GetAgents();
+
+    [OperationContract]
+    ICollection<AgentEntry> GetSubAgents(long parentAgentId);
+
+    [OperationContract]
+    byte[] GetAgentRawData(long id);
+
+    [OperationContract]
+    ICollection<ResultEntry> GetResults(long agentId);
+
+    [OperationContract]
+    ICollection<ResultEntry> GetSubResults(long parentResultId);
+
+    [OperationContract]
+    byte[] GetResultRawData(long id);
+
+    [OperationContract]
+    ICollection<OperatorEntry> GetOperators();
+
+    [OperationContract]
+    OperatorEntry GetOperator(long id);
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/IStore.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/IStore.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/IStore.cs	(revision 1529)
@@ -0,0 +1,42 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ServiceModel;
+using System.Data;
+using System.Linq.Expressions;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [ServiceContract(Namespace = "http://HeuristicLab.CEDMA.DB")]
+  public interface IStore {
+    [OperationContract]
+    void Add(Statement statement);
+
+    [OperationContract]
+    ICollection<VariableBindings> Query(ICollection<Statement> query, int page, int pageSize);
+
+    [OperationContract(Name="QueryN3")]
+    ICollection<VariableBindings> Query(string query, int page, int pageSize);
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Literal.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Literal.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Literal.cs	(revision 1529)
@@ -0,0 +1,50 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class Literal: Resource {
+    [DataMember]
+    public object Value { get; set; }
+
+    public Literal(object value) {
+      Value = value;
+    }
+
+    public override bool Equals(object obj) {
+      if(this == obj) return true;
+      Literal other = obj as Literal;
+      if(obj == null) return false;
+      else return other.Value.Equals(this.Value);
+    }
+
+    public override int GetHashCode() {
+      return Value.GetHashCode();
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Ontology.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Ontology.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Ontology.cs	(revision 1529)
@@ -0,0 +1,239 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  public static class Ontology {
+    public static string CedmaNameSpace {
+      get { return "http://www.heuristiclab.com/cedma/"; }
+    }
+
+    #region model attribute types
+    /// <summary>
+    /// Attribute value is ordinal, values can be sorted.
+    /// Examples are quality measures or complexity measures.
+    /// </summary>
+    public static Entity TypeOrdinalAttribute {
+      get { return new Entity(CedmaNameSpace + "TypeOrdinalAttribute"); }
+    }
+    /// <summary>
+    /// Attribute value is categorical and thus can't be sorted.
+    /// Examples is target-variable.
+    /// </summary>
+    public static Entity TypeCategoricalAttribute {
+      get { return new Entity(CedmaNameSpace + "TypeCategoricalAttribute"); }
+    }
+    /// <summary>
+    /// Attribute is a quality measure
+    /// </summary>
+    public static Entity TypeQualityAttribute {
+      get { return new Entity(CedmaNameSpace + "TypeQualityAttribute"); }
+    }
+    /// <summary>
+    /// Attribute is a complexity measure
+    /// </summary>
+    public static Entity TypeComplexityAttribute {
+      get { return new Entity(CedmaNameSpace + "TypeComplexityAttribute"); }
+    }
+    #endregion
+
+    #region meta-data predicates
+    public static Entity PredicateName {
+      get { return new Entity(CedmaNameSpace + "Name"); }
+    }
+    /// <summary>
+    /// Each entity can have a serialized XML representation that can be loaded in HL.
+    /// </summary>
+    public static Entity PredicateSerializedData {
+      get { return new Entity(CedmaNameSpace + "SerializedData"); }
+    }
+    /// <summary>
+    /// Link from data set to model.
+    /// A data set can have multiple models.
+    /// </summary>
+    public static Entity PredicateHasModel {
+      get { return new Entity(CedmaNameSpace + "Model"); }
+    }
+    /// <summary>
+    /// Link from model to algorithm.
+    /// An algorithm can generate multiple models, each model is generated by exactly one algorithm.
+    /// </summary>
+    public static Entity PredicateGeneratedBy {
+      get { return new Entity(CedmaNameSpace + "GeneratedBy"); }
+    }
+    #endregion
+
+    #region types and type relations
+    public static Entity PredicateInstanceOf {
+      get { return new Entity(CedmaNameSpace + "InstanceOf"); }
+    }
+    public static Entity TypeGeneticProgrammingFunctionTree {
+      get { return new Entity(CedmaNameSpace + "FunctionTree"); }
+    }
+    public static Entity TypeDataSet {
+      get { return new Entity(CedmaNameSpace + "DataSet"); }
+    }
+    public static Entity TypeAlgorithm {
+      get { return new Entity(CedmaNameSpace + "Algorithm"); }
+    }
+    public static Entity TypeModel {
+      get { return new Entity(CedmaNameSpace + "Model"); }
+    }
+    #endregion
+
+    #region default attributes
+    public static Entity TargetVariable {
+      get { return new Entity(CedmaNameSpace + "TargetVariable"); }
+    }
+    public static Entity AlgorithmName {
+      get { return new Entity(CedmaNameSpace + "AlgorithmName"); }
+    }
+    public static Entity TrainingMeanSquaredError {
+      get { return new Entity(CedmaNameSpace + "TrainingMeanSquaredError"); }
+    }
+    public static Entity ValidationMeanSquaredError {
+      get { return new Entity(CedmaNameSpace + "ValidationMeanSquaredError"); }
+    }
+    public static Entity TestMeanSquaredError {
+      get { return new Entity(CedmaNameSpace + "TestMeanSquaredError"); }
+    }
+    public static Entity TrainingMeanAbsolutePercentageError {
+      get { return new Entity(CedmaNameSpace + "TrainingMeanAbsolutePercentageError"); }
+    }
+    public static Entity ValidationMeanAbsolutePercentageError {
+      get { return new Entity(CedmaNameSpace + "ValidationMeanAbsolutePercentageError"); }
+    }
+    public static Entity TestMeanAbsolutePercentageError {
+      get { return new Entity(CedmaNameSpace + "TestMeanAbsolutePercentageError"); }
+    }
+    public static Entity TrainingMeanAbsolutePercentageOfRangeError {
+      get { return new Entity(CedmaNameSpace + "TrainingMeanAbsolutePercentageOfRangeError"); }
+    }
+    public static Entity ValidationMeanAbsolutePercentageOfRangeError {
+      get { return new Entity(CedmaNameSpace + "ValidationMeanAbsolutePercentageOfRangeError"); }
+    }
+    public static Entity TestMeanAbsolutePercentageOfRangeError {
+      get { return new Entity(CedmaNameSpace + "TestMeanAbsolutePercentageOfRangeError"); }
+    }
+    public static Entity TrainingCoefficientOfDetermination {
+      get { return new Entity(CedmaNameSpace + "TrainingCoefficientOfDetermination"); }
+    }
+    public static Entity ValidationCoefficientOfDetermination {
+      get { return new Entity(CedmaNameSpace + "ValidationCoefficientOfDetermination"); }
+    }
+    public static Entity TestCoefficientOfDetermination {
+      get { return new Entity(CedmaNameSpace + "TestCoefficientOfDetermination"); }
+    }
+    public static Entity TrainingAccuracy {
+      get { return new Entity(CedmaNameSpace + "TrainingAccuracy"); }
+    }
+    public static Entity ValidationAccuracy {
+      get { return new Entity(CedmaNameSpace + "ValidationAccuracy"); }
+    }
+    public static Entity TestAccuracy {
+      get { return new Entity(CedmaNameSpace + "TestAccuracy"); }
+    }
+    public static Entity TrainingTheilsInequalityCoefficient {
+      get { return new Entity(CedmaNameSpace + "TrainingTheilsInequalityCoefficient"); }
+    }
+    public static Entity ValidationTheilsInequalityCoefficient {
+      get { return new Entity(CedmaNameSpace + "ValidationTheilsInequalityCoefficient"); }
+    }
+    public static Entity TestTheilsInequalityCoefficient {
+      get { return new Entity(CedmaNameSpace + "TestTheilsInequalityCoefficient"); }
+    }
+    public static Entity TreeSize {
+      get { return new Entity(CedmaNameSpace + "TreeSize"); }
+    }
+    public static Entity TreeHeight {
+      get { return new Entity(CedmaNameSpace + "TreeHeight"); }
+    }
+    public static Entity EvaluatedSolutions {
+      get { return new Entity(CedmaNameSpace + "EvaluatedSolutions"); }
+    }
+    #endregion
+
+    public static ICollection<Statement> InitialStatements {
+      get {
+        return new List<Statement> {
+          new Statement(TargetVariable, PredicateInstanceOf, TypeCategoricalAttribute),
+          new Statement(AlgorithmName, PredicateInstanceOf, TypeCategoricalAttribute),
+          new Statement(TrainingMeanSquaredError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TrainingMeanSquaredError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(ValidationMeanSquaredError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(ValidationMeanSquaredError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TestMeanSquaredError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TestMeanSquaredError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TrainingMeanAbsolutePercentageError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TrainingMeanAbsolutePercentageError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(ValidationMeanAbsolutePercentageError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(ValidationMeanAbsolutePercentageError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TestMeanAbsolutePercentageError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TestMeanAbsolutePercentageError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TrainingMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TrainingMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(ValidationMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(ValidationMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TestMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TestMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TrainingCoefficientOfDetermination, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TrainingCoefficientOfDetermination, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(ValidationCoefficientOfDetermination, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(ValidationCoefficientOfDetermination, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TestCoefficientOfDetermination, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TestCoefficientOfDetermination, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TrainingAccuracy, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TrainingAccuracy, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(ValidationAccuracy, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(ValidationAccuracy, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TestAccuracy, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TestAccuracy, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TrainingTheilsInequalityCoefficient, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TrainingTheilsInequalityCoefficient, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(ValidationTheilsInequalityCoefficient, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(ValidationTheilsInequalityCoefficient, PredicateInstanceOf, TypeQualityAttribute),
+          new Statement(TestTheilsInequalityCoefficient, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TestTheilsInequalityCoefficient, PredicateInstanceOf, TypeQualityAttribute),
+
+          new Statement(TreeSize, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TreeSize, PredicateInstanceOf, TypeComplexityAttribute),
+          new Statement(TreeHeight, PredicateInstanceOf, TypeOrdinalAttribute),
+          new Statement(TreeHeight, PredicateInstanceOf, TypeComplexityAttribute),
+          new Statement(EvaluatedSolutions, PredicateInstanceOf, TypeOrdinalAttribute)
+        };
+      }
+    }
+
+
+    /// <summary>
+    /// Wildcard entity for filtering.
+    /// </summary>
+    public static Entity AnyEntity {
+      get { return new Entity(null); }
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/OperatorEntry.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/OperatorEntry.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/OperatorEntry.cs	(revision 1529)
@@ -0,0 +1,39 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class OperatorEntry {
+    [DataMember]
+    public long Id { get; set; }
+    [DataMember]
+    public string Name { get; set; }
+    [DataMember]
+    public byte[] RawData { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/ProcessStatus.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/ProcessStatus.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/ProcessStatus.cs	(revision 1529)
@@ -0,0 +1,29 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  public enum ProcessStatus { Unknown, Active, Finished, Error, Waiting}
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Properties/AssemblyInfo.frame
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Properties/AssemblyInfo.frame	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Properties/AssemblyInfo.frame	(revision 1529)
@@ -0,0 +1,38 @@
+﻿using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.CEDMA.DB.Interfaces")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("68c5c33b-5dca-4411-a1af-fc2cbbf11b5b")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyBuildDate("$WCNOW$")]
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Resource.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Resource.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Resource.cs	(revision 1529)
@@ -0,0 +1,35 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]  
+  public abstract class Resource {
+    [DataMember]
+    public string Uri { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/ResultEntry.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/ResultEntry.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/ResultEntry.cs	(revision 1529)
@@ -0,0 +1,45 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class ResultEntry {
+    [DataMember]
+    public long Id { get; set; }
+    [DataMember]
+    public long? AgentId { get; set; }
+    [DataMember]
+    public long? ParentResultId { get; set; }
+    [DataMember]
+    public string Summary { get; set; }
+    [DataMember]
+    public string Description { get; set; }
+    [DataMember]
+    public DateTime CreationTime { get; set; }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/SelectFilter.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/SelectFilter.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/SelectFilter.cs	(revision 1529)
@@ -0,0 +1,48 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  [KnownType(typeof(Literal))]
+  [KnownType(typeof(Entity))]
+  [KnownType(typeof(SerializedLiteral))]
+  public class SelectFilter {
+    [DataMember]
+    public Entity[] Subjects { get; set; }
+    [DataMember]
+    public Entity[] Predicates { get; set; }
+    [DataMember]
+    public Resource[] Properties { get; set; }
+
+    public SelectFilter(Entity[] subj, Entity[] pred, Resource[] prop) {
+      Subjects = subj;
+      Predicates = pred;
+      Properties = prop;
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/SerializedLiteral.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/SerializedLiteral.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/SerializedLiteral.cs	(revision 1529)
@@ -0,0 +1,50 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class SerializedLiteral: Resource {
+    [DataMember]
+    public string RawData { get; set; }
+
+    public SerializedLiteral(string rawData) {
+      RawData = rawData;
+    }
+
+    public override bool Equals(object obj) {
+      if(this == obj) return true;
+      SerializedLiteral other = obj as SerializedLiteral;
+      if(other == null) return false;
+      else return other.RawData.Equals(this.RawData);
+    }
+
+    public override int GetHashCode() {
+      return RawData.GetHashCode();
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Statement.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Statement.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Statement.cs	(revision 1529)
@@ -0,0 +1,49 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  [KnownType(typeof(Literal))]
+  [KnownType(typeof(Entity))]
+  [KnownType(typeof(SerializedLiteral))]
+  [KnownType(typeof(Variable))]
+  public class Statement {
+    [DataMember]
+    public Entity Subject { get; set; }
+    [DataMember]
+    public Entity Predicate { get; set; }
+    [DataMember]
+    public Resource Property { get; set; }
+
+    public Statement(Entity subj, Entity pred, Resource prop) {
+      Subject = subj;
+      Predicate = pred;
+      Property = prop;
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Variable.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Variable.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/Variable.cs	(revision 1529)
@@ -0,0 +1,50 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  public class Variable: Entity {
+    [DataMember]
+    public string Name { get; set; }
+
+    public Variable(string name) : base(name) {
+      this.Name = name;
+    }
+
+    public override bool Equals(object obj) {
+      if(this == obj) return true;
+      Variable other = obj as Variable;
+      if(obj == null) return false;
+      else return other.Name.Equals(this.Name);
+    }
+
+    public override int GetHashCode() {
+      return Name.GetHashCode();
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/VariableBindings.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/VariableBindings.cs	(revision 1529)
+++ trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/3.3/VariableBindings.cs	(revision 1529)
@@ -0,0 +1,73 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using HeuristicLab.CEDMA.DB.Interfaces;
+using System.ServiceModel;
+using System.Data;
+using System.Data.Common;
+using System.Threading;
+using System.Xml;
+using System.IO;
+using System.Runtime.Serialization;
+
+namespace HeuristicLab.CEDMA.DB.Interfaces {
+  [DataContract]
+  [KnownType(typeof(Literal))]
+  [KnownType(typeof(Entity))]
+  [KnownType(typeof(SerializedLiteral))]
+  public class VariableBindings : IEnumerable<KeyValuePair<string,object>> {
+
+    [DataMember]
+    private Dictionary<string,object> bindings;
+
+    public VariableBindings() {
+      bindings = new Dictionary<string, object>();
+    }
+
+    public void Add(string name, object value) {
+      bindings.Add(name, value);
+    }
+
+    public object Get(string name) {
+      return bindings[name];
+    }
+
+    #region IEnumerable<KeyValuePair<string,object>> Members
+
+    public IEnumerator<KeyValuePair<string, object>> GetEnumerator() {
+      return bindings.GetEnumerator();
+    }
+
+    #endregion
+
+    #region IEnumerable Members
+
+    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
+      return GetEnumerator();
+    }
+
+    #endregion
+  }
+}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/AgentEntry.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/AgentEntry.cs	(revision 1528)
+++ 	(revision )
@@ -1,43 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class AgentEntry {
-    [DataMember]
-    public long Id { get; set; }
-    [DataMember]
-    public long? ParentAgentId { get; set; }
-    [DataMember]
-    public string Name { get; set; }
-    [DataMember]
-    public DateTime CreationTime { get; set; }
-    [DataMember]
-    public ProcessStatus Status { get; set; }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Entity.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Entity.cs	(revision 1528)
+++ 	(revision )
@@ -1,52 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class Entity : Resource {
-
-    public Entity(string uri) {
-      this.Uri = uri;
-    }
-
-    public override string ToString() {
-      return Uri;
-    }
-
-    public override bool Equals(object obj) {
-      if(this == obj) return true;
-      Entity other = obj as Entity;
-      if(other == null) return false;
-      else return other.Uri.Equals(this.Uri);
-    }
-
-    public override int GetHashCode() {
-      return Uri.GetHashCode();
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/HeuristicLab.CEDMA.DB.Interfaces.csproj
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/HeuristicLab.CEDMA.DB.Interfaces.csproj	(revision 1528)
+++ 	(revision )
@@ -1,127 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>9.0.30729</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{4F9BB789-D561-436B-B226-2BF44B7D0804}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>HeuristicLab.CEDMA.DB.Interfaces</RootNamespace>
-    <AssemblyName>HeuristicLab.CEDMA.DB.Interfaces-3.3</AssemblyName>
-    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <SignAssembly>true</SignAssembly>
-    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <OutputPath>bin\x86\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <OutputPath>bin\x64\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Core">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Runtime.Serialization, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.ServiceModel">
-      <RequiredTargetFramework>3.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Xml.Linq">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Data.DataSetExtensions">
-      <RequiredTargetFramework>3.5</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Variable.cs" />
-    <Compile Include="Ontology.cs" />
-    <Compile Include="SelectFilter.cs" />
-    <Compile Include="SerializedLiteral.cs" />
-    <Compile Include="Literal.cs" />
-    <Compile Include="Entity.cs" />
-    <Compile Include="Resource.cs" />
-    <Compile Include="Statement.cs" />
-    <Compile Include="IStore.cs" />
-    <Compile Include="OperatorEntry.cs" />
-    <Compile Include="HeuristicLabCedmaDbInterfacesPlugin.cs" />
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="VariableBindings.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="HeuristicLab.snk" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
-      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
-      <Name>HeuristicLab.PluginInfrastructure</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <PropertyGroup>
-    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
-set ProjectDir=$(ProjectDir)
-set SolutionDir=$(SolutionDir)
-set Outdir=$(Outdir)
-
-call PreBuildEvent.cmd</PreBuildEvent>
-  </PropertyGroup>
-</Project>
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/HeuristicLabCedmaDbInterfacesPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/HeuristicLabCedmaDbInterfacesPlugin.cs	(revision 1528)
+++ 	(revision )
@@ -1,32 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using HeuristicLab.PluginInfrastructure;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [ClassInfo(Name = "HeuristicLab.CEDMA.DB.Interfaces-3.3")]
-  [PluginFile(Filename = "HeuristicLab.CEDMA.DB.Interfaces-3.3.dll", Filetype = PluginFileType.Assembly)]
-  public class HeuristicLabCedmaDbInterfacesPlugin : PluginBase {
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/IDatabase.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/IDatabase.cs	(revision 1528)
+++ 	(revision )
@@ -1,85 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.ServiceModel;
-using System.Data;
-using System.Linq.Expressions;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [ServiceContract(Namespace = "http://HeuristicLab.CEDMA.DB")]
-  public interface IDatabase {
-    [OperationContract]
-    long InsertAgent(long? parentAgentId, string name, byte[] rawData);
-
-    [OperationContract(Name = "UpdateAgentName")]
-    void UpdateAgent(long id, string name);
-
-    [OperationContract(Name = "UpdateAgentStatus")]
-    void UpdateAgent(long id, ProcessStatus status);
-
-    [OperationContract(Name = "UpdateAgentData")]
-    void UpdateAgent(long id, byte[] rawData);
-
-    [OperationContract]
-    long InsertResult(long agentId, string summary, string description, byte[] rawData);
-
-    [OperationContract]
-    long InsertSubResult(long resultId, string summary, string description, byte[] rawData);
-
-    [OperationContract]
-    long InsertOperator(string name, byte[] rawData);
-
-    [OperationContract]
-    void UpdateOperator(long id, string name, byte[] rawData);
-
-    [OperationContract]
-    void DeleteOperator(long id);
-
-    // should be replaced by more powerful querying interface (LINQ provider?)
-    [OperationContract]
-    ICollection<AgentEntry> GetAgents();
-
-    [OperationContract]
-    ICollection<AgentEntry> GetSubAgents(long parentAgentId);
-
-    [OperationContract]
-    byte[] GetAgentRawData(long id);
-
-    [OperationContract]
-    ICollection<ResultEntry> GetResults(long agentId);
-
-    [OperationContract]
-    ICollection<ResultEntry> GetSubResults(long parentResultId);
-
-    [OperationContract]
-    byte[] GetResultRawData(long id);
-
-    [OperationContract]
-    ICollection<OperatorEntry> GetOperators();
-
-    [OperationContract]
-    OperatorEntry GetOperator(long id);
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/IStore.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/IStore.cs	(revision 1528)
+++ 	(revision )
@@ -1,42 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.ServiceModel;
-using System.Data;
-using System.Linq.Expressions;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [ServiceContract(Namespace = "http://HeuristicLab.CEDMA.DB")]
-  public interface IStore {
-    [OperationContract]
-    void Add(Statement statement);
-
-    [OperationContract]
-    ICollection<VariableBindings> Query(ICollection<Statement> query, int page, int pageSize);
-
-    [OperationContract(Name="QueryN3")]
-    ICollection<VariableBindings> Query(string query, int page, int pageSize);
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Literal.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Literal.cs	(revision 1528)
+++ 	(revision )
@@ -1,50 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class Literal: Resource {
-    [DataMember]
-    public object Value { get; set; }
-
-    public Literal(object value) {
-      Value = value;
-    }
-
-    public override bool Equals(object obj) {
-      if(this == obj) return true;
-      Literal other = obj as Literal;
-      if(obj == null) return false;
-      else return other.Value.Equals(this.Value);
-    }
-
-    public override int GetHashCode() {
-      return Value.GetHashCode();
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Ontology.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Ontology.cs	(revision 1528)
+++ 	(revision )
@@ -1,239 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  public static class Ontology {
-    public static string CedmaNameSpace {
-      get { return "http://www.heuristiclab.com/cedma/"; }
-    }
-
-    #region model attribute types
-    /// <summary>
-    /// Attribute value is ordinal, values can be sorted.
-    /// Examples are quality measures or complexity measures.
-    /// </summary>
-    public static Entity TypeOrdinalAttribute {
-      get { return new Entity(CedmaNameSpace + "TypeOrdinalAttribute"); }
-    }
-    /// <summary>
-    /// Attribute value is categorical and thus can't be sorted.
-    /// Examples is target-variable.
-    /// </summary>
-    public static Entity TypeCategoricalAttribute {
-      get { return new Entity(CedmaNameSpace + "TypeCategoricalAttribute"); }
-    }
-    /// <summary>
-    /// Attribute is a quality measure
-    /// </summary>
-    public static Entity TypeQualityAttribute {
-      get { return new Entity(CedmaNameSpace + "TypeQualityAttribute"); }
-    }
-    /// <summary>
-    /// Attribute is a complexity measure
-    /// </summary>
-    public static Entity TypeComplexityAttribute {
-      get { return new Entity(CedmaNameSpace + "TypeComplexityAttribute"); }
-    }
-    #endregion
-
-    #region meta-data predicates
-    public static Entity PredicateName {
-      get { return new Entity(CedmaNameSpace + "Name"); }
-    }
-    /// <summary>
-    /// Each entity can have a serialized XML representation that can be loaded in HL.
-    /// </summary>
-    public static Entity PredicateSerializedData {
-      get { return new Entity(CedmaNameSpace + "SerializedData"); }
-    }
-    /// <summary>
-    /// Link from data set to model.
-    /// A data set can have multiple models.
-    /// </summary>
-    public static Entity PredicateHasModel {
-      get { return new Entity(CedmaNameSpace + "Model"); }
-    }
-    /// <summary>
-    /// Link from model to algorithm.
-    /// An algorithm can generate multiple models, each model is generated by exactly one algorithm.
-    /// </summary>
-    public static Entity PredicateGeneratedBy {
-      get { return new Entity(CedmaNameSpace + "GeneratedBy"); }
-    }
-    #endregion
-
-    #region types and type relations
-    public static Entity PredicateInstanceOf {
-      get { return new Entity(CedmaNameSpace + "InstanceOf"); }
-    }
-    public static Entity TypeGeneticProgrammingFunctionTree {
-      get { return new Entity(CedmaNameSpace + "FunctionTree"); }
-    }
-    public static Entity TypeDataSet {
-      get { return new Entity(CedmaNameSpace + "DataSet"); }
-    }
-    public static Entity TypeAlgorithm {
-      get { return new Entity(CedmaNameSpace + "Algorithm"); }
-    }
-    public static Entity TypeModel {
-      get { return new Entity(CedmaNameSpace + "Model"); }
-    }
-    #endregion
-
-    #region default attributes
-    public static Entity TargetVariable {
-      get { return new Entity(CedmaNameSpace + "TargetVariable"); }
-    }
-    public static Entity AlgorithmName {
-      get { return new Entity(CedmaNameSpace + "AlgorithmName"); }
-    }
-    public static Entity TrainingMeanSquaredError {
-      get { return new Entity(CedmaNameSpace + "TrainingMeanSquaredError"); }
-    }
-    public static Entity ValidationMeanSquaredError {
-      get { return new Entity(CedmaNameSpace + "ValidationMeanSquaredError"); }
-    }
-    public static Entity TestMeanSquaredError {
-      get { return new Entity(CedmaNameSpace + "TestMeanSquaredError"); }
-    }
-    public static Entity TrainingMeanAbsolutePercentageError {
-      get { return new Entity(CedmaNameSpace + "TrainingMeanAbsolutePercentageError"); }
-    }
-    public static Entity ValidationMeanAbsolutePercentageError {
-      get { return new Entity(CedmaNameSpace + "ValidationMeanAbsolutePercentageError"); }
-    }
-    public static Entity TestMeanAbsolutePercentageError {
-      get { return new Entity(CedmaNameSpace + "TestMeanAbsolutePercentageError"); }
-    }
-    public static Entity TrainingMeanAbsolutePercentageOfRangeError {
-      get { return new Entity(CedmaNameSpace + "TrainingMeanAbsolutePercentageOfRangeError"); }
-    }
-    public static Entity ValidationMeanAbsolutePercentageOfRangeError {
-      get { return new Entity(CedmaNameSpace + "ValidationMeanAbsolutePercentageOfRangeError"); }
-    }
-    public static Entity TestMeanAbsolutePercentageOfRangeError {
-      get { return new Entity(CedmaNameSpace + "TestMeanAbsolutePercentageOfRangeError"); }
-    }
-    public static Entity TrainingCoefficientOfDetermination {
-      get { return new Entity(CedmaNameSpace + "TrainingCoefficientOfDetermination"); }
-    }
-    public static Entity ValidationCoefficientOfDetermination {
-      get { return new Entity(CedmaNameSpace + "ValidationCoefficientOfDetermination"); }
-    }
-    public static Entity TestCoefficientOfDetermination {
-      get { return new Entity(CedmaNameSpace + "TestCoefficientOfDetermination"); }
-    }
-    public static Entity TrainingAccuracy {
-      get { return new Entity(CedmaNameSpace + "TrainingAccuracy"); }
-    }
-    public static Entity ValidationAccuracy {
-      get { return new Entity(CedmaNameSpace + "ValidationAccuracy"); }
-    }
-    public static Entity TestAccuracy {
-      get { return new Entity(CedmaNameSpace + "TestAccuracy"); }
-    }
-    public static Entity TrainingTheilsInequalityCoefficient {
-      get { return new Entity(CedmaNameSpace + "TrainingTheilsInequalityCoefficient"); }
-    }
-    public static Entity ValidationTheilsInequalityCoefficient {
-      get { return new Entity(CedmaNameSpace + "ValidationTheilsInequalityCoefficient"); }
-    }
-    public static Entity TestTheilsInequalityCoefficient {
-      get { return new Entity(CedmaNameSpace + "TestTheilsInequalityCoefficient"); }
-    }
-    public static Entity TreeSize {
-      get { return new Entity(CedmaNameSpace + "TreeSize"); }
-    }
-    public static Entity TreeHeight {
-      get { return new Entity(CedmaNameSpace + "TreeHeight"); }
-    }
-    public static Entity EvaluatedSolutions {
-      get { return new Entity(CedmaNameSpace + "EvaluatedSolutions"); }
-    }
-    #endregion
-
-    public static ICollection<Statement> InitialStatements {
-      get {
-        return new List<Statement> {
-          new Statement(TargetVariable, PredicateInstanceOf, TypeCategoricalAttribute),
-          new Statement(AlgorithmName, PredicateInstanceOf, TypeCategoricalAttribute),
-          new Statement(TrainingMeanSquaredError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TrainingMeanSquaredError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(ValidationMeanSquaredError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(ValidationMeanSquaredError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TestMeanSquaredError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TestMeanSquaredError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TrainingMeanAbsolutePercentageError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TrainingMeanAbsolutePercentageError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(ValidationMeanAbsolutePercentageError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(ValidationMeanAbsolutePercentageError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TestMeanAbsolutePercentageError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TestMeanAbsolutePercentageError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TrainingMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TrainingMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(ValidationMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(ValidationMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TestMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TestMeanAbsolutePercentageOfRangeError, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TrainingCoefficientOfDetermination, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TrainingCoefficientOfDetermination, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(ValidationCoefficientOfDetermination, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(ValidationCoefficientOfDetermination, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TestCoefficientOfDetermination, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TestCoefficientOfDetermination, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TrainingAccuracy, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TrainingAccuracy, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(ValidationAccuracy, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(ValidationAccuracy, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TestAccuracy, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TestAccuracy, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TrainingTheilsInequalityCoefficient, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TrainingTheilsInequalityCoefficient, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(ValidationTheilsInequalityCoefficient, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(ValidationTheilsInequalityCoefficient, PredicateInstanceOf, TypeQualityAttribute),
-          new Statement(TestTheilsInequalityCoefficient, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TestTheilsInequalityCoefficient, PredicateInstanceOf, TypeQualityAttribute),
-
-          new Statement(TreeSize, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TreeSize, PredicateInstanceOf, TypeComplexityAttribute),
-          new Statement(TreeHeight, PredicateInstanceOf, TypeOrdinalAttribute),
-          new Statement(TreeHeight, PredicateInstanceOf, TypeComplexityAttribute),
-          new Statement(EvaluatedSolutions, PredicateInstanceOf, TypeOrdinalAttribute)
-        };
-      }
-    }
-
-
-    /// <summary>
-    /// Wildcard entity for filtering.
-    /// </summary>
-    public static Entity AnyEntity {
-      get { return new Entity(null); }
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/OperatorEntry.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/OperatorEntry.cs	(revision 1528)
+++ 	(revision )
@@ -1,39 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class OperatorEntry {
-    [DataMember]
-    public long Id { get; set; }
-    [DataMember]
-    public string Name { get; set; }
-    [DataMember]
-    public byte[] RawData { get; set; }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/ProcessStatus.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/ProcessStatus.cs	(revision 1528)
+++ 	(revision )
@@ -1,29 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  public enum ProcessStatus { Unknown, Active, Finished, Error, Waiting}
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Resource.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Resource.cs	(revision 1528)
+++ 	(revision )
@@ -1,35 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]  
-  public abstract class Resource {
-    [DataMember]
-    public string Uri { get; set; }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/ResultEntry.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/ResultEntry.cs	(revision 1528)
+++ 	(revision )
@@ -1,45 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class ResultEntry {
-    [DataMember]
-    public long Id { get; set; }
-    [DataMember]
-    public long? AgentId { get; set; }
-    [DataMember]
-    public long? ParentResultId { get; set; }
-    [DataMember]
-    public string Summary { get; set; }
-    [DataMember]
-    public string Description { get; set; }
-    [DataMember]
-    public DateTime CreationTime { get; set; }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/SelectFilter.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/SelectFilter.cs	(revision 1528)
+++ 	(revision )
@@ -1,48 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  [KnownType(typeof(Literal))]
-  [KnownType(typeof(Entity))]
-  [KnownType(typeof(SerializedLiteral))]
-  public class SelectFilter {
-    [DataMember]
-    public Entity[] Subjects { get; set; }
-    [DataMember]
-    public Entity[] Predicates { get; set; }
-    [DataMember]
-    public Resource[] Properties { get; set; }
-
-    public SelectFilter(Entity[] subj, Entity[] pred, Resource[] prop) {
-      Subjects = subj;
-      Predicates = pred;
-      Properties = prop;
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/SerializedLiteral.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/SerializedLiteral.cs	(revision 1528)
+++ 	(revision )
@@ -1,50 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class SerializedLiteral: Resource {
-    [DataMember]
-    public string RawData { get; set; }
-
-    public SerializedLiteral(string rawData) {
-      RawData = rawData;
-    }
-
-    public override bool Equals(object obj) {
-      if(this == obj) return true;
-      SerializedLiteral other = obj as SerializedLiteral;
-      if(other == null) return false;
-      else return other.RawData.Equals(this.RawData);
-    }
-
-    public override int GetHashCode() {
-      return RawData.GetHashCode();
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Statement.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Statement.cs	(revision 1528)
+++ 	(revision )
@@ -1,49 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  [KnownType(typeof(Literal))]
-  [KnownType(typeof(Entity))]
-  [KnownType(typeof(SerializedLiteral))]
-  [KnownType(typeof(Variable))]
-  public class Statement {
-    [DataMember]
-    public Entity Subject { get; set; }
-    [DataMember]
-    public Entity Predicate { get; set; }
-    [DataMember]
-    public Resource Property { get; set; }
-
-    public Statement(Entity subj, Entity pred, Resource prop) {
-      Subject = subj;
-      Predicate = pred;
-      Property = prop;
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Variable.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/Variable.cs	(revision 1528)
+++ 	(revision )
@@ -1,50 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  public class Variable: Entity {
-    [DataMember]
-    public string Name { get; set; }
-
-    public Variable(string name) : base(name) {
-      this.Name = name;
-    }
-
-    public override bool Equals(object obj) {
-      if(this == obj) return true;
-      Variable other = obj as Variable;
-      if(obj == null) return false;
-      else return other.Name.Equals(this.Name);
-    }
-
-    public override int GetHashCode() {
-      return Name.GetHashCode();
-    }
-  }
-}
Index: trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/VariableBindings.cs
===================================================================
--- trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/VariableBindings.cs	(revision 1528)
+++ 	(revision )
@@ -1,73 +1,0 @@
-﻿#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using HeuristicLab.CEDMA.DB.Interfaces;
-using System.ServiceModel;
-using System.Data;
-using System.Data.Common;
-using System.Threading;
-using System.Xml;
-using System.IO;
-using System.Runtime.Serialization;
-
-namespace HeuristicLab.CEDMA.DB.Interfaces {
-  [DataContract]
-  [KnownType(typeof(Literal))]
-  [KnownType(typeof(Entity))]
-  [KnownType(typeof(SerializedLiteral))]
-  public class VariableBindings : IEnumerable<KeyValuePair<string,object>> {
-
-    [DataMember]
-    private Dictionary<string,object> bindings;
-
-    public VariableBindings() {
-      bindings = new Dictionary<string, object>();
-    }
-
-    public void Add(string name, object value) {
-      bindings.Add(name, value);
-    }
-
-    public object Get(string name) {
-      return bindings[name];
-    }
-
-    #region IEnumerable<KeyValuePair<string,object>> Members
-
-    public IEnumerator<KeyValuePair<string, object>> GetEnumerator() {
-      return bindings.GetEnumerator();
-    }
-
-    #endregion
-
-    #region IEnumerable Members
-
-    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
-      return GetEnumerator();
-    }
-
-    #endregion
-  }
-}
