<?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="https://carbondata.apache.org">
    <created>2017-11-16</created>
    <license rdf:resource="http://www.apache.org/licenses/LICENSE-2.0" />
    <name>Apache CarbonData</name>
    <homepage rdf:resource="https://carbondata.apache.org" />
    <asfext:pmc rdf:resource="https://carbondata.apache.org" />
    <shortdesc>Apache CarbonData is an indexed columnar data format for fast analytics on big data platform, e.g. Apache Hadoop, Apache Spark, etc.</shortdesc>
    <description>Apache CarbonData is a new big data file format for faster interactive query using advanced columnar storage, index, compression and encoding techniques to improve computing efficiency, which helps in speeding up queries by an order of magnitude faster over PetaBytes of data.</description>
    <bug-database rdf:resource="https://issues.apache.org/jira/browse/CARBONDATA" />
    <mailing-list rdf:resource="https://github.com/apache/carbondata/blob/master/docs/how-to-contribute-to-apache-carbondata.md" />
    <download-page rdf:resource="ihttp://carbondata.apache.org/" />
    <programming-language>Java</programming-language>
    <programming-language>Scala</programming-language>
    <category rdf:resource="http://projects.apache.org/category/big-data" />
  </Project>
</rdf:RDF>
