aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuel Padgett2013-07-26 14:36:41 (EDT)
committerSamuel Padgett2013-07-26 15:14:56 (EDT)
commit20759aa3e3796d2c2e4ed359c6cfc6c74dd7c722 (patch)
treec51b3a634e35d3a8044af18dbc398288b977fa43
downloadorg.eclipse.lyo.ldp-20759aa3e3796d2c2e4ed359c6cfc6c74dd7c722.zip
org.eclipse.lyo.ldp-20759aa3e3796d2c2e4ed359c6cfc6c74dd7c722.tar.gz
org.eclipse.lyo.ldp-20759aa3e3796d2c2e4ed359c6cfc6c74dd7c722.tar.bz2
Bug 413770 - Contribute W3C LDP reference implementationrefs/changes/96/14896/2
Change-Id: I47d207a921c9a51a8417116520282552191168d6 Signed-off-by: Samuel Padgett <spadgett@us.ibm.com> Also-by: Steve Speicher <sspeiche@us.ibm.com> Also-by: Frank Budinsky <frankb@ca.ibm.com>
-rw-r--r--org.eclipse.lyo.ldp.build/.classpath6
-rw-r--r--org.eclipse.lyo.ldp.build/.project23
-rw-r--r--org.eclipse.lyo.ldp.build/about.html33
-rw-r--r--org.eclipse.lyo.ldp.build/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.build/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.build/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.build/pom.xml16
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/.classpath31
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/.gitignore1
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/.project29
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/about.html33
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/pom.xml21
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/java/org/eclipse/lyo/ldp/sample/bugtracker/BugTrackerSample.java51
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug1.ttl12
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug10.ttl12
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug11.ttl12
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug12.ttl12
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bugTracker.ttl7
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/config.ttl7
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productA.ttl9
-rw-r--r--org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productB.ttl9
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/.classpath31
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/.gitignore1
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/.project29
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/about.html33
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/pom.xml27
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/java/org/eclipse/lyo/ldp/sample/networth/NetWorthSample.java42
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/a1.ttl4
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/a2.ttl4
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/a3.ttl4
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/a4.ttl4
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/a5.ttl4
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/assetContainer.ttl14
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/config.ttl10
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/main/resources/sort.sparql10
-rw-r--r--org.eclipse.lyo.ldp.sample.networth/src/test/java/org/eclipse/lyo/ldp/sample/networth/NetWorthTestCase.java95
-rw-r--r--org.eclipse.lyo.ldp.sample/.classpath27
-rw-r--r--org.eclipse.lyo.ldp.sample/.gitignore1
-rw-r--r--org.eclipse.lyo.ldp.sample/.project29
-rw-r--r--org.eclipse.lyo.ldp.sample/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--org.eclipse.lyo.ldp.sample/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.lyo.ldp.sample/Launch LDP Server with Sample Data.launch18
-rw-r--r--org.eclipse.lyo.ldp.sample/about.html33
-rw-r--r--org.eclipse.lyo.ldp.sample/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.sample/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.sample/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.sample/pom.xml84
-rw-r--r--org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/Bootstrap.java40
-rw-r--r--org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/LDPApplication.java37
-rw-r--r--org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/VisualizationService.java123
-rw-r--r--org.eclipse.lyo.ldp.sample/src/main/webapp/WEB-INF/web.xml26
-rw-r--r--org.eclipse.lyo.ldp.sample/src/main/webapp/index.html263
-rw-r--r--org.eclipse.lyo.ldp.sample/src/main/webapp/style.css64
-rw-r--r--org.eclipse.lyo.ldp.server.jena/.classpath32
-rw-r--r--org.eclipse.lyo.ldp.server.jena/.gitignore1
-rw-r--r--org.eclipse.lyo.ldp.server.jena/.project23
-rw-r--r--org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.lyo.ldp.server.jena/about.html33
-rw-r--r--org.eclipse.lyo.ldp.server.jena/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.server.jena/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.server.jena/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.server.jena/pom.xml30
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPContainer.java614
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPImpl.java60
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPServer.java43
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPService.java55
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/GraphStore.java37
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/TDBGraphStore.java162
-rw-r--r--org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/vocabulary/LDP.java55
-rw-r--r--org.eclipse.lyo.ldp.server/.classpath27
-rw-r--r--org.eclipse.lyo.ldp.server/.gitignore1
-rw-r--r--org.eclipse.lyo.ldp.server/.project23
-rw-r--r--org.eclipse.lyo.ldp.server/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--org.eclipse.lyo.ldp.server/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.lyo.ldp.server/about.html33
-rw-r--r--org.eclipse.lyo.ldp.server/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.server/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.server/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.server/pom.xml44
-rw-r--r--org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPConstants.java72
-rw-r--r--org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPContainer.java116
-rw-r--r--org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/LDPService.java246
-rw-r--r--org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/PATCH.java37
-rw-r--r--org.eclipse.lyo.ldp.server/src/main/resources/context.jsonld33
-rw-r--r--org.eclipse.lyo.ldp.webapp/.classpath21
-rw-r--r--org.eclipse.lyo.ldp.webapp/.gitignore1
-rw-r--r--org.eclipse.lyo.ldp.webapp/.project29
-rw-r--r--org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.m2e.core.prefs4
-rw-r--r--org.eclipse.lyo.ldp.webapp/Launch LDP Server.launch18
-rw-r--r--org.eclipse.lyo.ldp.webapp/about.html33
-rw-r--r--org.eclipse.lyo.ldp.webapp/license/edl-v10.html60
-rw-r--r--org.eclipse.lyo.ldp.webapp/license/epl-v10.html259
-rw-r--r--org.eclipse.lyo.ldp.webapp/license/notice.html109
-rw-r--r--org.eclipse.lyo.ldp.webapp/pom.xml74
-rw-r--r--org.eclipse.lyo.ldp.webapp/src/main/java/org/eclipse/lyo/ldp/webapp/service/LDPApplication.java34
-rw-r--r--org.eclipse.lyo.ldp.webapp/src/main/webapp/WEB-INF/web.xml23
108 files changed, 6459 insertions, 0 deletions
diff --git a/org.eclipse.lyo.ldp.build/.classpath b/org.eclipse.lyo.ldp.build/.classpath
new file mode 100644
index 0000000..fb50116
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.build/.project b/org.eclipse.lyo.ldp.build/.project
new file mode 100644
index 0000000..66d7210
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.build</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.build/about.html b/org.eclipse.lyo.ldp.build/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.build/license/edl-v10.html b/org.eclipse.lyo.ldp.build/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.build/license/epl-v10.html b/org.eclipse.lyo.ldp.build/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.build/license/notice.html b/org.eclipse.lyo.ldp.build/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.build/pom.xml b/org.eclipse.lyo.ldp.build/pom.xml
new file mode 100644
index 0000000..49f3021
--- /dev/null
+++ b/org.eclipse.lyo.ldp.build/pom.xml
@@ -0,0 +1,16 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-build</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>LDP Build</name>
+ <modules>
+ <module>../org.eclipse.lyo.ldp.server</module>
+ <module>../org.eclipse.lyo.ldp.server.jena</module>
+ <module>../org.eclipse.lyo.ldp.webapp</module>
+ <module>../org.eclipse.lyo.ldp.sample.networth</module>
+ <module>../org.eclipse.lyo.ldp.sample.bugtracker</module>
+ <module>../org.eclipse.lyo.ldp.sample</module>
+ </modules>
+</project>
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/.classpath b/org.eclipse.lyo.ldp.sample.bugtracker/.classpath
new file mode 100644
index 0000000..73c80ea
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/.gitignore b/org.eclipse.lyo.ldp.sample.bugtracker/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/.project b/org.eclipse.lyo.ldp.sample.bugtracker/.project
new file mode 100644
index 0000000..d5c139a
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.sample.bugtracker</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/about.html b/org.eclipse.lyo.ldp.sample.bugtracker/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/license/edl-v10.html b/org.eclipse.lyo.ldp.sample.bugtracker/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/license/epl-v10.html b/org.eclipse.lyo.ldp.sample.bugtracker/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/license/notice.html b/org.eclipse.lyo.ldp.sample.bugtracker/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/pom.xml b/org.eclipse.lyo.ldp.sample.bugtracker/pom.xml
new file mode 100644
index 0000000..8205acd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/pom.xml
@@ -0,0 +1,21 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-sample-bugtracker</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>LDP Bug Tracker Sample</name>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.11</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/java/org/eclipse/lyo/ldp/sample/bugtracker/BugTrackerSample.java b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/java/org/eclipse/lyo/ldp/sample/bugtracker/BugTrackerSample.java
new file mode 100644
index 0000000..fac433f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/java/org/eclipse/lyo/ldp/sample/bugtracker/BugTrackerSample.java
@@ -0,0 +1,51 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.sample.bugtracker;
+
+import java.io.InputStream;
+
+import org.eclipse.lyo.ldp.server.LDPConstants;
+import org.eclipse.lyo.ldp.server.LDPContainer;
+
+/**
+ * Bootstrap the bug tracker example.
+ *
+ * @author Samuel Padgett <spadgett@us.ibm.com>
+ */
+public class BugTrackerSample {
+
+ private static final String[] PRODUCTS = {
+ "productA.ttl", "productB.ttl"
+ };
+
+ private static final String[] BUGS = {
+ "bug1.ttl", "bug10.ttl", "bug11.ttl", "bug12.ttl"
+ };
+
+ public static void load(LDPContainer container) {
+ for (String product : PRODUCTS) {
+ InputStream is = BugTrackerSample.class.getClassLoader().getResourceAsStream(product);
+ container.post(is, LDPConstants.CT_TEXT_TURTLE);
+ }
+
+ for (String bug : BUGS) {
+ InputStream is = BugTrackerSample.class.getClassLoader().getResourceAsStream(bug);
+ container.post(is, LDPConstants.CT_TEXT_TURTLE);
+ }
+ }
+}
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug1.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug1.ttl
new file mode 100644
index 0000000..8cc7a38
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug1.ttl
@@ -0,0 +1,12 @@
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix bt: <http://example.org/vocab/bugtracker#>.
+
+<> a bt:Bug;
+ dcterms:title "Product A crashes when shutting down.";
+ dcterms:creator <http://example.org/users/johndoe>;
+ dcterms:created "2013-05-05T10:00"^^xsd:dateTime;
+ bt:isInState "New" . \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug10.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug10.ttl
new file mode 100644
index 0000000..36185d2
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug10.ttl
@@ -0,0 +1,12 @@
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix bt: <http://example.org/vocab/bugtracker#>.
+
+<> a bt:Bug;
+ dcterms:title "Product B does not make coffee";
+ dcterms:creator <http://example.org/users/johndoe>;
+ dcterms:created "2013-05-05T10:00"^^xsd:dateTime;
+ bt:isInState "New" . \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug11.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug11.ttl
new file mode 100644
index 0000000..a6d9a52
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug11.ttl
@@ -0,0 +1,12 @@
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix bt: <http://example.org/vocab/bugtracker#>.
+
+<> a bt:Bug;
+ dcterms:title "Product B GUI is too reddish";
+ dcterms:creator <http://example.org/users/janeroe>;
+ dcterms:created "2013-05-06T10:00"^^xsd:dateTime;
+ bt:isInState "InProgress" .
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug12.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug12.ttl
new file mode 100644
index 0000000..9326e91
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bug12.ttl
@@ -0,0 +1,12 @@
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix bt: <http://example.org/vocab/bugtracker#>.
+
+<> a bt:Bug;
+ dcterms:title "Product B is too slow";
+ dcterms:creator <http://example.org/users/johndoe>;
+ dcterms:created "2013-05-07T10:00"^^xsd:dateTime;
+ bt:isInState "InProgress" . \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bugTracker.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bugTracker.ttl
new file mode 100644
index 0000000..4ed4baf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/bugTracker.ttl
@@ -0,0 +1,7 @@
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+
+<> a ldp:Container;
+ ldp:membershipSubject <>;
+ ldp:membershipPredicate rdfs:member;
+ ldp:membershipObject ldp:MemberSubject. \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/config.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/config.ttl
new file mode 100644
index 0000000..ebf9246
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/config.ttl
@@ -0,0 +1,7 @@
+# The following is the configuration info for http://example.org/netWorth/nw1/assetContainer
+@prefix ldpimpl: <http://example.com/ns/LDPImpl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dcterms: <http://purl.org/dc/terms/> .
+
+#<> ldpimpl:memberInfo true . # Include member info in BPC rep (default: false)
+<> ldpimpl:resourceURIPrefix "bug" . # Prefix (appended to container URI) for POSTed resourced (default: "res")
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productA.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productA.ttl
new file mode 100644
index 0000000..d5443ef
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productA.ttl
@@ -0,0 +1,9 @@
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix bt: <http://example.org/vocab/bugtracker#>.
+
+<> a bt:Product;
+ dcterms:title "Product A" . \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productB.ttl b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productB.ttl
new file mode 100644
index 0000000..16eed88
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.bugtracker/src/main/resources/productB.ttl
@@ -0,0 +1,9 @@
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
+@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
+@prefix bt: <http://example.org/vocab/bugtracker#>.
+
+<> a bt:Product;
+ dcterms:title "Product B" . \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.networth/.classpath b/org.eclipse.lyo.ldp.sample.networth/.classpath
new file mode 100644
index 0000000..73c80ea
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/.classpath
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.sample.networth/.gitignore b/org.eclipse.lyo.ldp.sample.networth/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.eclipse.lyo.ldp.sample.networth/.project b/org.eclipse.lyo.ldp.sample.networth/.project
new file mode 100644
index 0000000..542e571
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.sample.networth</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.lyo.ldp.sample.networth/about.html b/org.eclipse.lyo.ldp.sample.networth/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.networth/license/edl-v10.html b/org.eclipse.lyo.ldp.sample.networth/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.sample.networth/license/epl-v10.html b/org.eclipse.lyo.ldp.sample.networth/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.networth/license/notice.html b/org.eclipse.lyo.ldp.sample.networth/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.sample.networth/pom.xml b/org.eclipse.lyo.ldp.sample.networth/pom.xml
new file mode 100644
index 0000000..7271707
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/pom.xml
@@ -0,0 +1,27 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-sample-networth</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>LDP Net Worth Sample</name>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.11</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server-jena</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/java/org/eclipse/lyo/ldp/sample/networth/NetWorthSample.java b/org.eclipse.lyo.ldp.sample.networth/src/main/java/org/eclipse/lyo/ldp/sample/networth/NetWorthSample.java
new file mode 100644
index 0000000..e1f5133
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/java/org/eclipse/lyo/ldp/sample/networth/NetWorthSample.java
@@ -0,0 +1,42 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.sample.networth;
+
+import java.io.InputStream;
+
+import org.eclipse.lyo.ldp.server.LDPConstants;
+import org.eclipse.lyo.ldp.server.LDPContainer;
+
+/**
+ * Bootstrap the net worth example.
+ *
+ * @author Samuel Padgett <spadgett@us.ibm.com>
+ */
+public class NetWorthSample {
+
+ private static final String[] RESOURCES = {
+ "a1.ttl", "a2.ttl", "a3.ttl", "a4.ttl", "a5.ttl"
+ };
+
+ public static void load(LDPContainer container) {
+ for (String res : RESOURCES) {
+ InputStream is = NetWorthSample.class.getClassLoader().getResourceAsStream(res);
+ container.post(is, LDPConstants.CT_TEXT_TURTLE);
+ }
+ }
+}
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a1.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a1.ttl
new file mode 100644
index 0000000..cd28c41
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a1.ttl
@@ -0,0 +1,4 @@
+# The following is the POST representation for asset a1
+@prefix o: <http://example.org/ontology/>.
+<> a o:Stock .
+<> o:value 10000 .
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a2.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a2.ttl
new file mode 100644
index 0000000..59ef297
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a2.ttl
@@ -0,0 +1,4 @@
+# The following is the POST representation for asset a2
+@prefix o: <http://example.org/ontology/>.
+<> a o:Bond .
+<> o:value 20000 .
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a3.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a3.ttl
new file mode 100644
index 0000000..8b96bc4
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a3.ttl
@@ -0,0 +1,4 @@
+# The following is the POST representation for asset a3
+@prefix o: <http://example.org/ontology/>.
+<> a o:RealEstateHolding .
+<> o:value 300000 .
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a4.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a4.ttl
new file mode 100644
index 0000000..8009c8f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a4.ttl
@@ -0,0 +1,4 @@
+# The following is the POST representation for asset a4
+@prefix o: <http://example.org/ontology/>.
+<> a o:Stock .
+<> o:value 5000 .
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a5.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a5.ttl
new file mode 100644
index 0000000..6502e34
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/a5.ttl
@@ -0,0 +1,4 @@
+# The following is the POST representation for asset a5
+@prefix o: <http://example.org/ontology/>.
+<> a o:Stock .
+<> o:value 25000 .
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/assetContainer.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/assetContainer.ttl
new file mode 100644
index 0000000..18c567b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/assetContainer.ttl
@@ -0,0 +1,14 @@
+# The following is the initial representation of
+# http://example.org/netWorth/nw1/assetContainer
+@prefix dcterms: <http://purl.org/dc/terms/>.
+@prefix ldp: <http://www.w3.org/ns/ldp#>.
+@prefix o: <http://example.org/ontology/>.
+
+<>
+ a ldp:Container;
+ dcterms:title "The assets of JohnZSmith";
+ ldp:membershipSubject <http://example.org/netWorth/nw1>;
+ ldp:membershipPredicate o:asset.
+
+<http://example.org/netWorth/nw1>
+ a o:NetWorth.
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/config.ttl b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/config.ttl
new file mode 100644
index 0000000..8c03f39
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/config.ttl
@@ -0,0 +1,10 @@
+# The following is the configuration info for http://example.org/netWorth/nw1/assetContainer
+@prefix ldpimpl: <http://example.com/ns/LDPImpl#> .
+@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix o: <http://example.org/ontology/> .
+
+<> ldpimpl:memberInfo true . # Include member info in BPC rep (default: false)
+#<> ldpimpl:memberFilter rdf:type, o:value . # Filter for member info (default: include all members)
+<> ldpimpl:pageSize 4 . # Use small value to test paging (default: 100)
+<> ldpimpl:pageSortPredicates ( o:value ) . # Sort predicates for paged representation (default: not sorted)
+<> ldpimpl:resourceURIPrefix "a" . # Prefix (appended to container URI) for POSTed resourced (default: "res")
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/main/resources/sort.sparql b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/sort.sparql
new file mode 100644
index 0000000..0f04b5e
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/main/resources/sort.sparql
@@ -0,0 +1,10 @@
+CONSTRUCT {
+ <http://example.org/netWorth/nw1> <http://example.org/ontology/asset> ?m .
+}
+WHERE {
+ <http://example.org/netWorth/nw1> <http://example.org/ontology/asset> ?m .
+ GRAPH ?m {
+ ?s1 <http://example.org/ontology/value> ?p1 .
+ }
+}
+ORDER BY ?p1 OFFSET 0 LIMIT 2
diff --git a/org.eclipse.lyo.ldp.sample.networth/src/test/java/org/eclipse/lyo/ldp/sample/networth/NetWorthTestCase.java b/org.eclipse.lyo.ldp.sample.networth/src/test/java/org/eclipse/lyo/ldp/sample/networth/NetWorthTestCase.java
new file mode 100644
index 0000000..99bad67
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample.networth/src/test/java/org/eclipse/lyo/ldp/sample/networth/NetWorthTestCase.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.sample.networth;
+
+import org.eclipse.lyo.ldp.server.LDPContainer;
+import org.eclipse.lyo.ldp.server.jena.JenaLDPContainer;
+import org.eclipse.lyo.ldp.server.jena.store.TDBGraphStore;
+import org.junit.Test;
+
+public class NetWorthTestCase {
+
+ private static final String ASSET_CONTAINER_URI = "http://example.org/netWorth/nw1/assetContainer";
+ private static final String ASSET_CONTAINER_CONFIG = "config.ttl";
+
+ private static final String ASSET_CONTAINER_REP = "assetContainer.ttl";
+ private static final String A1_REP = "a1.ttl";
+ private static final String A2_REP = "a2.ttl";
+ private static final String A3_REP = "a3.ttl";
+ private static final String A4_REP = "a4.ttl";
+ private static final String A5_REP = "a5.ttl";
+
+ @Test
+ public void testNetWorthExample() {
+ LDPContainer assetContainer = JenaLDPContainer.create(ASSET_CONTAINER_URI,
+ new TDBGraphStore(),
+ new TDBGraphStore(),
+ NetWorthSample.class.getClassLoader().getResourceAsStream(ASSET_CONTAINER_CONFIG));
+ assetContainer.put(NetWorthTestCase.class.getClassLoader().getResourceAsStream(ASSET_CONTAINER_REP), "text/turtle");
+
+ System.out.println("######## Initial Container: " + ASSET_CONTAINER_URI);
+ assetContainer.get(System.out, "text/turtle"/*"application/rdf+xml"*/);
+
+ String resourceURI;
+ resourceURI = assetContainer.post(NetWorthTestCase.class.getClassLoader().getResourceAsStream(A1_REP), "text/turtle");
+ System.out.println("######## POSTed resource: " + resourceURI);
+ assetContainer.get(resourceURI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ resourceURI = assetContainer.post(NetWorthTestCase.class.getClassLoader().getResourceAsStream(A2_REP), "text/turtle");
+ System.out.println("######## POSTed resource: " + resourceURI);
+ assetContainer.get(resourceURI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ resourceURI = assetContainer.post(NetWorthTestCase.class.getClassLoader().getResourceAsStream(A3_REP), "text/turtle");
+ System.out.println("######## POSTed resource: " + resourceURI);
+ assetContainer.get(resourceURI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+
+ System.out.println("######## Final Container (stage 1): " + ASSET_CONTAINER_URI + "?firstPage");
+ String nextPage = assetContainer.get(ASSET_CONTAINER_URI + "?firstPage", System.out, "text/turtle"/*"application/rdf+xml"*/);
+ while (nextPage != null) {
+ System.out.println("######## Page: " + nextPage);
+ nextPage = assetContainer.get(nextPage, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ }
+
+ System.out.println("######## Container non-members-properties: " + ASSET_CONTAINER_URI + "?non-member-properties");
+ assetContainer.get(ASSET_CONTAINER_URI + "?non-member-properties", System.out, "text/turtle"/*"application/rdf+xml"*/);
+
+ resourceURI = assetContainer.post(NetWorthTestCase.class.getClassLoader().getResourceAsStream(A4_REP), "text/turtle");
+ System.out.println("######## POSTed resource (stage 2): " + resourceURI);
+ assetContainer.get(resourceURI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ resourceURI = assetContainer.post(NetWorthTestCase.class.getClassLoader().getResourceAsStream(A5_REP), "text/turtle");
+ System.out.println("######## POSTed resource (stage 2): " + resourceURI);
+ assetContainer.get(resourceURI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+
+ System.out.println("######## Final Container (stage 2): " + ASSET_CONTAINER_URI + "?firstPage");
+ nextPage = assetContainer.get(ASSET_CONTAINER_URI + "?firstPage", System.out, "text/turtle"/*"application/rdf+xml"*/);
+ while (nextPage != null) {
+ System.out.println("######## Page: " + nextPage);
+ nextPage = assetContainer.get(nextPage, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ }
+
+ System.out.println("######## Delete resource: " + resourceURI);
+ assetContainer.delete(resourceURI);
+ try {
+ assetContainer.get(resourceURI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ System.out.println("ERROR: shouldn't get here!");
+ } catch (IllegalArgumentException e) { System.out.println("Deleted resource not found."); }
+
+ System.out.println("######## Final Container (no paging): " + ASSET_CONTAINER_URI);
+ //assetContainer.get(System.out, "text/turtle"/*"application/rdf+xml"*/);
+ assetContainer.get(ASSET_CONTAINER_URI, System.out, "text/turtle"/*"application/rdf+xml"*/);
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.sample/.classpath b/org.eclipse.lyo.ldp.sample/.classpath
new file mode 100644
index 0000000..fd7f781
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/.classpath
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.sample/.gitignore b/org.eclipse.lyo.ldp.sample/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.eclipse.lyo.ldp.sample/.project b/org.eclipse.lyo.ldp.sample/.project
new file mode 100644
index 0000000..0d92acf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.sample</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.sample/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.lyo.ldp.sample/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.lyo.ldp.sample/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.lyo.ldp.sample/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.lyo.ldp.sample/Launch LDP Server with Sample Data.launch b/org.eclipse.lyo.ldp.sample/Launch LDP Server with Sample Data.launch
new file mode 100644
index 0000000..423c010
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/Launch LDP Server with Sample Data.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="jetty:run"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.m2e.launching.MavenSourceLocator"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;sourceLookupDirector&gt;&#10;&lt;sourceContainers duplicates=&quot;true&quot;&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;workspace/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.workspace&quot;/&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;default/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#10;&lt;/sourceContainers&gt;&#10;&lt;/sourceLookupDirector&gt;&#10;"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.lyo.ldp.sample}"/>
+</launchConfiguration>
diff --git a/org.eclipse.lyo.ldp.sample/about.html b/org.eclipse.lyo.ldp.sample/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample/license/edl-v10.html b/org.eclipse.lyo.ldp.sample/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.sample/license/epl-v10.html b/org.eclipse.lyo.ldp.sample/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample/license/notice.html b/org.eclipse.lyo.ldp.sample/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.sample/pom.xml b/org.eclipse.lyo.ldp.sample/pom.xml
new file mode 100644
index 0000000..46b201e
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/pom.xml
@@ -0,0 +1,84 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-sample</artifactId>
+ <packaging>war</packaging>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>LDP Sample Implementation</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server-jena</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-sample-networth</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-sample-bugtracker</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <finalName>ldp</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <configuration>
+ <webAppConfig>
+ <contextPath>/ldp</contextPath>
+ </webAppConfig>
+
+ <!-- enable hot deploy -->
+ <reload>automatic</reload>
+ <scanIntervalSeconds>5</scanIntervalSeconds>
+ <scanTargets>
+ <scanTarget>src/main/webapp</scanTarget>
+ </scanTargets>
+
+ <systemProperties>
+ <systemProperty>
+ <name>jetty.port</name>
+ <value>8080</value>
+ </systemProperty>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <configuration>
+ <webAppConfig>
+ <contextPath>/ldp</contextPath>
+ </webAppConfig>
+
+ <!-- enable hot deploy -->
+ <reload>automatic</reload>
+ <scanIntervalSeconds>5</scanIntervalSeconds>
+ <scanTargets>
+ <scanTarget>src/main/webapp</scanTarget>
+ </scanTargets>
+
+ <systemProperties>
+ <systemProperty>
+ <name>jetty.port</name>
+ <value>8080</value>
+ </systemProperty>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/Bootstrap.java b/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/Bootstrap.java
new file mode 100644
index 0000000..ecdfeaf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/Bootstrap.java
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.sample;
+
+import javax.servlet.ServletContextEvent;
+import javax.servlet.ServletContextListener;
+
+import org.eclipse.lyo.ldp.sample.bugtracker.BugTrackerSample;
+import org.eclipse.lyo.ldp.sample.networth.NetWorthSample;
+import org.eclipse.lyo.ldp.server.LDPContainer;
+import org.eclipse.lyo.ldp.server.jena.JenaLDPService;
+
+public class Bootstrap implements ServletContextListener {
+
+ @Override
+ public void contextInitialized(ServletContextEvent e) {
+ LDPContainer container = JenaLDPService.getJenaRootContainer();
+ NetWorthSample.load(container);
+ BugTrackerSample.load(container);
+ }
+
+ @Override
+ public void contextDestroyed(ServletContextEvent e) {
+ }
+}
diff --git a/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/LDPApplication.java b/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/LDPApplication.java
new file mode 100644
index 0000000..0b2c8f9
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/LDPApplication.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.sample;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.ws.rs.core.Application;
+
+import org.eclipse.lyo.ldp.server.jena.JenaLDPService;
+
+public class LDPApplication extends Application {
+
+ @Override
+ public Set<Class<?>> getClasses() {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ classes.add(JenaLDPService.class);
+ classes.add(VisualizationService.class);
+ return classes;
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/VisualizationService.java b/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/VisualizationService.java
new file mode 100644
index 0000000..8814d22
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/src/main/java/org/eclipse/lyo/ldp/sample/VisualizationService.java
@@ -0,0 +1,123 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.sample;
+
+import java.util.HashMap;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.jena.atlas.json.JsonArray;
+import org.apache.jena.atlas.json.JsonObject;
+import org.eclipse.lyo.ldp.server.jena.JenaLDPService;
+import org.eclipse.lyo.ldp.server.service.LDPService;
+
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.RDFNode;
+import com.hp.hpl.jena.rdf.model.ResIterator;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+import com.hp.hpl.jena.vocabulary.RDF;
+
+@Path("/visualization")
+public class VisualizationService {
+
+ @GET
+ @Produces(MediaType.APPLICATION_JSON)
+ public String getVisualization() {
+ // Get the union of all graphs. FIXME: Specific to Jena TDB.
+ Model m = JenaLDPService.getJenaRootContainer().getGraphStore().getGraph("urn:x-arq:UnionGraph");
+
+ // Return the nodes and links in the format expected by D3.js for visualization.
+ JsonObject response = new JsonObject();
+ JsonArray nodes = new JsonArray();
+ response.put("nodes", nodes);
+ JsonArray links = new JsonArray();
+ response.put("links", links);
+ HashMap<String, Integer> resourceToNodeIndex = new HashMap<String, Integer>();
+ HashMap<String, Integer> typeToGroup = new HashMap<String, Integer>();
+ int i = 0;
+ int nextGroupID = 0;
+
+ m.enterCriticalSection(true);
+ try {
+ // Find all the nodes.
+ ResIterator subjects = m.listSubjects();
+ while (subjects.hasNext()) {
+ Resource subject = subjects.next();
+ JsonObject node = new JsonObject();
+ nodes.add(node);
+ String name = getNodeName(subject);
+ resourceToNodeIndex.put(name, i);
+ node.put("name", getNodeName(subject));
+ Resource type = subject.getPropertyResourceValue(RDF.type);
+ String typeString = (type == null) ? "none" : type.getURI();
+ Integer group = typeToGroup.get(typeString);
+ if (group == null) {
+ typeToGroup.put(typeString, nextGroupID);
+ node.put("group", nextGroupID);
+ nextGroupID++;
+ } else {
+ node.put("group", group.intValue());
+ }
+ i++;
+ }
+
+ // Iterate a second time to find the links.
+ subjects = m.listSubjects();
+ while (subjects.hasNext()) {
+ Resource subject = subjects.next();
+ StmtIterator statements = subject.listProperties();
+ while (statements.hasNext()) {
+ Statement s = statements.next();
+ RDFNode n = s.getObject();
+ if (n instanceof Resource) {
+ Resource object = (Resource) n;
+ Integer targetIndex = resourceToNodeIndex.get(getNodeName(object));
+ if (targetIndex != null) {
+ JsonObject link = new JsonObject();
+ Integer sourceIndex = resourceToNodeIndex.get(getNodeName(subject));
+ link.put("source", sourceIndex.intValue());
+ link.put("target", targetIndex.intValue());
+ link.put("value", 1);
+ links.add(link);
+ }
+ }
+ }
+ }
+ } finally {
+ m.leaveCriticalSection();
+ }
+
+ return response.toString();
+ }
+
+ private String getNodeName(Resource r) {
+ String uri = r.getURI();
+ if (uri == null) {
+ uri = r.getId().getLabelString();
+ }
+ if (uri.startsWith(LDPService.ROOT_APP_URL)) {
+ return uri.substring(LDPService.ROOT_APP_URL.length());
+ }
+ return uri;
+ }
+}
diff --git a/org.eclipse.lyo.ldp.sample/src/main/webapp/WEB-INF/web.xml b/org.eclipse.lyo.ldp.sample/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..24aef87
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+ <display-name>Linked Data Platform - Reference Implementation</display-name>
+ <servlet>
+ <servlet-name>JAX-RS Servlet</servlet-name>
+ <servlet-class>
+ org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
+ </servlet-class>
+ <!-- <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class> -->
+ <init-param>
+ <param-name>javax.ws.rs.Application</param-name>
+ <param-value>org.eclipse.lyo.ldp.sample.LDPApplication</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>JAX-RS Servlet</servlet-name>
+ <url-pattern>/resources/*</url-pattern>
+ </servlet-mapping>
+ <listener>
+ <listener-class>org.eclipse.lyo.ldp.sample.Bootstrap</listener-class>
+ </listener>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+</web-app> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample/src/main/webapp/index.html b/org.eclipse.lyo.ldp.sample/src/main/webapp/index.html
new file mode 100644
index 0000000..c64c5ff
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/src/main/webapp/index.html
@@ -0,0 +1,263 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Linked Data Profile Reference Implementation</title>
+<link rel="stylesheet" type="text/css" href="style.css">
+<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dojo/dojo.js" data-dojo-config="async: true"></script>
+<script src="http://d3js.org/d3.v3.min.js"></script>
+</head>
+<body>
+
+<h1>Linked Data Profile Reference Implementation</h1>
+
+<div id="visualization"></div>
+
+<div class="tabs">
+<a href="#" id="getTab" style="font-weight: bold;">GET</a> |
+<a href="#" id="putTab">PUT</a> |
+<a href="#" id="postTab">POST</a> |
+<a href="#" id="deleteTab">DELETE</a>
+</div>
+
+<div id="get" class="tabContent">
+<div>
+<form id="getForm">
+<input type="url" id="getURI" class="urlInput" value="http://localhost:8080/ldp/resources/" required>
+<select id="getMediaType">
+ <option>text/turtle</option>
+ <option>application/json</option>
+ <option>application/rdf+xml</option>
+</select>
+<input type="submit" value="GET">
+</form>
+</div>
+<div id="resources" class="fixed">Loading...</div>
+</div>
+
+<div id="put" class="tabContent" style="display: none;">
+<form id="putForm">
+<div id="putResult" style="display: none;" class="message"></div>
+<label for="putURI">Resource:</label>
+<input type="url" id="putURI" class="urlInput" value="" required>
+<textarea id="putContent" class="textArea" required></textarea>
+<label for="putMediaType">Media Type:</label>
+<select id="putMediaType">
+ <option>text/turtle</option>
+ <option>application/json</option>
+ <option>application/rdf+xml</option>
+</select>
+<input type="submit" value="PUT">
+</form>
+</div>
+
+<div id="post" class="tabContent" style="display: none;">
+<form id="postForm">
+<div id="postResult" style="display: none;" class="message"></div>
+<textarea id="postContent" class="textArea" required></textarea>
+<label for="postMediaType">Media Type:</label>
+<select id="postMediaType">
+ <option>text/turtle</option>
+ <option>application/json</option>
+ <option>application/rdf+xml</option>
+</select>
+<input type="submit" value="POST">
+</form>
+</div>
+
+<div id="delete" class="tabContent" style="display: none;">
+<div id="deleteResult" style="display: none;" class="message"></div>
+<form id="deleteForm">
+<label for="deleteURI">Resource:</label>
+<input type="url" id="deleteURI" class="urlInput" value="" required>
+<input type="submit" value="DELETE">
+</form>
+</div>
+
+<script>
+require([ "dojo/_base/xhr",
+ "dojo/_base/event",
+ "dojo/dom",
+ "dojo/on",
+ "dojo/query",
+ "dojo/ready",
+ "dojo/NodeList-dom"], function(xhr, event, dom, on, query, ready) {
+ function showTab(tab, content) {
+ query('.tabs a').style('font-weight', 'normal');
+ query('.tabContent').style('display', 'none');
+ dom.byId(tab).style.fontWeight = 'bold';
+ dom.byId(content).style.display = '';
+ }
+
+ function refresh() {
+ visualize();
+ getResource();
+ }
+
+ function getResource(e) {
+ if (e) {
+ event.stop(e);
+ }
+
+ xhr.get({
+ url: dom.byId('getURI').value,
+ headers: { Accept: dom.byId('getMediaType').value },
+ handleAs: 'text',
+ load: function(data) {
+ var n = dom.byId('resources');
+ n.innerHTML = '';
+ n.appendChild(document.createTextNode(data));
+ },
+ error: function() {
+ alert('Could not get resource.');
+ }
+ })
+ }
+
+ function putResource(e) {
+ event.stop(e);
+ xhr.put({
+ url: dom.byId('putURI').value,
+ headers: { 'Content-Type': dom.byId('putMediaType').value },
+ putData: dom.byId('putContent').value,
+ load: function(data, ioArgs) {
+ var n = dom.byId('putResult');
+ n.innerHTML = '';
+ n.appendChild(document.createTextNode('Updated resource ' + dom.byId('putURI').value));
+ n.style.display = '';
+ refresh();
+ },
+ error: function() {
+ var n = dom.byId('putResult');
+ n.innerHTML = '<span class="error">Could not update resource.</span>';
+ n.style.display = '';
+ }
+ });
+ }
+
+ function postResource(e) {
+ event.stop(e);
+ xhr.post({
+ url: '/ldp/resources',
+ headers: { 'Content-Type': dom.byId('postMediaType').value },
+ postData: dom.byId('postContent').value,
+ load: function(data, ioArgs) {
+ var l = ioArgs.xhr.getResponseHeader('Location');
+ var n = dom.byId('postResult');
+ n.innerHTML = '';
+ n.appendChild(document.createTextNode('Created resource ' + l));
+ n.style.display = '';
+ refresh();
+ },
+ error: function() {
+ var n = dom.byId('postResult');
+ n.innerHTML = '<span class="error">Could not create resource.</span>';
+ n.style.display = '';
+ }
+ });
+ }
+
+ function deleteResource(e) {
+ event.stop(e);
+
+ xhr.del({
+ url: dom.byId('deleteURI').value,
+ load: function(data) {
+ var n = dom.byId('deleteResult');
+ n.innerHTML = '';
+ n.appendChild(document.createTextNode('Deleted resource ' + dom.byId('putURI').value));
+ n.style.display = '';
+ refresh();
+ },
+ error: function() {
+ var n = dom.byId('deleteResult');
+ n.innerHTML = '<span class="error">Could not delete resource.</span>';
+ n.style.display = '';
+ n.innerHTML = '';
+ }
+ })
+ }
+
+ function visualize() {
+ dom.byId('visualization').innerHTML = '';
+ var width = Math.max(window.innerWidth - 50, 600),
+ height = 400;
+
+ var color = d3.scale.category20();
+
+ var force = d3.layout.force()
+ .charge(-150)
+ .linkDistance(300)
+ .size([width, height]);
+
+ var svg = d3.select("#visualization").append("svg")
+ .attr("width", width)
+ .attr("height", height);
+
+ d3.json("/ldp/resources/visualization", function(error, graph) {
+ force
+ .nodes(graph.nodes)
+ .links(graph.links)
+ .start();
+
+ var link = svg.selectAll(".link")
+ .data(graph.links)
+ .enter().append("line")
+ .attr("class", "link")
+ .style("stroke-width", function(d) { return Math.sqrt(d.value); });
+
+ var node = svg.selectAll(".node")
+ .data(graph.nodes)
+ .enter().append("g")
+ .attr("class", "node")
+ .call(force.drag);
+
+ node.append("circle").attr("r", 5)
+ .style("fill", function(d) { return color(d.group); })
+
+ node.append("text")
+ .attr("x", 12)
+ .attr("dy", ".35em")
+ .text(function(d) { return d.name; });
+
+ force.on("tick", function() {
+ link.attr("x1", function(d) { return d.source.x; })
+ .attr("y1", function(d) { return d.source.y; })
+ .attr("x2", function(d) { return d.target.x; })
+ .attr("y2", function(d) { return d.target.y; });
+
+ node.attr("transform", function(d) {
+ return "translate(" + d.x + "," + d.y + ")"; });
+ });
+ });
+ }
+
+ ready(function() {
+ on(dom.byId('getTab'), 'click', function(e) {
+ event.stop(e);
+ showTab('getTab', 'get');
+ });
+ on(dom.byId('putTab'), 'click', function(e) {
+ event.stop(e);
+ showTab('putTab', 'put');
+ });
+ on(dom.byId('postTab'), 'click', function(e) {
+ event.stop(e);
+ showTab('postTab', 'post');
+ });
+ on(dom.byId('deleteTab'), 'click', function(e) {
+ event.stop(e);
+ showTab('deleteTab', 'delete');
+ });
+ on(dom.byId('getForm'), 'submit', getResource);
+ on(dom.byId('putForm'), 'submit', putResource);
+ on(dom.byId('postForm'), 'submit', postResource);
+ on(dom.byId('deleteForm'), 'submit', deleteResource);
+ visualize();
+ getResource();
+ });
+});
+</script>
+
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.sample/src/main/webapp/style.css b/org.eclipse.lyo.ldp.sample/src/main/webapp/style.css
new file mode 100644
index 0000000..6babd8a
--- /dev/null
+++ b/org.eclipse.lyo.ldp.sample/src/main/webapp/style.css
@@ -0,0 +1,64 @@
+html {
+ color: #000;
+ background: #FFF;
+}
+
+body {
+ font-family: "Helvetica Neue",Helvetica,Arial,Verdana,Geneva,sans-serif;
+ color: #333;
+}
+
+.tabs {
+ margin-bottom: 0.5em;
+}
+
+.fixed {
+ font-family:monospace;
+ padding: 1em;
+ border: 1px dashed #2f6fab;
+ color: black;
+ background-color: #f9f9f9;
+ line-height: 1.1em;
+ white-space: pre;
+ overflow-x: scroll;
+ margin-top: 0.5em;
+}
+
+.urlInput {
+ width: 40em;
+}
+
+.message {
+ margin-bottom: 0.5em;
+}
+
+.textArea {
+ display: block;
+ width: 100%;
+ height: 20em;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box;
+ margin-bottom: 0.5em;
+}
+
+.error {
+ color: red;
+}
+
+circle {
+ stroke: #fff;
+ stroke-width: 1.5px;
+}
+
+.link {
+ stroke: #999;
+ stroke-opacity: .6;
+}
+
+text {
+ fill: #000;
+ font: 10px sans-serif;
+ pointer-events: none;
+}
+
diff --git a/org.eclipse.lyo.ldp.server.jena/.classpath b/org.eclipse.lyo.ldp.server.jena/.classpath
new file mode 100644
index 0000000..4558df7
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/.classpath
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.server.jena/.gitignore b/org.eclipse.lyo.ldp.server.jena/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.eclipse.lyo.ldp.server.jena/.project b/org.eclipse.lyo.ldp.server.jena/.project
new file mode 100644
index 0000000..0f1ac6c
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.server.jena</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.lyo.ldp.server.jena/about.html b/org.eclipse.lyo.ldp.server.jena/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.server.jena/license/edl-v10.html b/org.eclipse.lyo.ldp.server.jena/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.server.jena/license/epl-v10.html b/org.eclipse.lyo.ldp.server.jena/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.server.jena/license/notice.html b/org.eclipse.lyo.ldp.server.jena/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.server.jena/pom.xml b/org.eclipse.lyo.ldp.server.jena/pom.xml
new file mode 100644
index 0000000..1e205aa
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/pom.xml
@@ -0,0 +1,30 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server-jena</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>Jena LDP Reference Implementation</name>
+ <dependencies>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jena</groupId>
+ <artifactId>jena-tdb</artifactId>
+ <version>0.10.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.jsonld-java</groupId>
+ <artifactId>jsonld-java</artifactId>
+ <version>0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.jsonld-java</groupId>
+ <artifactId>jsonld-java-jena</artifactId>
+ <version>0.2</version>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPContainer.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPContainer.java
new file mode 100644
index 0000000..4f34deb
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPContainer.java
@@ -0,0 +1,614 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Calendar;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.jena.riot.WebContent;
+import org.eclipse.lyo.ldp.server.LDPConstants;
+import org.eclipse.lyo.ldp.server.LDPContainer;
+import org.eclipse.lyo.ldp.server.jena.store.GraphStore;
+import org.eclipse.lyo.ldp.server.jena.vocabulary.LDP;
+
+import com.github.jsonldjava.core.JSONLD;
+import com.github.jsonldjava.core.JSONLDProcessingError;
+import com.github.jsonldjava.core.JSONLDTripleCallback;
+import com.github.jsonldjava.core.Options;
+import com.github.jsonldjava.impl.JenaRDFParser;
+import com.github.jsonldjava.impl.JenaTripleCallback;
+import com.github.jsonldjava.utils.JSONUtils;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.ModelFactory;
+import com.hp.hpl.jena.rdf.model.NodeIterator;
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.RDFList;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+import com.hp.hpl.jena.rdf.model.Statement;
+import com.hp.hpl.jena.rdf.model.StmtIterator;
+import com.hp.hpl.jena.vocabulary.DCTerms;
+import com.hp.hpl.jena.vocabulary.RDF;
+import com.hp.hpl.jena.vocabulary.RDFS;
+
+/**
+ * This class implements a Linked Data Profile Container (LDP-C) using an RDF Graph Store.
+ * The LDP specification can be found at www.w3.org/2012/ldp/hg/ldp.html.
+ */
+public class JenaLDPContainer implements LDPContainer
+{
+ protected final String fContainerURI; // URI of the BPC
+
+ protected String fResourceURIPrefix; // URI prefix of POSTED resource URIs
+ protected int fPageSize; // members per LDP-C page
+ protected boolean fMemberInfo; // include member info in container representation
+ protected Set<Property> fMemberFilter; // filtered list of members to include
+ protected RDFList fSortPredicates; // sort predicates for paged representation
+
+ public static final String NON_MEMBER_PROPERTIES = "?non-member-properties";
+ public static final String FIRST_PAGE = "?firstPage";
+ public static final String NTH_PAGE = "?p=";
+ public static final int DEFAULT_PAGE_SIZE = 100;
+ public static final String DEFAULT_RESOURCE_PREFIX = "res";
+
+ protected final GraphStore fGraphStore; // GraphStore in which to store the container and member resources
+ protected final GraphStore fPageStore; // GraphStore for page graphs
+
+ protected boolean fComputePages = true; // true when paged representation needs to be recomputed.
+
+ /**
+ * Create a LDPContainer instance for the specified URI.
+ * @param containerURI the URI of the BPC.
+ * @param graphStore the GraphStore for the container and member resources.
+ * @param pageStore the GraphStore for page graphs.
+ * @param config an RDF input stream containing configuration parameters (in Turtle format).
+ * @return the created LDPContainer.
+ */
+ public static JenaLDPContainer create(String containerURI, GraphStore graphStore, GraphStore pageStore, InputStream config)
+ {
+ return new JenaLDPContainer(containerURI, graphStore, pageStore, config);
+ }
+
+ /**
+ * Create a LDPContainer instance for the specified URI and with the default configuration parameters}.
+ * @see #LDPContainer(String, String, GraphStore, GraphStore, InputStream)
+ */
+ public static JenaLDPContainer create(String containerURI, GraphStore graphStore, GraphStore pageStore)
+ {
+ return create(containerURI, graphStore, pageStore, null);
+ }
+
+ protected JenaLDPContainer(String containerURI, GraphStore graphStore, GraphStore pageStore, InputStream config)
+ {
+ fContainerURI = containerURI;
+ fGraphStore = graphStore;
+ fPageStore = pageStore;
+ setConfigParameters(config, "text/turtle");
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#setConfigParameters(java.io.InputStream, java.lang.String)
+ */
+ public void setConfigParameters(InputStream config, String contentType)
+ {
+ if (config != null) {
+ Model model = ModelFactory.createDefaultModel();
+ String lang = WebContent.contentTypeToLang(contentType).getName();
+ model.read(config, fContainerURI, lang);
+ fGraphStore.putGraph(null, model); // store config info in (hidden) default graph.
+ model.close();
+ }
+
+ Model configGraph = fGraphStore.getGraph(null);
+ Resource containerResource = configGraph.getResource(fContainerURI);
+
+ // Get page size int value
+ Statement stmt = containerResource.getProperty(JenaLDPImpl.pageSize);
+ fPageSize = stmt != null ? stmt.getObject().asLiteral().getInt() : DEFAULT_PAGE_SIZE;
+
+ // Get member info boolean value
+ stmt = containerResource.getProperty(JenaLDPImpl.memberInfo);
+ fMemberInfo = stmt != null ? stmt.getObject().asLiteral().getBoolean() : false;
+
+ // Get member filter Property values
+ NodeIterator iter = configGraph.listObjectsOfProperty(containerResource, JenaLDPImpl.memberFilter);
+ if (iter.hasNext()) {
+ fMemberFilter = new HashSet<Property>();
+ do {
+ String uri = iter.next().asResource().getURI();
+ fMemberFilter.add(ResourceFactory.createProperty(uri));
+ } while (iter.hasNext());
+ }
+ else
+ fMemberFilter = null;
+
+ // Get sort predicate values
+ stmt = containerResource.getProperty(JenaLDPImpl.pageSortPredicates);
+ fSortPredicates = stmt != null ? stmt.getObject().as(RDFList.class) : null;
+
+ // Get resource URI prefix string value
+ stmt = containerResource.getProperty(JenaLDPImpl.resourceURIPrefix);
+ fResourceURIPrefix = appendURISegment(fContainerURI, stmt != null ? stmt.getObject().asLiteral().getString() : DEFAULT_RESOURCE_PREFIX);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#get(java.io.OutputStream, java.lang.String)
+ */
+ public void get(OutputStream outStream, String contentType)
+ {
+ get(fContainerURI, outStream, contentType);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#put(java.io.InputStream, java.lang.String)
+ */
+ public void put(InputStream stream, String contentType)
+ {
+ put(stream, contentType, null);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#put(java.io.InputStream, java.lang.String, java.lang.String)
+ */
+ public void put(InputStream stream, String contentType, String user)
+ {
+ put(fContainerURI + NON_MEMBER_PROPERTIES, stream, contentType);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#query(java.io.OutputStream, java.lang.String, java.lang.String)
+ */
+ public void query(OutputStream outStream, String queryString, String resultsFormat)
+ {
+ fGraphStore.query(outStream, queryString, resultsFormat);
+ }
+
+ /*
+ public void construct(OutputStream outStream, String constructQuery) // FB TEMP, for testing.
+ {
+ Model model = fGraphStore.construct(constructQuery);
+ model.write(outStream, "Turtle");
+ }
+ */
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#post(java.io.InputStream, java.lang.String)
+ */
+ public String post(InputStream stream, String contentType)
+ {
+ return post(stream, contentType, null);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#post(java.io.InputStream, java.lang.String, java.lang.String)
+ */
+ public String post(InputStream stream, String contentType, String user)
+ {
+ String resourceURI = fGraphStore.createGraph(fResourceURIPrefix);
+ return addResource(resourceURI, resourceURI, stream, contentType, user);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#put(java.lang.String, java.io.InputStream, java.lang.String)
+ */
+ public void put(String resourceURI, InputStream stream, String contentType)
+ {
+ put(resourceURI, stream, contentType, null);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#put(java.lang.String, java.io.InputStream, java.lang.String, java.lang.String)
+ */
+ public void put(String resourceURI, InputStream stream, String contentType, String user)
+ {
+ String baseURI = resourceURI.equals(fContainerURI + NON_MEMBER_PROPERTIES) ? fContainerURI : resourceURI;
+ if (fGraphStore.getGraph(resourceURI) == null)
+ addResource(resourceURI, baseURI, stream, contentType, user);
+ else
+ updateResource(resourceURI, baseURI, stream, contentType, user);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#patch(java.lang.String, java.io.InputStream, java.lang.String)
+ */
+ public void patch(String resourceURI, InputStream stream, String contentType)
+ {
+ patch(resourceURI, stream, contentType, null);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#patch(java.lang.String, java.io.InputStream, java.lang.String, java.lang.String)
+ */
+ public void patch(String resourceURI, InputStream stream, String contentType, String user)
+ {
+ String baseURI = resourceURI.equals(fContainerURI + NON_MEMBER_PROPERTIES) ? fContainerURI : resourceURI;
+ if (fGraphStore.getGraph(resourceURI) == null)
+ addResource(resourceURI, baseURI, stream, contentType, user);
+ else
+ patchResource(resourceURI, baseURI, stream, contentType, user);
+ }
+
+ private static String UNSPECIFIED_USER = "http://unspecified.user"; // TODO: How to handle this properly?
+
+ private String addResource(String resourceURI, String baseURI, InputStream stream, String contentType, String user)
+ {
+ Model model = readModel(baseURI, stream, contentType);
+ Resource subject = model.getResource(baseURI);
+
+ // Add membership triple
+ if (!fContainerURI.equals(baseURI)) {
+ Model container = fGraphStore.getGraph(fContainerURI + NON_MEMBER_PROPERTIES);
+ Property membershipPredicate = getMembershipPredicate(container);
+ Resource membershipSubject = getMembershipSubject(container);
+ model.add(membershipSubject, membershipPredicate, subject);
+ }
+
+ // Add dcterms:creator, dcterms:created, dcterms:contributor, and dcterms:modified
+ if (user == null) user = UNSPECIFIED_USER;
+ if (!model.contains(subject, DCTerms.creator))
+ model.add(subject, DCTerms.creator, model.createResource(user));
+ if (!model.contains(subject, DCTerms.contributor))
+ model.add(subject, DCTerms.contributor, model.createResource(user));
+ Calendar time = Calendar.getInstance();
+ if (!model.contains(subject, DCTerms.created))
+ model.add(subject, DCTerms.created, model.createTypedLiteral(time));
+ if (!model.contains(subject, DCTerms.modified))
+ model.add(subject, DCTerms.modified, model.createTypedLiteral(time));
+
+ fGraphStore.putGraph(resourceURI, model);
+ fComputePages = true;
+ return resourceURI;
+ }
+
+ private Model readModel(String baseURI, InputStream stream, String contentType) {
+ final Model model;
+ if (LDPConstants.CT_APPLICATION_JSON.equals(contentType) || LDPConstants.CT_APPLICATION_LD_JSON.equals(contentType)) {
+ final JSONLDTripleCallback callback = new JenaTripleCallback();
+ try {
+ model = (Model) JSONLD.toRDF(JSONUtils.fromInputStream(stream), callback);
+ } catch (JSONLDProcessingError e) {
+ throw new RuntimeException(e);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ } else {
+ model = ModelFactory.createDefaultModel();
+ String lang = WebContent.contentTypeToLang(contentType).getName();
+ model.read(stream, baseURI, lang);
+ }
+
+ return model;
+ }
+
+ private void updateResource(String resourceURI, String baseURI, InputStream stream, String contentType, String user)
+ {
+ Model model = readModel(baseURI, stream, contentType);
+ Resource subject = model.getResource(resourceURI);
+
+ // Update dcterms:modified
+ if (user == null) user = UNSPECIFIED_USER;
+ Calendar time = Calendar.getInstance();
+ model.removeAll(subject, DCTerms.modified, null);
+ model.add(subject, DCTerms.modified, model.createTypedLiteral(time));
+
+ fGraphStore.putGraph(resourceURI, model);
+ model.close();
+ fComputePages = true;
+ }
+
+ private void patchResource(String resourceURI, String baseURI, InputStream stream, String contentType, String user)
+ {
+ Model model = readModel(baseURI, stream, contentType);
+ Resource subject = model.getResource(resourceURI);
+
+ // Update dcterms:modified
+
+ Calendar time = Calendar.getInstance();
+ model.removeAll(subject, DCTerms.modified, null);
+ model.add(subject, DCTerms.modified, model.createTypedLiteral(time));
+
+ // TODO: Process patch contents
+
+ /*fGraphStore.putGraph(resourceURI, model);
+ model.close();
+ fComputePages = true; */
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#delete(java.lang.String)
+ */
+ public void delete(String resourceURI)
+ {
+ fGraphStore.deleteGraph(resourceURI);
+ fComputePages = true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.lyo.ldp.server.impl.ILDPContainer#get(java.lang.String, java.io.OutputStream, java.lang.String)
+ */
+ public String get(String resourceURI, OutputStream outStream, String contentType)
+ {
+ if (resourceURI.startsWith(fContainerURI)) {
+ String suffix = resourceURI.substring(fContainerURI.length());
+ if (suffix.startsWith("?") && !NON_MEMBER_PROPERTIES.equals(suffix))
+ return getPage(suffix, outStream, contentType);
+ }
+
+ Model graph = null;
+ if (fContainerURI.equals(resourceURI)) {
+ graph = ModelFactory.createDefaultModel();
+ graph.add(fGraphStore.construct(getMembersQuery()));
+ graph.add(fGraphStore.getGraph(fContainerURI + NON_MEMBER_PROPERTIES));
+ }
+ else {
+ graph = fGraphStore.getGraph(resourceURI);
+ if (graph == null)
+ throw new IllegalArgumentException();
+ }
+
+ if (fMemberInfo)
+ graph = addMemberInformation(graph);
+
+ if (LDPConstants.CT_APPLICATION_JSON.equals(contentType)) {
+ try {
+ Object json = JSONLD.fromRDF(graph, new JenaRDFParser());
+ InputStream is = getClass().getClassLoader().getResourceAsStream("context.jsonld");
+ Object context = JSONUtils.fromInputStream(is);
+ json = JSONLD.compact(json, context, new Options("", true));
+ JSONUtils.writePrettyPrint(new PrintWriter(outStream), json);
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new RuntimeException(e);
+ }
+ } else {
+ String lang = WebContent.contentTypeToLang(contentType).getName();
+ graph.write(outStream, lang);
+ }
+ return null;
+ }
+
+ public GraphStore getGraphStore() {
+ return fGraphStore;
+ }
+
+ private synchronized String getPage(String page, OutputStream outStream, String contentType)
+ {
+ if (fComputePages && FIRST_PAGE.equals(page)) {
+ fComputePages = false;
+ computePages();
+ }
+
+ String pageURI = fContainerURI + page;
+ Model pageModel = fPageStore.getGraph(pageURI);
+ if (pageModel == null)
+ throw new IllegalArgumentException();
+
+ Model resultModel;
+ String nextPage = null;
+ Resource pageResource = pageModel.getResource(pageURI);
+ Resource nextPageResource = pageResource.getPropertyResourceValue(LDP.nextPage);
+ if (!RDF.nil.equals(nextPageResource))
+ nextPage = nextPageResource.getURI();
+ resultModel = ModelFactory.createDefaultModel();
+ resultModel.add(pageModel);
+ resultModel.add(fGraphStore.getGraph(fContainerURI + NON_MEMBER_PROPERTIES));
+
+ if (fMemberInfo)
+ resultModel = addMemberInformation(resultModel);
+
+ String lang = WebContent.contentTypeToLang(contentType).getName();
+ resultModel.write(outStream, lang);
+ return nextPage;
+ }
+
+ private void computePages()
+ {
+ String currentPageURI = fContainerURI + FIRST_PAGE;
+ Model currentPageModel = ModelFactory.createDefaultModel();
+ Resource containerResource = currentPageModel.getResource(fContainerURI);
+ String memberQuery = fSortPredicates != null ? getSortedMembersQuery() : getMembersQuery();
+ String previousPageURI = null;
+ Model previousPageModel = null;
+
+ for (long memberOffset = 0; true; memberOffset += fPageSize) {
+ String pageQuery = getPagingQuery(memberQuery, memberOffset, fPageSize);
+ Model pageMembers = fGraphStore.construct(pageQuery);
+ currentPageModel.add(pageMembers);
+
+ String nextPageURI;
+ long memberCount = pageMembers.size();
+ if (memberCount < fPageSize) {
+ if (memberCount == 0 && memberOffset != 0) {
+ fGraphStore.deleteGraph(currentPageURI);
+ Resource previousPageResource = previousPageModel.getResource(previousPageURI);
+ previousPageModel.removeAll(previousPageResource, LDP.nextPage, null);
+ previousPageModel.add(previousPageResource, LDP.nextPage, RDF.nil);
+ fPageStore.putGraph(previousPageURI, previousPageModel);
+ return;
+ }
+ nextPageURI = null;
+ }
+ else {
+ nextPageURI = fPageStore.createGraph(fContainerURI + NTH_PAGE);
+ }
+
+ // Add bp:nextPage triple
+ Resource pageResource = currentPageModel.getResource(currentPageURI);
+ currentPageModel.add(pageResource, RDF.type, LDP.Page);
+ currentPageModel.add(pageResource, LDP.pageOf, containerResource);
+ currentPageModel.add(pageResource, LDP.nextPage, nextPageURI != null ? currentPageModel.getResource(nextPageURI) : RDF.nil);
+
+ if (fSortPredicates != null) {
+ RDFList list = currentPageModel.createList(fSortPredicates.iterator());
+ currentPageModel.add(pageResource, LDP.containerSortPredicates, list);
+ }
+
+ fPageStore.putGraph(currentPageURI, currentPageModel);
+ if (nextPageURI == null)
+ return;
+
+ // Move to next page
+ previousPageModel = currentPageModel;
+ previousPageURI = currentPageURI;
+ currentPageModel = ModelFactory.createDefaultModel();
+ currentPageURI = nextPageURI;
+ }
+ }
+
+ private Model addMemberInformation(Model container)
+ {
+ Model result = ModelFactory.createDefaultModel();
+ result.add(container);
+
+ Property membershipPredicate = getMembershipPredicate(container);
+ Resource membershipSubject = getMembershipSubject(container);
+
+ for (NodeIterator iter = container.listObjectsOfProperty(membershipSubject, membershipPredicate); iter.hasNext(); ) {
+ Resource member = iter.next().asResource();
+ if (fMemberFilter == null) {
+ // Add all the triples from the member
+ result.add(fGraphStore.getGraph(member.getURI()));
+ }
+ else {
+ // Filter the triples to be added
+ Model memberGraph = fGraphStore.getGraph(member.getURI());
+ //for (StmtIterator siter = memberGraph.listStatements(member, null, (RDFNode)null); siter.hasNext(); ) {
+ for (StmtIterator siter = memberGraph.listStatements(); siter.hasNext(); ) {
+ Statement stmt = siter.next();
+ if (fMemberFilter.contains(stmt.getPredicate()))
+ result.add(stmt);
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Create the SPARQL query string that will be used to retrieve the container members for generated pages.
+ * The query has the following form:
+ * <pre>
+ * CONSTRUCT {
+ * <$MEMBER_SUBJECT> <$MEMBER_PREDICATE> ?m .
+ * }
+ * WHERE {
+ * <$MEMBER_SUBJECT> <$MEMBER_PREDICATE> ?m .
+ * ?m <$SORT_PREDICATE_1> ?p1 .
+ * ?m <$SORT_PREDICATE_2> ?p2 .
+ * ...
+ * ?m <$SORT_PREDICATE_N> ?pN .
+ * }
+ * ORDER BY ?p1 ?p2 ... ?pN
+ * OFFSET $PAGE_START LIMIT $PAGE_SIZE
+ * </pre>
+ * @param pageStart the starting offset of the page of members.
+ * @param pageSize the number of members per page.
+ * @return a SPARQL CONSTRUCT query.
+ */
+ private String getPagingQuery(String baseQuery, long pageStart, long pageSize)
+ {
+ StringBuffer sb = new StringBuffer(baseQuery);
+ sb.append(" OFFSET ");
+ sb.append(pageStart);
+ sb.append(" LIMIT ");
+ sb.append(pageSize);
+ return sb.toString();
+ }
+
+ private String fSortedMembersQuery = null;
+ private String getSortedMembersQuery()
+ {
+ if (fSortedMembersQuery == null) {
+ StringBuffer sb = getBaseMembersQuery();
+ //sb.append("GRAPH ?m { ");
+ int listSize = fSortPredicates.size();
+ for (int i = 0; i < listSize; i++) {
+ sb.append("?m");
+ //sb.append("?s");
+ //sb.append(i);
+ sb.append(" <");
+ sb.append(fSortPredicates.get(i).asResource().getURI());
+ sb.append("> ?p");
+ sb.append(i);
+ sb.append(" . ");
+ }
+ //sb.append("} ");
+ sb.append("} ORDER BY");
+ for (int i = 0; i < listSize; i++) {
+ sb.append(" ?p");
+ sb.append(i);
+ }
+ fSortedMembersQuery = sb.toString();
+ //System.out.println("sorted construct query:\n" + fSortedConstructQuery);
+ }
+ return fSortedMembersQuery;
+ }
+
+ private String fMembersQuery = null;
+ private String getMembersQuery()
+ {
+ if (fMembersQuery == null) {
+ StringBuffer sb = getBaseMembersQuery();
+ sb.append("}");
+ fMembersQuery = sb.toString();
+ //System.out.println("construct query:\n" + fConstructQuery);
+ }
+ return fMembersQuery;
+ }
+
+ private StringBuffer getBaseMembersQuery()
+ {
+ Model containerGraph = fGraphStore.getGraph(fContainerURI + NON_MEMBER_PROPERTIES);
+ Property membershipPredicate = getMembershipPredicate(containerGraph);
+ Resource membershipSubject = getMembershipSubject(containerGraph);
+ StringBuffer sb = new StringBuffer("CONSTRUCT { <");
+ sb.append(membershipSubject);
+ sb.append("> <");
+ sb.append(membershipPredicate);
+ sb.append("> ?m . } WHERE { <");
+ sb.append(membershipSubject);
+ sb.append("> <");
+ sb.append(membershipPredicate);
+ sb.append("> ?m . ");
+ return sb;
+ }
+
+ private Property getMembershipPredicate(Model containerGraph)
+ {
+ Resource containerResource = containerGraph.getResource(fContainerURI);
+ Statement stmt = containerResource.getProperty(LDP.membershipPredicate);
+ return stmt != null ? containerGraph.getProperty(stmt.getObject().asResource().getURI()) : RDFS.member;
+ }
+
+ private Resource getMembershipSubject(Model containerGraph)
+ {
+ Resource containerResource = containerGraph.getResource(fContainerURI);
+ Statement stmt = containerResource.getProperty(LDP.membershipSubject);
+ return stmt != null ? stmt.getObject().asResource() : containerResource;
+ }
+
+ private String appendURISegment(String base, String append)
+ {
+ return base.endsWith("/") ? base + append : base + "/" + append;
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPImpl.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPImpl.java
new file mode 100644
index 0000000..65a25ae
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPImpl.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena;
+
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+
+/**
+ * Basic Profile Implementation (Config) Vocabulary
+ */
+public class JenaLDPImpl
+{
+ protected static final String NS = "http://example.com/ns/LDPImpl#";
+
+ /**
+ * The namespace of the vocabulary as a string
+ */
+ public static String getURI()
+ {
+ return NS;
+ }
+
+ /**
+ * The namespace of the vocabulary as a resource
+ */
+ public static final Resource NAMESPACE = ResourceFactory.createResource(NS);
+
+ public static final Property memberInfo = property("memberInfo"); // Include member info in BPC rep (default: false)
+ public static final Property memberFilter = property("memberFilter"); // Filter for member info (default: include all members)
+ public static final Property pageSize = property("pageSize"); // Page size for paged representation (default: 100)
+ public static final Property pageSortPredicates = property("pageSortPredicates"); // Sort predicates for paged representation (default: not sorted)
+ public static final Property resourceURIPrefix = property("resourceURIPrefix"); // Prefix used for POSTED resource URIs (default: "res")
+
+ //protected static final Resource resource(String local)
+ //{
+ // return ResourceFactory.createResource(NS + local);
+ //}
+
+ protected static final Property property(String local)
+ {
+ return ResourceFactory.createProperty(NS, local);
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPServer.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPServer.java
new file mode 100644
index 0000000..05c8fea
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPServer.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena;
+
+import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
+
+public class JenaLDPServer {
+
+ protected JenaLDPServer() throws Exception {
+ JAXRSServerFactoryBean serverFactory = new JAXRSServerFactoryBean();
+ serverFactory.setResourceClasses(JenaLDPService.class);
+ serverFactory.setResourceProvider(JenaLDPService.class,
+ new SingletonResourceProvider(new JenaLDPService()));
+ serverFactory.setAddress("http://localhost:8080/");
+ serverFactory.create();
+ }
+
+ public static void main(String args[]) throws Exception {
+ new JenaLDPServer();
+ System.out.println("Server starting up...");
+
+ Thread.sleep(300000);
+ System.out.println("Server shutting down...");
+ System.exit(0);
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPService.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPService.java
new file mode 100644
index 0000000..637c6d8
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/JenaLDPService.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena;
+
+import java.io.ByteArrayInputStream;
+
+import org.eclipse.lyo.ldp.server.LDPConstants;
+import org.eclipse.lyo.ldp.server.LDPContainer;
+import org.eclipse.lyo.ldp.server.jena.store.TDBGraphStore;
+import org.eclipse.lyo.ldp.server.jena.vocabulary.LDP;
+import org.eclipse.lyo.ldp.server.service.LDPService;
+
+public class JenaLDPService extends LDPService {
+ private static JenaLDPContainer rootContainer;
+
+ static {
+ reset();
+ // Create an empty container.
+ String stuff="<"+ROOT_CONTAINER_URL+"> a <" + LDP.Container.getURI() + ">.";
+ rootContainer.put(new ByteArrayInputStream( stuff.getBytes() ), LDPConstants.CT_TEXT_TURTLE);
+ }
+
+ private static void reset() {
+ rootContainer = JenaLDPContainer.create(ROOT_CONTAINER_URL, new TDBGraphStore(), new TDBGraphStore());
+ }
+
+ public static JenaLDPContainer getJenaRootContainer() {
+ return rootContainer;
+ }
+
+ @Override
+ protected synchronized void resetContainer() {
+ JenaLDPService.reset();
+ }
+
+ @Override
+ public LDPContainer getRootContainer() {
+ return rootContainer;
+ }
+}
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/GraphStore.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/GraphStore.java
new file mode 100644
index 0000000..673a496
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/GraphStore.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena.store;
+
+import java.io.OutputStream;
+
+import com.hp.hpl.jena.rdf.model.Model;
+
+/**
+ * Interface to an RDF Graph Store.
+ */
+public interface GraphStore
+{
+ void putGraph(String graphURI, Model model);
+ Model getGraph(String graphURI);
+ void deleteGraph(String graphURI);
+ String createGraph(String graphURIPrefix);
+ void query(OutputStream outStream, String queryString);
+ void query(OutputStream outStream, String queryString, String contentType);
+ Model construct(String queryString);
+
+}
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/TDBGraphStore.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/TDBGraphStore.java
new file mode 100644
index 0000000..bce0f36
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/store/TDBGraphStore.java
@@ -0,0 +1,162 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena.store;
+
+import java.io.OutputStream;
+
+import org.eclipse.lyo.ldp.server.LDPConstants;
+
+import com.hp.hpl.jena.query.Dataset;
+import com.hp.hpl.jena.query.Query;
+import com.hp.hpl.jena.query.QueryExecution;
+import com.hp.hpl.jena.query.QueryExecutionFactory;
+import com.hp.hpl.jena.query.QueryFactory;
+import com.hp.hpl.jena.query.ResultSet;
+import com.hp.hpl.jena.query.ResultSetFormatter;
+import com.hp.hpl.jena.rdf.model.Model;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.shared.Lock;
+import com.hp.hpl.jena.tdb.TDB;
+import com.hp.hpl.jena.tdb.TDBFactory;
+import com.hp.hpl.jena.tdb.base.block.FileMode;
+import com.hp.hpl.jena.tdb.sys.SystemTDB;
+import com.hp.hpl.jena.vocabulary.DCTerms;
+
+/**
+ * This class implements a Graph Store using a Jena TDB dataset.
+ */
+public class TDBGraphStore implements GraphStore
+{
+ static {
+ TDB.getContext().set(TDB.symUnionDefaultGraph, true);
+ TDB.setOptimizerWarningFlag(false);
+ SystemTDB.setFileMode(FileMode.direct) ;
+ }
+
+ protected Dataset fDataset; // Dataset to store the graphs
+
+ public TDBGraphStore(Dataset dataset)
+ {
+ fDataset = dataset;
+ }
+
+ public TDBGraphStore() // Use in-memory Dataset. For testing.
+ {
+ fDataset = TDBFactory.createDataset();
+ }
+
+ public void putGraph(String graphURI, Model model)
+ {
+ Lock lock = fDataset.getLock();
+ lock.enterCriticalSection(Lock.WRITE);
+ try {
+ Model graphModel = graphURI != null ? fDataset.getNamedModel(graphURI) : fDataset.getDefaultModel();
+ graphModel.removeAll();
+ graphModel.add(model);
+ TDB.sync(fDataset);
+ } finally {
+ lock.leaveCriticalSection();
+ }
+ }
+
+ public Model getGraph(String graphURI)
+ {
+ Model model;
+ Lock lock = fDataset.getLock();
+ lock.enterCriticalSection(Lock.READ);
+ try {
+ if (graphURI != null)
+ model = fDataset.containsNamedModel(graphURI) ? fDataset.getNamedModel(graphURI) : null;
+ else
+ model = fDataset.getDefaultModel();
+ } finally {
+ lock.leaveCriticalSection();
+ }
+ return model;
+ }
+
+ public void deleteGraph(String graphURI)
+ {
+ Lock lock = fDataset.getLock();
+ lock.enterCriticalSection(Lock.WRITE);
+ try {
+ Model model = fDataset.getNamedModel(graphURI);
+ Resource resource = model.getResource(graphURI);
+ fDataset.asDatasetGraph().removeGraph(resource.asNode());
+ TDB.sync(fDataset);
+ } finally {
+ lock.leaveCriticalSection();
+ }
+ }
+
+ public String createGraph(String graphURIPrefix)
+ {
+ String graphURI;
+ Lock lock = fDataset.getLock();
+ lock.enterCriticalSection(Lock.WRITE);
+ try {
+ for (long count = 1; ; ++count) {
+ graphURI = graphURIPrefix + count;
+ if (!fDataset.containsNamedModel(graphURI)) break;
+ }
+ // Add a dummy triple, just to allocate the graph
+ Model model = fDataset.getNamedModel(graphURI);
+ Resource graphResource = model.getResource(graphURI);
+ model.add(graphResource, DCTerms.description, "Graph Placeholder");
+ TDB.sync(fDataset);
+ } finally {
+ lock.leaveCriticalSection();
+ }
+ return graphURI;
+ }
+
+ public void query(OutputStream outStream, String queryString)
+ {
+ query(outStream, queryString, null);
+ }
+
+ @Override
+ public void query(OutputStream outStream, String queryString, String resultsFormat) {
+ Lock lock = fDataset.getLock();
+ lock.enterCriticalSection(Lock.READ);
+ try {
+ Query query = QueryFactory.create(queryString);
+ QueryExecution qexec = QueryExecutionFactory.create(query, fDataset);
+ ResultSet result = qexec.execSelect();
+ try {
+ if (resultsFormat != null && resultsFormat.equals(LDPConstants.CT_APPLICATION_SPARQLRESULTSJSON)) {
+ ResultSetFormatter.outputAsJSON(outStream, result);
+ } else {
+ ResultSetFormatter.outputAsXML(outStream, result);
+ }
+ } finally { qexec.close(); }
+ } finally { lock.leaveCriticalSection(); }
+ }
+
+ public Model construct(String queryString)
+ {
+ Lock lock = fDataset.getLock();
+ lock.enterCriticalSection(Lock.READ);
+ try {
+ Query query = QueryFactory.create(queryString);
+ QueryExecution qexec = QueryExecutionFactory.create(query, fDataset);
+ return qexec.execConstruct();
+ } finally { lock.leaveCriticalSection(); }
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/vocabulary/LDP.java b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/vocabulary/LDP.java
new file mode 100644
index 0000000..cd81112
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server.jena/src/main/java/org/eclipse/lyo/ldp/server/jena/vocabulary/LDP.java
@@ -0,0 +1,55 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.jena.vocabulary;
+
+import org.eclipse.lyo.ldp.server.LDPConstants;
+
+import com.hp.hpl.jena.rdf.model.Property;
+import com.hp.hpl.jena.rdf.model.Resource;
+import com.hp.hpl.jena.rdf.model.ResourceFactory;
+
+/**
+ * Linked Data Platform Vocabulary
+ */
+public class LDP
+{
+ /**
+ * The namespace of the vocabulary as a resource
+ */
+ public static final Resource NAMESPACE = ResourceFactory.createResource(LDPConstants.getNSURI());
+
+ public static final Property membershipSubject = property(LDPConstants.PROP_MEMBERSHIP_SUBJECT);
+ public static final Property membershipPredicate = property(LDPConstants.PROP_MEMBERSHIP_PREDICATE);
+ public static final Property pageOf = property(LDPConstants.PROP_PAGEOF);
+ public static final Property nextPage = property(LDPConstants.PROP_NEXTPAGE);
+ public static final Property containerSortPredicates = property(LDPConstants.PROP_CONTAINER_SORT_PREDICATE);
+
+ public static final Resource Container = resource(LDPConstants.CLASS_CONTAINER);
+ public static final Resource Page = resource(LDPConstants.CLASS_PAGE);
+
+ protected static final Resource resource(String name)
+ {
+ return ResourceFactory.createResource(name);
+ }
+
+ protected static final Property property(String name)
+ {
+ return ResourceFactory.createProperty(name);
+ }
+
+}
diff --git a/org.eclipse.lyo.ldp.server/.classpath b/org.eclipse.lyo.ldp.server/.classpath
new file mode 100644
index 0000000..fd7f781
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/.classpath
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="src" output="target/test-classes" path="src/test/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.server/.gitignore b/org.eclipse.lyo.ldp.server/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.eclipse.lyo.ldp.server/.project b/org.eclipse.lyo.ldp.server/.project
new file mode 100644
index 0000000..ea306a5
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.server</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.server/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.lyo.ldp.server/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.lyo.ldp.server/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.lyo.ldp.server/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.lyo.ldp.server/about.html b/org.eclipse.lyo.ldp.server/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.server/license/edl-v10.html b/org.eclipse.lyo.ldp.server/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.server/license/epl-v10.html b/org.eclipse.lyo.ldp.server/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.server/license/notice.html b/org.eclipse.lyo.ldp.server/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.server/pom.xml b/org.eclipse.lyo.ldp.server/pom.xml
new file mode 100644
index 0000000..17fcf46
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/pom.xml
@@ -0,0 +1,44 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server</artifactId>
+ <packaging>jar</packaging>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>Linked Data Platform Reference Implementation</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>javax.servlet-api</artifactId>
+ <version>3.0.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-bundle-jaxrs</artifactId>
+ <version>2.7.2</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <finalName>ldp-server</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.2</version>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPConstants.java b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPConstants.java
new file mode 100644
index 0000000..7775d1c
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPConstants.java
@@ -0,0 +1,72 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server;
+
+import javax.ws.rs.core.MediaType;
+
+public class LDPConstants
+{
+
+ protected static final String NS = "http://www.w3.org/ns/ldp#";
+
+ /**
+ * The namespace of the vocabulary as a string
+ */
+ public static String getNSURI()
+ {
+ return NS;
+ }
+
+ // Content types
+ public static final String CT_APPLICATION_JSON = MediaType.APPLICATION_JSON;
+ public static final String CT_APPLICATION_LD_JSON = "application/ld+json";
+ public static final String CT_APPLICATION_RDFXML = "application/rdf+xml";
+ public static final String CT_APPLICATION_XTURTLE = "application/x-turtle";
+ public static final String CT_APPLICATION_SPARQLQUERY = "application/sparql-query";
+ public static final String CT_APPLICATION_SPARQLRESULTSXML = "application/sparql-results+xml";
+ public static final String CT_APPLICATION_SPARQLRESULTSJSON = "application/sparql-results+json";
+ public static final String CT_TEXT_HTML = MediaType.TEXT_HTML;
+ public static final String CT_TEXT_TURTLE = "text/turtle";
+ public static final String CT_TEXT_TRIG = "text/trig";
+
+ // RDF Property names both namespace and local
+ public static final String PROP_LNAME_MEMBERSHIP_SUBJECT = "membershipSubject";
+ public static final String PROP_MEMBERSHIP_SUBJECT = nsName(PROP_LNAME_MEMBERSHIP_SUBJECT);
+ public static final String PROP_LNAME_MEMBERSHIP_PREDICATE = "membershipPredicate";
+ public static final String PROP_MEMBERSHIP_PREDICATE = nsName(PROP_LNAME_MEMBERSHIP_PREDICATE);
+ public static final String PROP_LNAME_MEMBERSHIP_OBJECT = "membershipObject";
+ public static final String PROP_MEMBERSHIP_OBJECT = nsName(PROP_LNAME_MEMBERSHIP_OBJECT);
+ public static final String PROP_LNAME_PAGEOF = "pageOf";
+ public static final String PROP_PAGEOF = nsName(PROP_LNAME_PAGEOF);
+ public static final String PROP_LNAME_NEXTPAGE = "nextPage";
+ public static final String PROP_NEXTPAGE = nsName(PROP_LNAME_NEXTPAGE);
+ public static final String PROP_LNAME_CONTAINER_SORT_PREDICATE = "containerSortPredicate";
+ public static final String PROP_CONTAINER_SORT_PREDICATE = nsName(PROP_LNAME_CONTAINER_SORT_PREDICATE);
+
+ // RDF Classes both namespace and local
+ public static final String CLASS_LNAME_PAGE = "Page";
+ public static final String CLASS_PAGE = nsName(CLASS_LNAME_PAGE);
+ public static final String CLASS_LNAME_CONTAINER = "Container";
+ public static final String CLASS_CONTAINER = nsName(CLASS_LNAME_CONTAINER);
+ public static final String CLASS_LNAME_RESOURCE = "Resource";
+ public static final String CLASS_RESOURCE = nsName(CLASS_LNAME_RESOURCE);
+
+ public static String nsName(String local) {
+ return NS + local;
+ }
+}
diff --git a/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPContainer.java b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPContainer.java
new file mode 100644
index 0000000..3ed392b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/LDPContainer.java
@@ -0,0 +1,116 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public interface LDPContainer {
+
+ /**
+ * Set the configuration parameters.
+ * @param config an RDF input stream containing configuration parameters.
+ * @param contentType the Content-Type of the input stream.
+ */
+ public abstract void setConfigParameters(InputStream config,
+ String contentType);
+
+ /**
+ * Get the value of the container.
+ * @see #get(String, OutputStream, String)
+ */
+ public abstract void get(OutputStream outStream, String contentType);
+
+ /**
+ * Set the value of the container.
+ * @see #put(String, InputStream, String)
+ */
+ public abstract void put(InputStream stream, String contentType);
+
+ public abstract void put(InputStream stream, String contentType, String user);
+
+ /**
+ * Execute the specified SPARQL query over the container and its entries,
+ * specifying the output format. Supported formats are "application/sparql-results+xml"
+ * and "application/sparql-results+json".
+ * @param outStream the output stream in which to write the query result.
+ * @param queryString the SPARQL query to execute.
+ * @param resultsFormat the desired result format content type ; if <code>null</code>
+ * or not supported, the format will be XML.
+ */
+ public abstract void query(OutputStream outStream, String queryString,
+ String resultsFormat);
+
+ /**
+ * Post a new member to the container.
+ * <p>The Content-Type of the input stream is specified by the
+ * <code>contentType</code> argument. Supported values are "application/rdf+xml",
+ * "text/turtle", and "application/x-turtle".</p>
+ * @param stream the input stream containing the posted resource representation.
+ * @param contentType the Content-Type of the input stream.
+ */
+ public abstract String post(InputStream stream, String contentType);
+
+ public abstract String post(InputStream stream, String contentType,
+ String user);
+
+ /**
+ * Set the value of the container or member resource to the content of the specified stream.
+ * <p>The Content-Type of the input stream is specified by the
+ * <code>contentType</code> argument. Supported values are "application/rdf+xml",
+ * "text/turtle", and "application/x-turtle".</p>
+ * @param resourceURI the URI of the BPC or a member resource.
+ * @param stream the input stream containing the resource representation.
+ * @param contentType the Content-Type of the input stream.
+ */
+ public abstract void put(String resourceURI, InputStream stream,
+ String contentType);
+
+ public abstract void put(String resourceURI, InputStream stream,
+ String contentType, String user);
+
+ public abstract void patch(String resourceURI, InputStream stream,
+ String contentType);
+
+ public abstract void patch(String resourceURI, InputStream stream,
+ String contentType, String user);
+
+ /**
+ * Delete the specified member resource and remove it from the container.
+ * @param resourceURI the URI of the resource to delete.
+ */
+ public abstract void delete(String resourceURI);
+
+ /**
+ * Get the container or member resource with the specified URI.
+ * <p>The Content-Type of which to write the model is specified by the
+ * <code>contentType</code> argument. Supported values are "application/rdf+xml",
+ * "text/turtle", and "application/x-turtle".</p>
+ * @param resourceURI the URI of the BPC (or one of its pages) or a member resource.
+ * @param outStream the output stream in which to write the resource representation.
+ * @param contentType the Content-Type of which to write the model.
+ * @return the resource URI of a following page or null if the representation has no following page.
+ * @throws IOException
+ * @throws JsonMappingException
+ * @throws JsonGenerationException
+ */
+ public abstract String get(String resourceURI, OutputStream outStream,
+ String contentType);
+
+} \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/LDPService.java b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/LDPService.java
new file mode 100644
index 0000000..732f66e
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/LDPService.java
@@ -0,0 +1,246 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.service;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URI;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.WebApplicationException;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+import javax.ws.rs.core.StreamingOutput;
+import javax.ws.rs.core.UriInfo;
+
+import org.apache.commons.io.IOUtils;
+import org.eclipse.lyo.ldp.server.LDPConstants;
+import org.eclipse.lyo.ldp.server.LDPContainer;
+
+@Path("/")
+public abstract class LDPService {
+
+ @Context HttpHeaders fRequestHeaders;
+ @Context UriInfo fRequestUrl;
+
+ // TODO: Need to properly setup public URL
+ public static final String ROOT_APP_URL = "http://localhost:8080/ldp";
+ public static final String ROOT_CONTAINER_URL = ROOT_APP_URL + "/resources/";
+
+// static {
+// // Check to see if we should bootstrap some examples.
+// if (rootContainer == null) {
+// resetContainer();
+// // Create an empty container.
+// String stuff="<"+ROOT_CONTAINER_URL+"> a <" + LDP.Container.getURI() + ">.";
+// rootContainer.put(new ByteArrayInputStream( stuff.getBytes() ), LDPConstants.CT_TEXT_TURTLE);
+// }
+// }
+
+// static private void resetContainer() {
+// rootContainer = LDPContainer.create(ROOT_CONTAINER_URL, new TDBGraphStore(), new TDBGraphStore());
+// }
+
+ protected abstract void resetContainer();
+ protected abstract LDPContainer getRootContainer();
+
+ public LDPService() {
+ }
+
+ @GET
+ @Path("{id}")
+ @Produces(LDPConstants.CT_APPLICATION_RDFXML)
+ public StreamingOutput getResourceApplicationRDFXML() {
+ return getResourceRDF(LDPConstants.CT_APPLICATION_RDFXML);
+ }
+
+ @GET
+ @Produces(LDPConstants.CT_APPLICATION_RDFXML)
+ public StreamingOutput getContainerApplicationRDFXML() {
+ return getResourceRDF(LDPConstants.CT_APPLICATION_RDFXML);
+ }
+
+ @GET
+ @Path("{id}")
+ @Produces(LDPConstants.CT_TEXT_TURTLE)
+ public StreamingOutput getResourceTextTurtle() {
+ return getResourceRDF(LDPConstants.CT_TEXT_TURTLE);
+ }
+
+ @GET
+ @Produces(LDPConstants.CT_TEXT_TURTLE)
+ public StreamingOutput getContainerTextTurtle() {
+ return getResourceRDF(LDPConstants.CT_TEXT_TURTLE);
+ }
+
+ @GET
+ @Path("{id}")
+ @Produces(LDPConstants.CT_APPLICATION_XTURTLE)
+ public StreamingOutput getResourceApplicationXTurtle() {
+ return getResourceRDF(LDPConstants.CT_APPLICATION_XTURTLE);
+ }
+
+ @GET
+ @Produces(LDPConstants.CT_APPLICATION_XTURTLE)
+ public StreamingOutput getContainerApplicationXTurtle() {
+ return getResourceRDF(LDPConstants.CT_APPLICATION_XTURTLE);
+ }
+
+ @GET
+ @Path("{id}")
+ @Produces({ LDPConstants.CT_APPLICATION_JSON, LDPConstants.CT_APPLICATION_LD_JSON })
+ public StreamingOutput getResourceJSON() {
+ return getResourceRDF(LDPConstants.CT_APPLICATION_JSON);
+ }
+
+ @GET
+ @Produces({ LDPConstants.CT_APPLICATION_JSON, LDPConstants.CT_APPLICATION_LD_JSON })
+ public StreamingOutput getContainerJSON() {
+ return getResourceRDF(LDPConstants.CT_APPLICATION_JSON);
+ }
+
+ private StreamingOutput getResourceRDF(final String type) {
+ return new StreamingOutput() {
+ public void write(OutputStream output) throws IOException, WebApplicationException {
+ try {
+ getRootContainer().get(getConanicalURL(fRequestUrl.getRequestUri()), output, type);
+ } catch (IllegalArgumentException e) {
+ throw new WebApplicationException(Response.status(Status.NOT_FOUND).build());
+ }
+ }
+ };
+ }
+
+ @GET
+ @Produces(LDPConstants.CT_TEXT_HTML)
+ public StreamingOutput getResourceHTML() {
+ return null; // TODO fix me
+ }
+
+ @PUT
+ @Consumes({ LDPConstants.CT_APPLICATION_RDFXML, LDPConstants.CT_TEXT_TURTLE, LDPConstants.CT_APPLICATION_XTURTLE })
+ public Response updateResource(InputStream content) {
+ // Set the initial container representation. Should only be called once.
+ // TODO only allow if privileged user
+ resetContainer();
+ getRootContainer().put(content, stripCharset(fRequestHeaders.getMediaType().toString()));
+ return Response.status(Status.NO_CONTENT).build();
+ }
+
+ @PUT
+ @Path("{id}")
+ @Consumes({ LDPConstants.CT_APPLICATION_RDFXML, LDPConstants.CT_TEXT_TURTLE, LDPConstants.CT_APPLICATION_XTURTLE, LDPConstants.CT_APPLICATION_JSON, LDPConstants.CT_APPLICATION_LD_JSON })
+ public Response updateConfig(InputStream content, @PathParam("id") String id) {
+ if ("config".equals(id)) {
+ // This should be called once, immediately after setting the initial container representation (i.e., before POSTing entries)
+ // TODO only allow if privileged user
+ getRootContainer().setConfigParameters(content, stripCharset(fRequestHeaders.getMediaType().toString()));
+ }
+ else {
+ getRootContainer().put(getConanicalURL(fRequestUrl.getRequestUri()), content, stripCharset(fRequestHeaders.getMediaType().toString()));
+ }
+ return Response.status(Status.NO_CONTENT).build();
+ }
+
+ @POST
+ @Consumes({ LDPConstants.CT_APPLICATION_RDFXML, LDPConstants.CT_TEXT_TURTLE, LDPConstants.CT_APPLICATION_XTURTLE, LDPConstants.CT_APPLICATION_JSON, LDPConstants.CT_APPLICATION_LD_JSON })
+ public Response addResource(InputStream content) {
+ String loc = getRootContainer().post(content, stripCharset(fRequestHeaders.getMediaType().toString()));
+ if (loc != null)
+ return Response.status(Status.CREATED).header(HttpHeaders.LOCATION, loc).build();
+ else
+ return Response.status(Status.CONFLICT).build();
+ }
+
+ @POST
+ @Path("{id}")
+ @Consumes({ LDPConstants.CT_APPLICATION_RDFXML, LDPConstants.CT_TEXT_TURTLE, LDPConstants.CT_APPLICATION_XTURTLE, LDPConstants.CT_APPLICATION_JSON, LDPConstants.CT_APPLICATION_LD_JSON })
+ public Response addResource(InputStream content, @PathParam("id") String id) {
+ String loc = getRootContainer().post(content, stripCharset(fRequestHeaders.getMediaType().toString()));
+ if (loc != null)
+ return Response.status(Status.CREATED).header(HttpHeaders.LOCATION, loc).build();
+ else
+ return Response.status(Status.CONFLICT).build();
+ }
+
+ @POST
+ @Path("{id}")
+ @Consumes(LDPConstants.CT_APPLICATION_SPARQLQUERY)
+ @Produces(LDPConstants.CT_APPLICATION_SPARQLRESULTSJSON)
+ public StreamingOutput postQuery(final InputStream content, @PathParam("id") String id) {
+ //TODO Implement complete SPARQL protocol. This impl only supports SELECT queries via POST directly.
+ if ("sparql".equals(id))
+ return new StreamingOutput() {
+ public void write(OutputStream output) throws IOException, WebApplicationException {
+ try {
+ ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
+ IOUtils.copy(content, byteStream);
+ getRootContainer().query(output, byteStream.toString(), LDPConstants.CT_APPLICATION_SPARQLRESULTSJSON);
+ } catch (Exception e) {
+ throw new WebApplicationException(Response.status(Status.BAD_REQUEST).build());
+ }
+ }
+ };
+ else
+ return null;
+ }
+
+ @DELETE
+ @Path("{id}")
+ public Response deleteResource() {
+ String uri = getConanicalURL(fRequestUrl.getRequestUri());
+ getRootContainer().delete(uri);
+ return Response.status(Status.NO_CONTENT).build();
+ }
+
+ @PATCH
+ @Path("id")
+ @Consumes(LDPConstants.CT_TEXT_TRIG)
+ public Response patchResource(final InputStream content, @PathParam("id") String id) {
+ getRootContainer().patch(getConanicalURL(fRequestUrl.getRequestUri()), content, stripCharset(fRequestHeaders.getMediaType().toString()));
+
+ return Response.status(Status.OK).build();
+ }
+
+ String stripCharset(String contentType) {
+ int i = contentType.indexOf(";");
+ if (i == -1)
+ return contentType;
+ return contentType.substring(0, i);
+ }
+
+ String getConanicalURL(URI url) {
+ // TODO: Map request URL to the URL prefix that is stored in repo
+ return url.toString();
+ }
+
+
+
+}
+
diff --git a/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/PATCH.java b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/PATCH.java
new file mode 100644
index 0000000..e2613b1
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/src/main/java/org/eclipse/lyo/ldp/server/service/PATCH.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.server.service;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.ws.rs.HttpMethod;
+
+/**
+ * Indicates that the annotated method responds to HTTP PATCH requests
+ * http://tools.ietf.org/html/rfc5789
+ *
+ * @see HttpMethod
+ */
+@Target({ElementType.METHOD})
+@Retention(RetentionPolicy.RUNTIME)
+@HttpMethod("PATCH")
+public @interface PATCH {
+}
diff --git a/org.eclipse.lyo.ldp.server/src/main/resources/context.jsonld b/org.eclipse.lyo.ldp.server/src/main/resources/context.jsonld
new file mode 100644
index 0000000..ae76da6
--- /dev/null
+++ b/org.eclipse.lyo.ldp.server/src/main/resources/context.jsonld
@@ -0,0 +1,33 @@
+{
+ "@context":
+ {
+ "Container": "http://www.w3.org/ns/ldp#Container",
+ "member":
+ {
+ "@id": "http://www.w3.org/2000/01/rdf-schema#member",
+ "@type": "@id"
+ },
+ "title": "http://purl.org/dc/terms/title",
+ "description": "http://purl.org/dc/terms/description",
+ "creator":
+ {
+ "@id": "http://purl.org/dc/terms/creator",
+ "@type": "@id"
+ },
+ "contributor":
+ {
+ "@id": "http://purl.org/dc/terms/contributor",
+ "@type": "@id"
+ },
+ "created":
+ {
+ "@id": "http://purl.org/dc/terms/created",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ },
+ "modified":
+ {
+ "@id": "http://purl.org/dc/terms/modified",
+ "@type": "http://www.w3.org/2001/XMLSchema#dateTime"
+ }
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.webapp/.classpath b/org.eclipse.lyo.ldp.webapp/.classpath
new file mode 100644
index 0000000..be37c5e
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/.classpath
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java">
+ <attributes>
+ <attribute name="optional" value="true"/>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+ <attributes>
+ <attribute name="maven.pomderived" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/org.eclipse.lyo.ldp.webapp/.gitignore b/org.eclipse.lyo.ldp.webapp/.gitignore
new file mode 100644
index 0000000..ea8c4bf
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/.gitignore
@@ -0,0 +1 @@
+/target
diff --git a/org.eclipse.lyo.ldp.webapp/.project b/org.eclipse.lyo.ldp.webapp/.project
new file mode 100644
index 0000000..94dfe44
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.lyo.ldp.webapp</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ </natures>
+</projectDescription>
diff --git a/org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..69c31cd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.m2e.core.prefs b/org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/org.eclipse.lyo.ldp.webapp/Launch LDP Server.launch b/org.eclipse.lyo.ldp.webapp/Launch LDP Server.launch
new file mode 100644
index 0000000..c6a1d43
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/Launch LDP Server.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
+<booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
+<stringAttribute key="M2_GOALS" value="jetty:run-exploded"/>
+<booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
+<booleanAttribute key="M2_OFFLINE" value="false"/>
+<stringAttribute key="M2_PROFILES" value=""/>
+<listAttribute key="M2_PROPERTIES"/>
+<stringAttribute key="M2_RUNTIME" value="EMBEDDED"/>
+<booleanAttribute key="M2_SKIP_TESTS" value="false"/>
+<intAttribute key="M2_THREADS" value="1"/>
+<booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
+<booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_id" value="org.eclipse.m2e.launching.MavenSourceLocator"/>
+<stringAttribute key="org.eclipse.debug.core.source_locator_memento" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#10;&lt;sourceLookupDirector&gt;&#10;&lt;sourceContainers duplicates=&quot;true&quot;&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;project name=&amp;quot;com.ibm.ldp&amp;quot; referencedProjects=&amp;quot;false&amp;quot;/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.project&quot;/&gt;&#10;&lt;container memento=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&amp;#10;&amp;lt;default/&amp;gt;&amp;#10;&quot; typeId=&quot;org.eclipse.debug.core.containerType.default&quot;/&gt;&#10;&lt;/sourceContainers&gt;&#10;&lt;/sourceLookupDirector&gt;&#10;"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.lyo.ldp.webapp}"/>
+</launchConfiguration>
diff --git a/org.eclipse.lyo.ldp.webapp/about.html b/org.eclipse.lyo.ldp.webapp/about.html
new file mode 100644
index 0000000..53904a0
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/about.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+ <p>13 December, 2011</p>
+ <h3>License</h3>
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ (&quot;Content&quot;). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 1.0 (&quot;EPL&quot;) and Eclipse Distribution
+ License Version 1.0 (&quot;EDL&quot;). A copy of the EPL is available
+ at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>
+ and a copy of the EDL is available at <a
+ href="http://www.eclipse.org/org/documents/edl-v10.php">http://www.eclipse.org/org/documents/edl-v10.php</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.
+ </p>
+ <p>If you did not receive this Content directly from the Eclipse
+ Foundation, the Content is being redistributed by another party
+ (&quot;Redistributor&quot;) and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL and EDL still apply to any
+ source code in the Content and such source code may be obtained at
+ <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.webapp/license/edl-v10.html b/org.eclipse.lyo.ldp.webapp/license/edl-v10.html
new file mode 100644
index 0000000..5c8549b
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/license/edl-v10.html
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Distribution License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<p><b>Eclipse Distribution License - v 1.0</b></p>
+
+<p>Copyright (c) 2007, Eclipse Foundation, Inc. and its licensors. </p>
+
+<p>All rights reserved.</p>
+<p>Redistribution and use in source and binary forms, with or without modification,
+ are permitted provided that the following conditions are met:
+<ul><li>Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer. </li>
+<li>Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution. </li>
+<li>Neither the name of the Eclipse Foundation, Inc. nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission. </li></ul>
+</p>
+<p>THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.</p>
+
+</body>
+
+</html>
+
diff --git a/org.eclipse.lyo.ldp.webapp/license/epl-v10.html b/org.eclipse.lyo.ldp.webapp/license/epl-v10.html
new file mode 100644
index 0000000..b398acc
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/license/epl-v10.html
@@ -0,0 +1,259 @@
+<!--?xml version="1.0" encoding="ISO-8859-1" ?-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Public License - Version 1.0</title>
+<style type="text/css">
+ body {
+ size: 8.5in 11.0in;
+ margin: 0.25in 0.5in 0.25in 0.5in;
+ tab-interval: 0.5in;
+ }
+ p {
+ margin-left: auto;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+ }
+ p.list {
+ margin-left: 0.5in;
+ margin-top: 0.05em;
+ margin-bottom: 0.05em;
+ }
+ </style>
+
+</head>
+
+<body lang="EN-US">
+
+<h2>Eclipse Public License - v 1.0</h2>
+
+<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
+DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+AGREEMENT.</p>
+
+<p><b>1. DEFINITIONS</b></p>
+
+<p>"Contribution" means:</p>
+
+<p class="list">a) in the case of the initial Contributor, the initial
+code and documentation distributed under this Agreement, and</p>
+<p class="list">b) in the case of each subsequent Contributor:</p>
+<p class="list">i) changes to the Program, and</p>
+<p class="list">ii) additions to the Program;</p>
+<p class="list">where such changes and/or additions to the Program
+originate from and are distributed by that particular Contributor. A
+Contribution 'originates' from a Contributor if it was added to the
+Program by such Contributor itself or anyone acting on such
+Contributor's behalf. Contributions do not include additions to the
+Program which: (i) are separate modules of software distributed in
+conjunction with the Program under their own license agreement, and (ii)
+are not derivative works of the Program.</p>
+
+<p>"Contributor" means any person or entity that distributes
+the Program.</p>
+
+<p>"Licensed Patents" mean patent claims licensable by a
+Contributor which are necessarily infringed by the use or sale of its
+Contribution alone or when combined with the Program.</p>
+
+<p>"Program" means the Contributions distributed in accordance
+with this Agreement.</p>
+
+<p>"Recipient" means anyone who receives the Program under
+this Agreement, including all Contributors.</p>
+
+<p><b>2. GRANT OF RIGHTS</b></p>
+
+<p class="list">a) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free copyright license to reproduce, prepare derivative works
+of, publicly display, publicly perform, distribute and sublicense the
+Contribution of such Contributor, if any, and such derivative works, in
+source code and object code form.</p>
+
+<p class="list">b) Subject to the terms of this Agreement, each
+Contributor hereby grants Recipient a non-exclusive, worldwide,
+royalty-free patent license under Licensed Patents to make, use, sell,
+offer to sell, import and otherwise transfer the Contribution of such
+Contributor, if any, in source code and object code form. This patent
+license shall apply to the combination of the Contribution and the
+Program if, at the time the Contribution is added by the Contributor,
+such addition of the Contribution causes such combination to be covered
+by the Licensed Patents. The patent license shall not apply to any other
+combinations which include the Contribution. No hardware per se is
+licensed hereunder.</p>
+
+<p class="list">c) Recipient understands that although each Contributor
+grants the licenses to its Contributions set forth herein, no assurances
+are provided by any Contributor that the Program does not infringe the
+patent or other intellectual property rights of any other entity. Each
+Contributor disclaims any liability to Recipient for claims brought by
+any other entity based on infringement of intellectual property rights
+or otherwise. As a condition to exercising the rights and licenses
+granted hereunder, each Recipient hereby assumes sole responsibility to
+secure any other intellectual property rights needed, if any. For
+example, if a third party patent license is required to allow Recipient
+to distribute the Program, it is Recipient's responsibility to acquire
+that license before distributing the Program.</p>
+
+<p class="list">d) Each Contributor represents that to its knowledge it
+has sufficient copyright rights in its Contribution, if any, to grant
+the copyright license set forth in this Agreement.</p>
+
+<p><b>3. REQUIREMENTS</b></p>
+
+<p>A Contributor may choose to distribute the Program in object code
+form under its own license agreement, provided that:</p>
+
+<p class="list">a) it complies with the terms and conditions of this
+Agreement; and</p>
+
+<p class="list">b) its license agreement:</p>
+
+<p class="list">i) effectively disclaims on behalf of all Contributors
+all warranties and conditions, express and implied, including warranties
+or conditions of title and non-infringement, and implied warranties or
+conditions of merchantability and fitness for a particular purpose;</p>
+
+<p class="list">ii) effectively excludes on behalf of all Contributors
+all liability for damages, including direct, indirect, special,
+incidental and consequential damages, such as lost profits;</p>
+
+<p class="list">iii) states that any provisions which differ from this
+Agreement are offered by that Contributor alone and not by any other
+party; and</p>
+
+<p class="list">iv) states that source code for the Program is available
+from such Contributor, and informs licensees how to obtain it in a
+reasonable manner on or through a medium customarily used for software
+exchange.</p>
+
+<p>When the Program is made available in source code form:</p>
+
+<p class="list">a) it must be made available under this Agreement; and</p>
+
+<p class="list">b) a copy of this Agreement must be included with each
+copy of the Program.</p>
+
+<p>Contributors may not remove or alter any copyright notices contained
+within the Program.</p>
+
+<p>Each Contributor must identify itself as the originator of its
+Contribution, if any, in a manner that reasonably allows subsequent
+Recipients to identify the originator of the Contribution.</p>
+
+<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
+
+<p>Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use of
+the Program, the Contributor who includes the Program in a commercial
+product offering should do so in a manner which does not create
+potential liability for other Contributors. Therefore, if a Contributor
+includes the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and
+indemnify every other Contributor ("Indemnified Contributor")
+against any losses, damages and costs (collectively "Losses")
+arising from claims, lawsuits and other legal actions brought by a third
+party against the Indemnified Contributor to the extent caused by the
+acts or omissions of such Commercial Contributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement. In
+order to qualify, an Indemnified Contributor must: a) promptly notify
+the Commercial Contributor in writing of such claim, and b) allow the
+Commercial Contributor to control, and cooperate with the Commercial
+Contributor in, the defense and any related settlement negotiations. The
+Indemnified Contributor may participate in any such claim at its own
+expense.</p>
+
+<p>For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those
+performance claims and warranties, and if a court requires any other
+Contributor to pay any damages as a result, the Commercial Contributor
+must pay those damages.</p>
+
+<p><b>5. NO WARRANTY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
+ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement , including but not limited to
+the risks and costs of program errors, compliance with applicable laws,
+damage to or loss of data, programs or equipment, and unavailability or
+interruption of operations.</p>
+
+<p><b>6. DISCLAIMER OF LIABILITY</b></p>
+
+<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
+NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
+
+<p><b>7. GENERAL</b></p>
+
+<p>If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further action
+by the parties hereto, such provision shall be reformed to the minimum
+extent necessary to make such provision valid and enforceable.</p>
+
+<p>If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other
+software or hardware) infringes such Recipient's patent(s), then such
+Recipient's rights granted under Section 2(b) shall terminate as of the
+date such litigation is filed.</p>
+
+<p>All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of time
+after becoming aware of such noncompliance. If all Recipient's rights
+under this Agreement terminate, Recipient agrees to cease use and
+distribution of the Program as soon as reasonably practicable. However,
+Recipient's obligations under this Agreement and any licenses granted by
+Recipient relating to the Program shall continue and survive.</p>
+
+<p>Everyone is permitted to copy and distribute copies of this
+Agreement, but in order to avoid inconsistency the Agreement is
+copyrighted and may only be modified in the following manner. The
+Agreement Steward reserves the right to publish new versions (including
+revisions) of this Agreement from time to time. No one other than the
+Agreement Steward has the right to modify this Agreement. The Eclipse
+Foundation is the initial Agreement Steward. The Eclipse Foundation may
+assign the responsibility to serve as the Agreement Steward to a
+suitable separate entity. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new version
+of the Agreement is published, Contributor may elect to distribute the
+Program (including its Contributions) under the new version. Except as
+expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
+rights or licenses to the intellectual property of any Contributor under
+this Agreement, whether expressly, by implication, estoppel or
+otherwise. All rights in the Program not expressly granted under this
+Agreement are reserved.</p>
+
+<p>This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No party
+to this Agreement will bring a legal action under this Agreement more
+than one year after the cause of action arose. Each party waives its
+rights to a jury trial in any resulting litigation.</p>
+
+
+
+</body></html> \ No newline at end of file
diff --git a/org.eclipse.lyo.ldp.webapp/license/notice.html b/org.eclipse.lyo.ldp.webapp/license/notice.html
new file mode 100644
index 0000000..160febd
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/license/notice.html
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>13 December, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+ (COLLECTIVELY &quot;CONTENT&quot;). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+ CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+ NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+ CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
+ (&quot;EPL&quot;). A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+ For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+ repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+ <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+ <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+ <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;. Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+ and/or Fragments associated with that Feature.</li>
+ <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+ <li>The top-level (root) directory</li>
+ <li>Plug-in and Fragment directories</li>
+ <li>Inside Plug-ins and Fragments packaged as JARs</li>
+ <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+ <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
+installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
+inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+ <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+ <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+ <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+ <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+ <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+ <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+ Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+ other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
+ install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
+ href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+ (&quot;Specification&quot;).</p>
+
+<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
+ applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
+ in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
+ Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+ <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+ on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+ product.</li>
+ <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
+ accessed and copied to the Target Machine.</li>
+ <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+ Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
+ Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
+ the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
+ indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
+ another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
+ possession, or use, and re-export of encryption software, to see if this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
+
diff --git a/org.eclipse.lyo.ldp.webapp/pom.xml b/org.eclipse.lyo.ldp.webapp/pom.xml
new file mode 100644
index 0000000..1c814ea
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/pom.xml
@@ -0,0 +1,74 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-webapp</artifactId>
+ <packaging>war</packaging>
+ <version>0.0.1-SNAPSHOT</version>
+ <name>LDP webapp (Jena)</name>
+ <url>http://maven.apache.org</url>
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.lyo.ldp</groupId>
+ <artifactId>ldp-server-jena</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <finalName>ldp</finalName>
+ <plugins>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <configuration>
+ <webAppConfig>
+ <contextPath>/ldp</contextPath>
+ </webAppConfig>
+
+ <!-- enable hot deploy -->
+ <reload>automatic</reload>
+ <scanIntervalSeconds>5</scanIntervalSeconds>
+ <scanTargets>
+ <scanTarget>src/main/webapp</scanTarget>
+ </scanTargets>
+
+ <systemProperties>
+ <systemProperty>
+ <name>jetty.port</name>
+ <value>8080</value>
+ </systemProperty>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty-maven-plugin</artifactId>
+ <configuration>
+ <webAppConfig>
+ <contextPath>/ldp</contextPath>
+ </webAppConfig>
+
+ <!-- enable hot deploy -->
+ <reload>automatic</reload>
+ <scanIntervalSeconds>5</scanIntervalSeconds>
+ <scanTargets>
+ <scanTarget>src/main/webapp</scanTarget>
+ </scanTargets>
+
+ <systemProperties>
+ <systemProperty>
+ <name>jetty.port</name>
+ <value>8080</value>
+ </systemProperty>
+ </systemProperties>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/org.eclipse.lyo.ldp.webapp/src/main/java/org/eclipse/lyo/ldp/webapp/service/LDPApplication.java b/org.eclipse.lyo.ldp.webapp/src/main/java/org/eclipse/lyo/ldp/webapp/service/LDPApplication.java
new file mode 100644
index 0000000..ea352f1
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/src/main/java/org/eclipse/lyo/ldp/webapp/service/LDPApplication.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2013 IBM Corporation.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * and Eclipse Distribution License v. 1.0 which accompanies this distribution.
+ *
+ * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ * and the Eclipse Distribution License is available at
+ * http://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * Contributors:
+ *
+ * Frank Budinsky - initial API and implementation
+ * Steve Speicher - initial API and implementation
+ * Samuel Padgett - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.lyo.ldp.webapp.service;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.ws.rs.core.Application;
+
+import org.eclipse.lyo.ldp.server.jena.JenaLDPService;
+
+public class LDPApplication extends Application {
+ @Override
+ public Set<Class<?>> getClasses() {
+ Set<Class<?>> classes = new HashSet<Class<?>>();
+ classes.add(JenaLDPService.class);
+ return classes;
+ }
+}
diff --git a/org.eclipse.lyo.ldp.webapp/src/main/webapp/WEB-INF/web.xml b/org.eclipse.lyo.ldp.webapp/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 0000000..9063ade
--- /dev/null
+++ b/org.eclipse.lyo.ldp.webapp/src/main/webapp/WEB-INF/web.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+ <display-name>Linked Data Platform - Reference Implementation</display-name>
+ <servlet>
+ <servlet-name>JAX-RS Servlet</servlet-name>
+ <servlet-class>
+ org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet
+ </servlet-class>
+ <!-- <servlet-class>org.apache.wink.server.internal.servlet.RestServlet</servlet-class> -->
+ <init-param>
+ <param-name>javax.ws.rs.Application</param-name>
+ <param-value>org.eclipse.lyo.ldp.webapp.service.LDPApplication</param-value>
+ </init-param>
+ <load-on-startup>1</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>JAX-RS Servlet</servlet-name>
+ <url-pattern>/resources/*</url-pattern>
+ </servlet-mapping>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ </welcome-file-list>
+</web-app> \ No newline at end of file