<?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://annotator.apache.org">
    <created>2017-05-31</created>
    <license rdf:resource="http://spdx.org/licenses/Apache-2.0" />
    <name>Apache Annotator</name>
    <homepage rdf:resource="http://annotator.apache.org" />
    <asfext:pmc rdf:resource="http://incubator.apache.org" />
    <shortdesc>Apache Annotator provides annotation enabling code for browsers, servers, and humans.</shortdesc>
    <description>Apache Annotator is a collaborative community for creating annotation related code which works to provide a future for Annotator.js-based projects and plugins while enabling W3C spec-compliant Web Annotation in Web browsers, Web Publication readers, and the servers that serve them.</description>
    <bug-database rdf:resource="https://github.com/apache/incubator-annotator/issues" />
    <mailing-list rdf:resource="https://lists.apache.org/list.html?dev@annotator.apache.org" />
    <programming-language>JavaScript</programming-language>
    <category rdf:resource="http://projects.apache.org/category/content" />
    <repository>
      <GitRepository>
        <location rdf:resource="http://git@github.com:apache/incubator-annotator.git"/>
        <browse rdf:resource="https://github.com/apache/incubator-annotator"/>
      </GitRepository>
    </repository>
    <asfext:implements>
      <asfext:Standard>
        <asfext:title>Web Annotation Data Model</asfext:title>
        <asfext:body>W3C</asfext:body>
        <asfext:id>annotation-model</asfext:id>
        <asfext:url rdf:resource="https://www.w3.org/TR/annotation-model/"/>
      </asfext:Standard>
    </asfext:implements>
  </Project>
</rdf:RDF>

