<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
   
         http://www.apache.org/licenses/LICENSE-2.0
   
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
  <Project rdf:about="http://metamodel.apache.org">
    <created>2014-11-27</created>
    <license rdf:resource="http://spdx.org/licenses/Apache-2.0" />
    <name>Apache MetaModel</name>
    <homepage rdf:resource="http://metamodel.apache.org" />
    <asfext:pmc rdf:resource="http://attic.apache.org" />
    <shortdesc>Providing a common interface for discovery, exploration of metadata and querying of different types of data sources.</shortdesc>
    <description>With MetaModel you get a uniform connector and query API to many very different datastore types, including: Relational (JDBC) databases, CSV files, Excel spreadsheets, XML files, JSON files, Fixed width files, MongoDB, Apache CouchDB, Apache HBase, Apache Cassandra, ElasticSearch, OpenOffice.org databases, Salesforce.com, SugarCRM and even collections of plain old Java objects (POJOs).

MetaModel isn't a data mapping framework. Instead we emphasize abstraction of metadata and ability to add data sources at runtime, making MetaModel great for generic data processing applications, less so for applications modeled around a particular domain.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/METAMODEL" />
    <mailing-list rdf:resource="http://metamodel.apache.org/#community" />
    <download-page rdf:resource="http://metamodel.apache.org/#download" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/database" />
    <category rdf:resource="http://projects.apache.org/category/big-data" />
    <category rdf:resource="http://projects.apache.org/category/library" />
    <category rdf:resource="http://projects.apache.org/category/retired" />
    <release>
      <Version>
        <name>MetaModel 4.3.1</name>
        <created>2014-12-14</created>
        <revision>4.3.1</revision>
      </Version>
    </release>
    <repository>
      <GitRepository>
        <location rdf:resource="https://git-wip-us.apache.org/repos/asf/metamodel.git"/>
        <browse rdf:resource="https://git-wip-us.apache.org/repos/asf?p=metamodel.git"/>
      </GitRepository>
    </repository>
    <maintainer>
      <foaf:Person>
        <foaf:name>Kasper Sørensen</foaf:name>
          <foaf:mbox rdf:resource="mailto:kaspersor@apache.org"/>
      </foaf:Person>
    </maintainer>
  </Project>
</rdf:RDF>
