Apache Taverna Language
Copyright 2010-2014 University of Manchester, UK
Copyright 2015 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

---------------------------------------------------------


ODFDOM
Copyright 2008, 2010 Oracle and/or its affiliates. All rights reserved.

---------------------------------------------------------

PAV ontology http://purl.org/pav/
(c) Copyright 2008-2014 Massachusetts General Hospital; Harvard Medical School;
Balboa Systems; University of Manchester

---------------------------------------------------------

W3C PROVenance Interchange Ontology (PROV-O)
http://www.w3.org/ns/prov-o.rdf
http://www.w3.org/TR/2013/REC-prov-o-20130430/

W3C PROV Access and Query Ontology (PROV-AQ)
http://www.w3.org/ns/prov-aq.owl
http://www.w3.org/TR/2013/NOTE-prov-aq-20130430/

Copyright (c) 2011-2013 W3C(R) (MIT, ERCIM, Keio, Beihang), All Rights Reserved.
W3C liability, trademark and document use rules apply.
http://www.w3.org/Consortium/Legal/2015/doc-license

---------------------------------------------------------

XML Encryption Syntax and Processing
W3C Recommendation 10 December 2002
http://www.w3.org/TR/xmlenc-core/xenc-schema.xsd
http://www.w3.org/TR/xmlenc-core/

Copyright (c) 2002 World Wide Web Consortium, (Massachusetts
Institute of Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/

---------------------------------------------------------

Schema for XML Signatures
http://www.w3.org/2000/09/xmldsig#
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $

Copyright 2001 The Internet Society and W3C (Massachusetts Institute
of Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/

This document is governed by the W3C Software License [1] as described
in the FAQ [2].

[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD


---------------------------------------------------------

Friend of a Friend (FOAF) RDF vocabulary
http://xmlns.com/foaf/spec/20140114.rdf

Copyright (c) 2000-2014 Dan Brickley and Libby Miller
This work is licensed under a Creative Commons Attribution License.
http://creativecommons.org/licenses/by/1.0/

---------------------------------------------------------

DCMI metadata terms     
http://purl.org/wf4ever/dcterms_od
Modified to reduce owl:imports

Adapted from Dublin Core in OWL 2
http://purl.org/NET/dc_owl2dl/terms_od
Modified for OWL compliance

Adapted from Dublin Core
http://purl.org/dc/terms/


DCMI Abstract model
http://purl.org/wf4ever/dcam
Modified URI of the owl:Ontology
     
Adapted from Dublin Core in OWL 2
http://purl.org/NET/dc_owl2dl/dcam
Modified for OWL compliance

Adapted from Dublin Core
http://purl.org/dc/dcam/

Copyright (c) 2012-2015 University of Manchester
Copyright (c) 2009-2014 Simon Reinhardt (http://simon-reinhardt.de/)
Copyright (c) 1995-2012 DCMI, the Dublin Core Metadata Initiative (http://dublincore.org/)

Licensed under a Creative Commons Attribution 3.0 Unported License (CC BY 3.0).
http://creativecommons.org/licenses/by/3.0/

---------------------------------------------------------

Open Annotation Data Model
http://www.w3.org/ns/oa

Copyright (c) 2012-2013 the Contributors to the Open Annotation Core Data Model
Specification, published by the Open Annotation Community Group under the W3C
Community Contributor License Agreement (CLA). A human-readable summary is
available.      

http://www.w3.org/community/about/agreements/cla/

---------------------------------------------------------

Open Document Format for Office Applications (OpenDocument) Version 1.2
OASIS Standard, 29 September 2011
Manifest Relax-NG Schema
Source: http://docs.oasis-open.org/office/v1.2/os/
Copyright (c) OASIS Open 2002-2011. All Rights Reserved.


---------------------------------------------------------

Wf4Ever Research Object Model 1.0 
https://w3id.org/ro/

wfdesc ontology
https://w3id.org/ro/wfdesc

wfprov ontology
https://w3id.org/ro/wfprov

roterms ontology
http://purl.org/wf4ever/roterms

wf4ever ontology
https://w3id.org/ro/wf4ever

Copyright (c) 2011-2014
  Stian Soiland-Reyes, University of Manchester
  Sean Bechhofer, University of Manchester
  Khalid Belhajjame, University of Manchester
  Graham Klyne, University of Oxford
  Daniel Garijo, UPM
  Oscar Corcho, UPM
  Esteban Garcia Cuesta, iSOCO
  Raul Palma, PSNC

Licensed under a Creative Commons Attribution 3.0 License.
http://creativecommons.org/licenses/by/3.0/


------------------------------------------------------

xml.xsd
Extensible Markup Language (XML) 1.0 (Fifth Edition)
W3C Recommendation 26 November 2008
http://www.w3.org/2001/xml.xsd
http://www.w3.org/TR/xml/

Copyright (c) 2015 W3C(R) (MIT, ERCIM, Keio, Beihang). This software or 
document includes material copied from or derived from:

W3C liability, trademark and document use rules apply.
http://www.w3.org/Consortium/Legal/2015/doc-license

------------------------------------------------------

roevo.xsd derived from 
Research Object Evolution Ontology (roevo)
http://w3id.org/ro/roevo

Copyright (c) 2011-2014
    Raul Palma, PSNC
    Jun Zhao, University of Oxford
    Khalid Belhajjame, University of Manchester
    Stian Soiland-Reyes, University of Manchester
    Oscar Corcho, UPM

  Creative Commons Attribution 3.0 License 
  http://creativecommons.org/licenses/by/3.0

