commonsrdf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From st...@apache.org
Subject svn commit: r949421 - in /websites/production/commonsrdf/content: contributing.html download.html implementations.html index.html mail-lists.html project-info.html project-reports.html source-repository.html team-list.html userguide.html
Date Tue, 28 Apr 2015 01:42:16 GMT
Author: stain
Date: Tue Apr 28 01:42:16 2015
New Revision: 949421

Log:
Site checkin for project Commons RDF

Added:
    websites/production/commonsrdf/content/implementations.html
Modified:
    websites/production/commonsrdf/content/contributing.html
    websites/production/commonsrdf/content/download.html
    websites/production/commonsrdf/content/index.html
    websites/production/commonsrdf/content/mail-lists.html
    websites/production/commonsrdf/content/project-info.html
    websites/production/commonsrdf/content/project-reports.html
    websites/production/commonsrdf/content/source-repository.html
    websites/production/commonsrdf/content/team-list.html
    websites/production/commonsrdf/content/userguide.html

Modified: websites/production/commonsrdf/content/contributing.html
==============================================================================
--- websites/production/commonsrdf/content/contributing.html (original)
+++ websites/production/commonsrdf/content/contributing.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Contribute</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/download.html
==============================================================================
--- websites/production/commonsrdf/content/download.html (original)
+++ websites/production/commonsrdf/content/download.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Download Commons RDF</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Added: websites/production/commonsrdf/content/implementations.html
==============================================================================
--- websites/production/commonsrdf/content/implementations.html (added)
+++ websites/production/commonsrdf/content/implementations.html Tue Apr 28 01:42:16 2015
@@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<!--
+ | Generated by Apache Maven Doxia at 28 April 2015
+ | Rendered using Apache Maven Fluido Skin 1.3.0
+-->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
+    <meta http-equiv="Content-Language" content="en" />
+    <title>Apache Commons RDF &#x2013; Implementations</title>
+
+	<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
+	<link rel="stylesheet" href="./css/site.css" type="text/css" />
+    <link rel="stylesheet" href="./css/print.css" media="print" />
+
+	<script type="text/javascript" src="./js/jquery.min.js"></script>
+	<script type="text/javascript" src="./js/bootstrap.min.js"></script>
+	<script type="text/javascript" src="./js/prettify.min.js"></script>
+	<script type="text/javascript" src="./js/site.js"></script>
+
+                            
+<style type="text/css">/* Override prettify.css, nicer fonts for code examples */
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
+<link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
+<script src="./js/prettify.js" type="text/javascript"></script>                                
+<script type="text/javascript">window.onload=function() {
+              prettyPrint();
+          }</script>                  
+      </head>
+
+	<body class="composite">
+                                        <a href="./" id="bannerLeft" title="Apache Commons RDF logo">
+                                                                                                <img class="logo-left" src="images/commonsrdf-logo.png"  alt="Apache Commons RDF logo"/>
+                </a>
+                		<div class="clear"></div>
+
+		<div class="navbar">
+			<div class="navbar-inner">
+				<div class="container-fluid">
+					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
+					<ul class="nav">      
+                    
+            <li id="publishDate">Last Published: 28 April 2015</li>
+      <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
+  </ul>
+                    <div class="pull-right">	<ul class="nav">
+						<li>
+		              <a href="http://www.apachecon.com/" class="externalLink" title="ApacheCon">
+    ApacheCon</a>
+  		</li>
+					<li>
+		              <a href="http://www.apache.org" class="externalLink" title="Apache">
+    Apache</a>
+  		</li>
+					<li>
+		              <a href="http://commons.apache.org/" class="externalLink" title="Commons">
+    Commons</a>
+  		</li>
+					<li>
+		              <a href="http://incubator.apache.org/" class="externalLink" title="Incubator">
+    Incubator</a>
+  		</li>
+		</ul>
+</div>
+				</div>
+			</div>
+		</div>
+
+		<div class="container-fluid">
+			<table class="layout-table">
+				<tr>
+					<td class="sidebar">
+						<div class="well sidebar-nav">
+										<ul class="nav nav-list">
+		 		            						 <li class="nav-header">Project</li>
+																				<li class="none">
+		              <a href="index.html" title="Home">
+    Home</a>
+  				</li>
+ 														<li class="none">
+		              <a href="apidocs/index.html?org/apache/commons/rdf/api/package-summary.html" title="API">
+    API</a>
+  				</li>
+ 														<li class="none">
+		              <a href="userguide.html" title="User Guide">
+    User Guide</a>
+  				</li>
+ 														<li class="none">
+		              <a href="download.html" title="Download">
+    Download</a>
+  				</li>
+ 														<li class="none">
+		              <a href="contributing.html" title="Contributing">
+    Contributing</a>
+  				</li>
+ 														<li class="none">
+		              <a href="team-list.html" title="Team">
+    Team</a>
+  				</li>
+ 								</ul>
+			<ul class="nav nav-list">
+		 		            						 <li class="nav-header">Tools</li>
+																				<li class="none">
+		              <a href="mail-lists.html" title="Mailing Lists">
+    Mailing Lists</a>
+  				</li>
+ 														<li class="none">
+		              <a href="https://git-wip-us.apache.org/repos/asf/incubator-commonsrdf.git" class="externalLink" title="Source (Git)">
+    Source (Git)</a>
+  				</li>
+ 														<li class="none">
+		              <a href="https://issues.apache.org/jira/browse/COMMONSRDF" class="externalLink" title="Issues (Jira)">
+    Issues (Jira)</a>
+  				</li>
+ 								</ul>
+			<ul class="nav nav-list">
+		 		            									 <li class="nav-header"><i class="icon-info-sign"></i>Project Documentation</li>
+																								                                                              								<li class="collapsed">
+		              <a href="project-info.html" title="Project Information">
+    Project Information</a>
+  									</li>
+ 																		                                            								<li class="collapsed">
+		              <a href="project-reports.html" title="Project Reports">
+    Project Reports</a>
+  									</li>
+ 								</ul>
+			<ul class="nav nav-list">
+		 		            						 <li class="nav-header">Commons</li>
+																				<li class="none">
+		              <a href="http://commons.apache.org/" class="externalLink" title="Home">
+    Home</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://www.apache.org/licenses/" class="externalLink" title="License">
+    License</a>
+  				</li>
+ 																		                          								<li class="collapsed">
+		              <a href="http://commons.apache.org/components.html" class="externalLink" title="Components">
+    Components</a>
+  									</li>
+ 																		                          								<li class="collapsed">
+		              <a href="http://commons.apache.org/sandbox/index.html" class="externalLink" title="Sandbox">
+    Sandbox</a>
+  									</li>
+ 																		                          								<li class="collapsed">
+		              <a href="http://commons.apache.org/dormant/index.html" class="externalLink" title="Dormant">
+    Dormant</a>
+  									</li>
+ 								</ul>
+			<ul class="nav nav-list">
+		 		            						 <li class="nav-header">General Information</li>
+																				<li class="none">
+		              <a href="security.html" title="Security">
+    Security</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://commons.apache.org/volunteering.html" class="externalLink" title="Volunteering">
+    Volunteering</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://commons.apache.org/patches.html" class="externalLink" title="Contributing Patches">
+    Contributing Patches</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://commons.apache.org/building.html" class="externalLink" title="Building Components">
+    Building Components</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://commons.apache.org/commons-parent-pom.html" class="externalLink" title="Commons Parent Pom">
+    Commons Parent Pom</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://commons.apache.org/build-plugin/index.html" class="externalLink" title="Commons Build Plugin">
+    Commons Build Plugin</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://commons.apache.org/releases/index.html" class="externalLink" title="Releasing Components">
+    Releasing Components</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://wiki.apache.org/commons/FrontPage" class="externalLink" title="Wiki">
+    Wiki</a>
+  				</li>
+ 								</ul>
+			<ul class="nav nav-list">
+		 		            						 <li class="nav-header">ASF</li>
+																				<li class="none">
+		              <a href="http://www.apache.org/foundation/how-it-works.html" class="externalLink" title="How the ASF works">
+    How the ASF works</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://www.apache.org/foundation/getinvolved.html" class="externalLink" title="Get Involved">
+    Get Involved</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://www.apache.org/dev/" class="externalLink" title="Developer Resources">
+    Developer Resources</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://www.apache.org/foundation/sponsorship.html" class="externalLink" title="Sponsorship">
+    Sponsorship</a>
+  				</li>
+ 														<li class="none">
+		              <a href="http://www.apache.org/foundation/thanks.html" class="externalLink" title="Thanks">
+    Thanks</a>
+  				</li>
+ 								</ul>
+							</div>
+						<div id="poweredBy">
+							                                                                                                      <a href="http://www.apache.org/events/current-event.html" title="ApacheCon" class="builtBy">
+        <img class="builtBy"  alt="ApacheCon" src="http://www.apache.org/events/current-event-125x125.png"    />
+      </a>
+                                                                                                    <a href="http://maven.apache.org/" title="Maven" class="builtBy">
+        <img class="builtBy"  alt="Maven" src="http://maven.apache.org/images/logos/maven-feather.png"    />
+      </a>
+          						</div>
+					</td>
+					<td class="content">
+						<h1>Implementations</h1>
+<p>As a set of Java interfaces, Commons RDF must be used with one or more implementations.</p>
+<div class="section">
+<h2><a name="Current_implementations"></a>Current implementations</h2>
+<div class="section">
+<h3><a name="org.apache.commons.rdf.simple"></a>org.apache.commons.rdf.simple</h3>
+<p><a href="apidocs/org/apache/commons/rdf/simple/package-summary.html">org.apache.commons.rdf.simple</a> is maintained as part of Commons RDF, and its main purpose is to verify and clarify the <a href="testapidocs/org/apache/commons/rdf/api/package-summary.html">test harness</a>. It is backed by simple (if not naive) in-memory POJO objects and have no external dependencies.</p>
+<p>Note that although this module fully implements the commons-rdf API, it should <b>not</b> be considered as a reference implementation. It is <b>not thread-safe</b> and probably <b>not scalable</b>, however it may be useful for testing and simple usage (e.g. prototyping). </p>
+<p><b>Usage:</b></p>
+
+<div class="source">
+<div class="source">
+<pre>&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.commons&lt;/groupId&gt;
+    &lt;artifactId&gt;commons-rdf-simple&lt;/artifactId&gt;
+    &lt;version&gt;0.1.0-incubating-SNAPSHOT&lt;/version&gt;
+&lt;/dependency&gt;
+</pre></div></div>
+
+<div class="source">
+<div class="source">
+<pre>import org.apache.commons.rdf.api.RDFTermFactory;
+import org.apache.commons.rdf.simple.SimpleRDFTermFactory;
+
+RDFTermFactory rdfTermFactory = new SimpleRDFTermFactory();
+</pre></div></div></div></div>
+<div class="section">
+<h2><a name="Planned_implementations"></a>Planned implementations</h2>
+<p>The information in this section should not be considered updated or authorative as it relies on external project planning.</p>
+<div class="section">
+<h3><a name="Apache_Jena"></a>Apache Jena</h3>
+<p><a class="externalLink" href="http://jena.apache.org/">Apache Jena</a> is considering a compatibility interface that provides and consumes Commons RDF objects.</p></div>
+<div class="section">
+<h3><a name="RDF4j_Sesame"></a>RDF4j Sesame</h3>
+<p><a class="externalLink" href="http://rdf4j.org/">Sesame</a> is evaluating Commons RDF as a basis for its next version.</p></div>
+<div class="section">
+<h3><a name="Apache_Clerezza"></a>Apache Clerezza</h3>
+<p><a class="externalLink" href="https://clerezza.apache.org/">Apache Clerezza</a> is aligning its <a class="externalLink" href="https://github.com/apache/clerezza-rdf-core">RDF core</a> module with Commons RDF.</p></div></div>
+					</td>
+				</tr>
+			</table>
+		</div>
+
+		<div class="footer">
+			<p>Copyright &copy;                    2015
+                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
+            All Rights Reserved.</p>
+                                                          				
+<div class="center">Apache Commons, Apache, the Apache feather logo, and the Apache Commons project logos are trademarks of The Apache Software Foundation.
+      All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+                          		</div>
+	</body>
+
+</html>
\ No newline at end of file

Modified: websites/production/commonsrdf/content/index.html
==============================================================================
--- websites/production/commonsrdf/content/index.html (original)
+++ websites/production/commonsrdf/content/index.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Apache Commons RDF (incubating)</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/mail-lists.html
==============================================================================
--- websites/production/commonsrdf/content/mail-lists.html (original)
+++ websites/production/commonsrdf/content/mail-lists.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Project Mailing Lists</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/project-info.html
==============================================================================
--- websites/production/commonsrdf/content/project-info.html (original)
+++ websites/production/commonsrdf/content/project-info.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Project Information</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/project-reports.html
==============================================================================
--- websites/production/commonsrdf/content/project-reports.html (original)
+++ websites/production/commonsrdf/content/project-reports.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Generated Reports</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/source-repository.html
==============================================================================
--- websites/production/commonsrdf/content/source-repository.html (original)
+++ websites/production/commonsrdf/content/source-repository.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Source Repository</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/team-list.html
==============================================================================
--- websites/production/commonsrdf/content/team-list.html (original)
+++ websites/production/commonsrdf/content/team-list.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; Team list</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">

Modified: websites/production/commonsrdf/content/userguide.html
==============================================================================
--- websites/production/commonsrdf/content/userguide.html (original)
+++ websites/production/commonsrdf/content/userguide.html Tue Apr 28 01:42:16 2015
@@ -1,13 +1,13 @@
 <!DOCTYPE html>
 <!--
- | Generated by Apache Maven Doxia at 27 April 2015
+ | Generated by Apache Maven Doxia at 28 April 2015
  | Rendered using Apache Maven Fluido Skin 1.3.0
 -->
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
   <head>
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20150427" />
+    <meta name="Date-Revision-yyyymmdd" content="20150428" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache Commons RDF &#x2013; User Guide</title>
 
@@ -22,14 +22,19 @@
 
                             
 <style type="text/css">/* Override prettify.css, nicer fonts for code examples */
-    		.source .source pre {
-    			font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
-    		}
-    		/* COMMONSSITE-82 workaround */
-    		.nav-list li.collapsed a {
-    			background-repeat: no-repeat;
-    			background-position: 16px 9px;
-    		}</style>                                
+            .content .source pre {
+                font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+            }
+            .content tt, .content code {
+                    font-family: Monaco,Menlo,Consolas,Inconsolata,monospace;
+              color: #333;
+            }
+
+            /* COMMONSSITE-82 workaround */
+            .nav-list li.collapsed a {
+                background-repeat: no-repeat;
+                background-position: 16px 9px;
+            }</style>                                
 <link rel="stylesheet" href="./css/prettify.css" media="all" type="text/css"/>                                
 <script src="./js/prettify.js" type="text/javascript"></script>                                
 <script type="text/javascript">window.onload=function() {
@@ -49,7 +54,7 @@
 					<a class="brand" href="http://commonsrdf.incubator.apache.org">Commons RDF &trade;</a>
 					<ul class="nav">      
                     
-            <li id="publishDate">Last Published: 27 April 2015</li>
+            <li id="publishDate">Last Published: 28 April 2015</li>
       <li class="divider">|</li> <li id="projectVersion">Version: 0.1.0-incubating-SNAPSHOT</li>
   </ul>
                     <div class="pull-right">	<ul class="nav">
@@ -230,47 +235,78 @@
 
 <ul>
   
+<li><a href="#Introduction">Introduction</a></li>
+  
 <li><a href="#Using_Commons_RDF_from_Maven">Using Commons RDF from Maven</a></li>
   
-<li><a href="#Creating_RDFTerm_instances">Creating Commons RDF instances</a></li>
+<li><a href="#Creating_Commons_RDF_instances">Creating Commons RDF instances</a></li>
   
-<li><a href="#Graph">Graph</a></li>
+<li><a href="#RDF_terms">RDF terms</a>
   
-<li><a href="#Adding_triples">Adding triples</a></li>
+<ul>
+    
+<li><a href="#IRI">IRI</a></li>
+    
+<li><a href="#Blank_node">Blank node</a>
+    
+<ul>
+      
+<li><a href="#Blank_node_reference">Blank node reference</a></li>
+    </ul></li>
+    
+<li><a href="#Literal">Literal</a>
+    
+<ul>
+      
+<li><a href="#Datatype">Datatype</a>
+      
+<ul>
+        
+<li><a href="#Types">Types</a></li>
+      </ul></li>
+      
+<li><a href="#Language">Language</a></li>
+    </ul></li>
+  </ul></li>
   
-<li><a href="#Finding_triples">Finding triples</a></li>
+<li><a href="#Triple">Triple</a></li>
   
-<li><a href="#Size">Size</a></li>
+<li><a href="#Graph">Graph</a>
   
+<ul>
+    
+<li><a href="#Adding_triples">Adding triples</a></li>
+    
+<li><a href="#Finding_triples">Finding triples</a></li>
+    
+<li><a href="#Size">Size</a></li>
+    
 <li><a href="#Iterating_over_triples">Iterating over triples</a></li>
-  
+    
 <li><a href="#Stream_of_triples">Stream of triples</a></li>
-  
-<li><a href="#Removing_triples">Removing triples</a></li>
-  
-<li><a href="#RDF_terms">RDF terms</a></li>
-  
-<li><a href="#IRI">IRI</a></li>
-  
-<li><a href="#Blank_node">Blank node</a>
-  
-<ul>
     
-<li><a href="#Blank_node_reference">Blank node reference</a></li>
+<li><a href="#Removing_triples">Removing triples</a></li>
   </ul></li>
   
-<li><a href="#Literal">Literal</a>
+<li><a href="#Mutability_and_thread_safety">Mutability and thread safety</a></li>
+  
+<li><a href="#Implementations">Implementations</a>
   
 <ul>
     
-<li><a href="#Types">Types</a></li>
+<li><a href="#Cross-compatibility">Cross-compatibility</a></li>
   </ul></li>
-  
-<li><a href="#Triple">Triple</a></li>
 </ul>
 <div class="section">
+<h2><a name="Introduction"></a>Introduction</h2>
+<p><a href="index.html">Commons RDF</a> is an API that intends to directly describe <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/">RDF 1.1 concepts</a> as a set of corresponding interfaces and methods.</p>
+<div class="section">
+<h3><a name="RDF_concepts"></a>RDF concepts</h3>
+<p>RDF is a <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#data-model">graph-based data model</a>, where a <i>graph</i> contains a series of <i>triples</i>, each containing the node-arc-node link <i>subject</i> -&gt; <i>predicate</i> -&gt; <i>object</i>. Nodes in the graph are represented either as <i>IRIs</i>, <i>literals</i> and <i>blank nodes</i>. : This user guide does not intend to give a detailed description of RDF as a data model. To fully understand this user guide, you should have a brief understanding of the core RDF concepts mentioned above.</p>
+<p>For more information on RDF, see the <a class="externalLink" href="http://www.w3.org/TR/rdf11-primer/">RDF primer</a> and the <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#data-model">RDF concepts</a> specification from W3C.</p></div></div>
+<div class="section">
 <h2><a name="Using_Commons_RDF_from_Maven"></a>Using Commons RDF from Maven</h2>
-<p>To use Commons RDF API from an <a class="externalLink" href="http://maven.apache.org/">Apache Maven</a> projects, add the following dependency to your <tt>pom.xml</tt>:</p>
+<p>To use Commons RDF API from an <a class="externalLink" href="http://maven.apache.org/">Apache Maven</a> project, add the following dependency to your <tt>pom.xml</tt>:</p>
 
 <div class="source">
 <div class="source">
@@ -323,9 +359,9 @@
 
 <div class="source">
 <div class="source">
-<pre>import org.apache.commons.rdf.api.RDFTermFactory;
+<pre>import org.apache.commons.rdf.api.*;
 import org.apache.commons.rdf.simple.SimpleRDFTermFactory;
-// ..
+// ...
 RDFTermFactory rdfTermFactory = new SimpleRDFTermFactory();
 </pre></div></div>
 <p>Using the factory you can construct any <a href="apidocs/org/apache/commons/rdf/api/RDFTerm.html">RDFTerm</a>, e.g. to create a <a href="apidocs/org/apache/commons/rdf/api/BlankNode.html">BlankNode</a>, <a href="apidocs/org/apache/commons/rdf/api/IRI.html">IRI</a> and <a href="apidocs/org/apache/commons/rdf/api/Literal.html">Literal</a>:</p>
@@ -345,153 +381,9 @@ Literal literal = factory.createLiteral(
 <p>The <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html">RDFTermFactory</a> also contains more specific variants of some of the methods above, e.g. to create a typed literal. </p>
 <p>Note that for any given implementation, <tt>RDFTerm</tt> instances need not be created using a <tt>RDFTermFactory</tt>. More likely, implementation-specific methods might create these objects as part of data parsing, storage lookup and queries.</p></div>
 <div class="section">
-<h2><a name="Graph"></a>Graph</h2>
-<p>A <a href="apidocs/org/apache/commons/rdf/api/Graph.html">Graph</a> is a collection of <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a>s.</p>
-<p>To create a graph from a <tt>RDFTermFactory</tt>, use <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createGraph--">createGraph()</a>:</p>
-
-<div class="source">
-<div class="source">
-<pre>Graph graph = factory.createGraph();
-</pre></div></div>
-<p>Implementations will typically also have other ways of retrieving a <tt>Graph</tt>, e.g. by parsing a Turtle file or connecting to a storage backend.</p>
-<div class="section">
-<h3><a name="Adding_triples"></a>Adding triples</h3>
-<p><i>Note: Some <tt>Graph</tt> implementations are immutable, in which case the below may throw an <tt>UnsupportedOperationException</tt></i>.</p>
-<p>Given the <a href="#Creating_RDFTerm_instances">previous example</a>, we can <a href="apidocs/org/apache/commons/rdf/api/Graph.html#add-org.apache.commons.rdf.api.Triple-">add</a> the triple to the graph:</p>
-
-<div class="source">
-<div class="source">
-<pre>graph.add(triple);
-</pre></div></div>
-<p>As an alternative to creating the <tt>Triple</tt> first, you can use the expanded <i>subject/predicate/object</i> form of [Graph.add](apidocs/org/apache/commons/rdf/api/Graph.html#add-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-()):</p>
-
-<div class="source">
-<div class="source">
-<pre>IRI bob = factory.createIRI(&quot;http://example.com/bob&quot;);
-Literal bobName = factory.createLiteral(&quot;Bob&quot;);
-graph.add(bob, iri, bobName);
-</pre></div></div>
-<p>It is not necessary to check if a triple already exist in the graph, as the underlying implementation will ignore duplicate triples.</p></div>
-<div class="section">
-<h3><a name="Finding_triples"></a>Finding triples</h3>
-<p>You can check if the graph <a href="apidocs/org/apache/commons/rdf/api/Graph.html#contains-org.apache.commons.rdf.api.Triple-">contains</a> a triple:</p>
-
-<div class="source">
-<div class="source">
-<pre>System.out.println(graph.contains(triple));
-</pre></div></div>
-
-<blockquote>
-<p><tt>true</tt></p>
-</blockquote>
-<p>The expanded subject/predicate/object call for <a href="apidocs/org/apache/commons/rdf/api/Graph.html#contains-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">Graph.contains()</a> can be used without needing to create a <tt>Triple</tt> first, and also allow <tt>null</tt> as a wildcard parameters:</p>
-
-<div class="source">
-<div class="source">
-<pre>System.out.println(graph.contains(null, iri, bobName));
-</pre></div></div>
-
-<blockquote>
-<p><tt>true</tt></p>
-</blockquote></div>
-<div class="section">
-<h3><a name="Size"></a>Size</h3>
-<p>The <a href="apidocs/org/apache/commons/rdf/api/Graph.html#size--">size</a> of a graph is the count of unique triples:</p>
-
-<div class="source">
-<div class="source">
-<pre>System.out.println(graph.size());
-</pre></div></div>
-
-<blockquote>
-<p><tt>2</tt></p>
-</blockquote>
-<p><i>Note: In some implementations with large graphs, calculating the size can be an expensive operation.</i></p></div>
-<div class="section">
-<h3><a name="Iterating_over_triples"></a>Iterating over triples</h3>
-<p>The <a href="apidocs/org/apache/commons/rdf/api/Graph.html#iterate--">iterate</a> method can be used to sequentially iterate over all the triples of the graph:</p>
-
-<div class="source">
-<div class="source">
-<pre>for (Triple t : graph.iterate()) {
-  System.out.println(t.getObject());
-}
-</pre></div></div>
-
-<blockquote>
-<p><tt>&quot;Alice&quot;</tt></p>
-<p><tt>&quot;Bob&quot;</tt></p>
-</blockquote>
-<p>The expanded <a href="apidocs/org/apache/commons/rdf/api/Graph.html#iterate-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">iterate</a> method takes a <i>subject/predicate/object</i> filter which permits the <tt>null</tt> wildcard:</p>
-
-<div class="source">
-<div class="source">
-<pre>for (Triple t : graph.iterate(null, null, bobName)) {
-  System.out.println(t.getPredicate());
-}
-</pre></div></div>
-
-<blockquote>
-<p><tt>&lt;http://example.com/name&gt;</tt></p>
-</blockquote></div>
-<div class="section">
-<h3><a name="Stream_of_triples"></a>Stream of triples</h3>
-<p>For processing of larger graphs, and to access more detailed filtering and processing, the <a href="apidocs/org/apache/commons/rdf/api/Graph.html#getTriples--">getTriples</a> method return a Java 8 <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html">Stream</a>.</p>
-
-<div class="source">
-<div class="source">
-<pre>Stream&lt;Object&gt; subjects = graph.getTriples().map(t -&gt; t.getSubject());
-String s = subjects.map(Object::toString).collect(Collectors.joining(&quot; &quot;));
-System.out.println(s);
-</pre></div></div>
-
-<blockquote>
-<p><tt>&quot;Alice&quot; &quot;Bob&quot;</tt></p>
-</blockquote>
-<p>For details about what can be done with a stream, see the <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">java.util.stream documentation</a>.</p>
-<p>Note that by default the stream will be parallel, use <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/BaseStream.html#sequential--">.sequential()</a> if your stream operations need to interact with objects that are not thread-safe.</p>
-<p>Streams allow advanced <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#filter-java.util.function.Predicate-">filter predicates</a>, but you may find that simple <i>subject/predicate/object</i> patterns are handled more efficiently by the expanded <a class="externalLink" href="http://commonsrdf.incubator.apache.org/apidocs/org/apache/commons/rdf/api/Graph.html#getTriples-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">getTriples</a> method. These can of course be combined:</p>
-
-<div class="source">
-<div class="source">
-<pre>Stream&lt;? extends Triple&gt; namedB = graph.getTriples(null, nameIri, null).
-    filter(t -&gt; t.getObject().ntriplesString().contains(&quot;B&quot;));
-System.out.println(namedB.map(t -&gt; t.getSubject()).findAny().get());
-</pre></div></div>
-
-<blockquote>
-<p><tt>&lt;http://example.com/bob&gt;</tt></p>
-</blockquote></div>
-<div class="section">
-<h3><a name="Removing_triples"></a>Removing triples</h3>
-<p><i>Note: Some <tt>Graph</tt> implementations are immutable, in which case the below may throw an <tt>UnsupportedOperationException</tt></i>.</p>
-<p>Triples can be <a href="apidocs/org/apache/commons/rdf/api/Graph.html#remove-org.apache.commons.rdf.api.Triple-">removed</a> from a graph:</p>
-
-<div class="source">
-<div class="source">
-<pre>graph.remove(triple);
-System.out.println(graph.contains(triple));
-</pre></div></div>
-<p>The expanded subject/predicate/object form of <a href="apidocs/org/apache/commons/rdf/api/Graph.html#remove-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">remove()</a> can be used without needing to construct a <tt>Triple</tt> first. It also allow <tt>null</tt> as a wildcard pattern:</p>
-
-<div class="source">
-<div class="source">
-<pre>graph.remove(null, iri, null);
-</pre></div></div>
-<p>To remove all triples, use <a href="apidocs/org/apache/commons/rdf/api/Graph.html#clear--">clear</a>:</p>
-
-<div class="source">
-<div class="source">
-<pre>graph.clear();
-System.out.println(graph.contains(null, null, null));
-</pre></div></div>
-
-<blockquote>
-<p>false</p>
-</blockquote></div></div>
-<div class="section">
 <h2><a name="RDF_terms"></a>RDF terms</h2>
-<p>The core RDF terms are arranged in this class hierarchy:</p>
+<p><a href="apidocs/org/apache/commons/rdf/api/RDFTerm.html">RDFTerm</a> is the super-interface for instances that can be used as subject, predicate and object of a <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a>.</p>
+<p>The RDF term interfaces are arranged in this class hierarchy:</p>
 
 <ul>
   
@@ -528,8 +420,8 @@ System.out.println(aliceLiteral.ntriples
 <p><tt>&quot;Alice&quot;</tt></p>
 </blockquote>
 <p>This returns the <a class="externalLink" href="http://www.w3.org/TR/n-triples">N-Triples</a> canonical form of the term, which can be useful both for debugging and simple serialization.</p>
-<p><i>Note: The <tt>.toString()</tt> of the <tt>simple</tt> implementation used in these examples use <tt>ntriplesString()</tt> internally, but Commons RDF places no such formal requirement on the <tt>.toString()</tt> method. Clients that rely on a canonical N-Triples-compatible string should instead use <tt>ntriplesString()</tt>.</i></p>
-<p>As an example of using <tt>ntriplesString()</tt>, here is how one could write a simple N-Triples compatible serialization of a <a href="apidocs/org/apache/commons/rdf/api/Graph.html">Graph</a>:</p>
+<p><i>Note: The <tt>.toString()</tt> of the <tt>simple</tt> implementation used in some of these examples use <tt>ntriplesString()</tt> internally, but Commons RDF places no such formal requirement on the <tt>.toString()</tt> method. Clients that rely on a canonical N-Triples-compatible string should instead use <tt>ntriplesString()</tt>.</i></p>
+<p>As an example of using <tt>ntriplesString()</tt>, here is how one could write a basic N-Triples-compatible serialization of a <a href="apidocs/org/apache/commons/rdf/api/Graph.html">Graph</a>:</p>
 
 <div class="source">
 <div class="source">
@@ -547,11 +439,10 @@ System.out.println(aliceLiteral.ntriples
 </pre></div></div>
 <p>Example output:</p>
 
-<div class="source">
-<div class="source">
-<pre>_:ef136d20-f1ee-3830-a54b-cd5e489d50fb &lt;http://example.com/name&gt; &quot;Alice&quot; .
-&lt;http://example.com/bob&gt; &lt;http://example.com/name&gt; &quot;Bob&quot; .
-</pre></div></div></div>
+<blockquote>
+<p><tt>_:ef136d20-f1ee-3830-a54b-cd5e489d50fb &lt;http://example.com/name&gt; &quot;Alice&quot; .</tt></p>
+<p><tt>&lt;http://example.com/bob&gt; &lt;http://example.com/name&gt; &quot;Bob&quot; .</tt></p>
+</blockquote></div>
 <div class="section">
 <h3><a name="IRI"></a>IRI</h3>
 <p>An <a href="apidocs/org/apache/commons/rdf/api/IRI.html">IRI</a> is a representation of an <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#dfn-iri">Internationalized Resource Identifier</a>, e.g. <tt>http://example.com/alice</tt> or <tt>http://ns.example.org/vocab#term</tt>.</p>
@@ -559,7 +450,7 @@ System.out.println(aliceLiteral.ntriples
 <blockquote>
 <p>IRIs in the RDF abstract syntax MUST be absolute, and MAY contain a fragment identifier.</p>
 </blockquote>
-<p>In RDF, an IRI identifies a resource that can be used as a <i>subject</i>, <i>predicate</i> or <i>object</i> of a <tt>Triple</tt>.</p>
+<p>In RDF, an IRI identifies a resource that can be used as a <i>subject</i>, <i>predicate</i> or <i>object</i> of a <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a>.</p>
 <p>To create an <tt>IRI</tt> instance from a <tt>RDFTermFactory</tt>, use <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createIRI-java.lang.String-">createIRI</a>:</p>
 
 <div class="source">
@@ -612,7 +503,7 @@ System.out.println(iri.equals(factory.cr
 </blockquote></div>
 <div class="section">
 <h3><a name="Blank_node"></a>Blank node</h3>
-<p>A <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#section-blank-nodes">blank node</a> is a resource which, unlike an IRI, is not directly identified. Blank nodes can be used as <i>subject</i> or <i>object</i> of a <tt>Triple</tt>.</p>
+<p>A <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#section-blank-nodes">blank node</a> is a resource which, unlike an IRI, is not directly identified. Blank nodes can be used as <i>subject</i> or <i>object</i> of a <tt>Triple</tt> <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a>.</p>
 <p>To create a new <a href="apidocs/org/apache/commons/rdf/api/BlankNode.html">BlankNode</a> instance from a <tt>RDFTermFactory</tt>, use <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createBlankNode--">createBlankNode</a>:</p>
 
 <div class="source">
@@ -676,73 +567,419 @@ System.out.println(b1.equals(new SimpleR
 <p><i>Note: While it is recommended for this string to be (or contain) a <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/UUID.html">UUID string</a>, implementations are free to use any scheme to ensure their blank node references are globally unique. Therefore no assumptions should be made about this string except that it is unique per blank node.</i></p></div></div>
 <div class="section">
 <h3><a name="Literal"></a>Literal</h3>
-<p>A <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#section-Graph-Literal">literal</a> in RDF is a value such as a string, number or a date. A <tt>Literal</tt> can only be used as <i>objects</i> of a <tt>Triple</tt></p>
+<p>A <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#section-Graph-Literal">literal</a> in RDF is a value such as a string, number or a date. A <tt>Literal</tt> can only be used as an <i>object</i> of a <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getObject--">Triple</a>.</p>
 <p>To create a <a href="apidocs/org/apache/commons/rdf/api/Literal.html">Literal</a> instance from an <tt>RDFTermFactory</tt>, use <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createLiteral-java.lang.String-">createLiteral</a>:</p>
 
 <div class="source">
 <div class="source">
-<pre>Literal literal = factory.createLiteral(&quot;Hello world&quot;);
-System.out.println(literal);
+<pre>Literal literal = factory.createLiteral(&quot;Hello world!&quot;);
+System.out.println(literal.ntriplesString());
+</pre></div></div>
+
+<blockquote>
+<p><tt>&quot;Hello world!&quot;</tt></p>
+</blockquote>
+<p>The lexical value (what is inside the quotes) can be retrieved using <a href="apidocs/org/apache/commons/rdf/api/Literal.html#getLexicalForm--">getLexicalForm()</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>String lexical = literal.getLexicalForm();
+System.out.println(lexical);
 </pre></div></div>
 
 <blockquote>
-<p><tt>&quot;Hello world&quot;</tt></p>
+<p><tt>Hello world!</tt></p>
 </blockquote>
-<p>In RDF 1.1, a <i>plain literal</i> as created above always have the type <tt>http://www.w3.org/2001/XMLSchema#string</tt>:</p>
+<div class="section">
+<h4><a name="Datatype"></a>Datatype</h4>
+<p>All literals in RDF 1.1 have a <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype</a> <tt>IRI</tt>, which can be retrieved using <a href="apidocs/org/apache/commons/rdf/api/Literal.html#getDatatype--">Literal.getDatatype()</a>:</p>
 
 <div class="source">
 <div class="source">
-<pre>System.out.println(literal.getDatatype());
+<pre>IRI datatype = literal.getDatatype();
+System.out.println(datatype.ntriplesString());
 </pre></div></div>
 
 <blockquote>
 <p><tt>&lt;http://www.w3.org/2001/XMLSchema#string&gt;</tt></p>
 </blockquote>
-<p>Literals may be created with an associated language tag:</p>
+<p>In RDF 1.1, a <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#dfn-simple-literal">simple literal</a> (as created above) always have the type <tt>http://www.w3.org/2001/XMLSchema#string</tt> (or <a href="apidocs/org/apache/commons/rdf/simple/Types.html#XSD_STRING">xsd:string</a> for short). </p>
+
+<div class="alert alert-warn" role="alert">
+<p><span class="glyphicon glyphicon-warn-sign" aria-hidden="true"></span>
+<!-- Markdown not supported inside HTML -->
+<b>Note:</b>
+RDF 1.0 had the datatype
+<tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#PlainLiteral</tt> to
+indicate <i>plain literals</i> (untyped), which were distinct from
+<tt>http://www.w3.org/2001/XMLSchema#string</tt> (typed). Commons
+RDF assumes RDF 1.1, which merges the two concepts as the second type, however
+particular implementations might have explicit options for RDF 1.0 support, in
+which case you might find <tt>Literal</tt> instances with the deprecated
+<a href="apidocs/org/apache/commons/rdf/simple/Types.html#RDF_PLAINLITERAL">plain
+literal</a> data type.
+</p></div>
+<p>To create a literal with any other <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#dfn-datatype-iri">datatype</a>, then first create the datatype <tt>IRI</tt> and pass it to the expanded <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createLiteral-java.lang.String-org.apache.commons.rdf.api.IRI-">createLiteral</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>IRI xsdDouble = factory.createIRI(&quot;http://www.w3.org/2001/XMLSchema#double&quot;);
+Literal typedLiteral = factory.createLiteral(&quot;13.37&quot;, xsdDouble);
+System.out.println(typedLiteral.ntriplesString());
+</pre></div></div>
+
+<blockquote>
+<p><tt>&quot;13.37&quot;^^&lt;http://www.w3.org/2001/XMLSchema#double&gt;</tt></p>
+</blockquote>
+<div class="section">
+<h5><a name="Types"></a>Types</h5>
+<p>The class <a href="apidocs/org/apache/commons/rdf/simple/Types.html">Types</a>, which is part of the <i>simple</i> implementation, provides <tt>IRI</tt> constants for the standard XML Schema datatypes like <tt>xsd:dateTime</tt> and <tt>xsd:float</tt>. Using <tt>Types</tt>, the above example can be simplified to:</p>
+
+<div class="source">
+<div class="source">
+<pre>Literal typedLiteral = factory.createLiteral(&quot;13.37&quot;, Types.XSD_DOUBLE);
+</pre></div></div>
+<p>As the constants in <tt>Types</tt> are all instances of <tt>IRI</tt>, they can also be used for comparisons:</p>
+
+<div class="source">
+<div class="source">
+<pre>System.out.println(literal.getDatatype().equals(Types.XSD_STRING));
+</pre></div></div>
+
+<blockquote>
+<p><tt>true</tt></p>
+</blockquote></div></div>
+<div class="section">
+<h4><a name="Language"></a>Language</h4>
+<p>Literals may be created with an associated <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#dfn-language-tagged-string">language tag</a> using the expanded <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createLiteral-java.lang.String-java.lang.String-">createLiteral</a>:</p>
 
 <div class="source">
 <div class="source">
 <pre>Literal inSpanish = factory.createLiteral(&quot;&#xa1;Hola, Mundo!&quot;, &quot;es&quot;);
-System.out.println(inSpanish);
+System.out.println(inSpanish.ntriplesString());
+System.out.println(inSpanish.getLexicalForm());
 </pre></div></div>
 
 <blockquote>
 <p><tt>&quot;&#xa1;Hola, Mundo!&quot;@es</tt></p>
+<p><tt>&#xa1;Hola, Mundo!</tt></p>
 </blockquote>
-<p>In RDF 1.1, a Literal with a language always have the type <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</tt>:</p>
+<p>A literal with a language tag always have the implied type <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</tt>:</p>
 
 <div class="source">
 <div class="source">
-<pre>System.out.println(inSpanish.getDatatype());
+<pre>System.out.println(inSpanish.getDatatype().ntriplesString());
 </pre></div></div>
 
 <blockquote>
 <p><tt>&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#langString&gt;</tt></p>
 </blockquote>
-<p>A <i>typed literal</i> has a datatype represented by an <tt>IRI</tt>:</p>
+<p>The language tag can be retrieved using <a href="apidocs/org/apache/commons/rdf/api/Literal.html#getLanguageTag--">getLanguageTag()</a>:</p>
 
 <div class="source">
 <div class="source">
-<pre>IRI xsdDouble = factory.createIRI(&quot;http://www.w3.org/2001/XMLSchema#double&quot;);
-Literal typedLiteral = factory.createLiteral(&quot;13.37&quot;, xsdDouble);
-System.out.println(typedLiteral);
+<pre>Optional&lt;String&gt; tag = inSpanish.getLanguageTag();
+if (tag.isPresent()) {
+    System.out.println(tag.get());
+}
 </pre></div></div>
 
 <blockquote>
-<p><tt>&quot;13.37&quot;^^&lt;http://www.w3.org/2001/XMLSchema#double&gt;</tt></p>
+<p><tt>es</tt></p>
 </blockquote>
+<p>The language tag is behind an <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/Optional.html">Optional</a> as it cannot be present for any other datatypes than <tt>http://www.w3.org/1999/02/22-rdf-syntax-ns#langString</tt>:</p>
+
+<div class="source">
+<div class="source">
+<pre>System.out.println(literal.getLanguageTag().isPresent());
+System.out.println(literalDouble.getLanguageTag().isPresent());
+</pre></div></div>
+
+<blockquote>
+<p><tt>false</tt></p>
+<p><tt>false</tt></p>
+</blockquote></div></div></div>
 <div class="section">
-<h4><a name="Types"></a>Types</h4>
-<p>The class <a href="apidocs/org/apache/commons/rdf/simple/Types.html">Types</a>, which is part of the <i>simple</i> implementation, provides constants for the standard XML Schema datatypes, e.g. <tt>xsd:dateTime</tt> and <tt>xsd:float</tt>. Using <tt>Types</tt>, the above example can be simplified to:</p>
+<h2><a name="Triple"></a>Triple</h2>
+<p>A <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#section-triples">triple</a> in RDF 1.1 consists of:</p>
+
+<ul>
+  
+<li>The <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getSubject--">subject</a>, which is an <a href="apidocs/org/apache/commons/rdf/api/IRI.html">IRI</a> or a <a href="apidocs/org/apache/commons/rdf/api/BlankNode.html">BlankNode</a></li>
+  
+<li>The <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getPredicate--">predicate</a>, which is an <a href="apidocs/org/apache/commons/rdf/api/IRI.html">IRI</a></li>
+  
+<li>The <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getObject--">object</a>, which is an <a href="apidocs/org/apache/commons/rdf/api/IRI.html">IRI</a>, a <a href="apidocs/org/apache/commons/rdf/api/BlankNode.html">BlankNode</a> or a <a href="apidocs/org/apache/commons/rdf/api/Literal.html">Literal</a></li>
+</ul>
+<p>To construct a <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a> from a <tt>RDFTermFactory</tt>, use <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createTriple-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">createTriple</a>:</p>
 
 <div class="source">
 <div class="source">
-<pre>Literal typedLiteral = factory.createLiteral(&quot;13.37&quot;, Types.XSD_DOUBLE);
+<pre>BlankNodeOrIRI subject = factory.createBlankNode();
+IRI predicate = factory.createIRI(&quot;http://example.com/says&quot;);
+RDFTerm object = factory.createLiteral(&quot;Hello&quot;);
+Triple triple = factory.createTriple(subject, predicate, object);
+</pre></div></div>
+<p>The subject of the triple can be retrieved using <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getSubject--">getSubject</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>BlankNodeOrIRI subj = triple.getSubject(); 
+System.out.println(subj.ntriplesString());
+</pre></div></div>
+
+<blockquote>
+<p><tt>_:7b914fbe-aa2a-4551-b71c-8ac0e2b52b26</tt></p>
+</blockquote>
+<p>Likewise the predicate using <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getPredicate--">getPredicate</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>IRI pred = triple.getPredicate(); 
+System.out.println(pred.getIRIString());
+</pre></div></div>
+
+<blockquote>
+<p><tt>http://example.com/says</tt></p>
+</blockquote>
+<p>Finally, the object of the triple is returned with <a href="apidocs/org/apache/commons/rdf/api/Triple.html#getObject--">getObject</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>RDFTerm obj = triple.getObject();
+System.out.println(obj.ntriplesString());
+</pre></div></div>
+
+<blockquote>
+<p><tt>&quot;Hello&quot;</tt></p>
+</blockquote>
+<p>For the subject and object you might find it useful to do Java type checking and casting from the types <a href="apidocs/org/apache/commons/rdf/api/BlankNodeOrIRI.html">BlankNodeOrIRI</a> and <a href="apidocs/org/apache/commons/rdf/api/RDFTerm.html">RDFTerm</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>if (subj instanceof IRI) {
+    String s = ((IRI) subj).getIRIString();
+    System.out.println(s);
+}
+// ..
+if (obj instanceof Literal) { 
+    IRI type = ((Literal) obj).getDatatype();
+    System.out.println(type);
+}
+</pre></div></div>
+<p>In Commons RDF, <tt>BlankNodeOrIRI</tt> instances are always one of <tt>BlankNode</tt> or <tt>IRI</tt>, and <tt>RDFTerm</tt> instances one of <tt>BlankNode</tt>, <tt>IRI</tt> or <tt>Literal</tt>.</p>
+<p>A <tt>Triple</tt> is considered <a href="apidocs/org/apache/commons/rdf/api/Triple.html#equals-java.lang.Object-">equal</a> to another <tt>Triple</tt> if each of their subject, predicate and object are also equal:</p>
+
+<div class="source">
+<div class="source">
+<pre>System.out.println(triple.equals(factory.createTriple(subj, pred, obj)));
+</pre></div></div>
+
+<blockquote>
+<p><tt>true</tt></p>
+</blockquote></div>
+<div class="section">
+<h2><a name="Graph"></a>Graph</h2>
+<p>A <a class="externalLink" href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph">graph</a> is a collection of triples.</p>
+<p>To create a <a href="apidocs/org/apache/commons/rdf/api/Graph.html">Graph</a> instance from a <tt>RDFTermFactory</tt>, use <a href="apidocs/org/apache/commons/rdf/api/RDFTermFactory.html#createGraph--">createGraph()</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>Graph graph = factory.createGraph();
 </pre></div></div>
-<p>Note that the string returned from <tt>Literal.ntriplesString()</tt> will always contain the full IRI for the datatype.</p></div></div>
+<p>Implementations will typically also have other ways of retrieving a <tt>Graph</tt>, e.g. by parsing a Turtle file or connecting to a storage backend.</p>
 <div class="section">
-<h3><a name="Triple"></a>Triple</h3>
-<p><b>TODO:</b> <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a></p></div></div>
+<h3><a name="Adding_triples"></a>Adding triples</h3>
+<p><i>Note: Some <tt>Graph</tt> implementations are immutable, in which case the below may throw an <tt>UnsupportedOperationException</tt></i>.</p>
+<p>Any <a href="apidocs/org/apache/commons/rdf/api/Triple.html">Triple</a> can be added to the graph using the <a href="apidocs/org/apache/commons/rdf/api/Graph.html#add-org.apache.commons.rdf.api.Triple-">add</a> method:</p>
+
+<div class="source">
+<div class="source">
+<pre>graph.add(triple);
+</pre></div></div>
+<p>As an alternative to creating the <tt>Triple</tt> first, you can use the expanded <i>subject/predicate/object</i> form of [Graph.add](apidocs/org/apache/commons/rdf/api/Graph.html#add-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-()):</p>
+
+<div class="source">
+<div class="source">
+<pre>IRI bob = factory.createIRI(&quot;http://example.com/bob&quot;);
+Literal bobName = factory.createLiteral(&quot;Bob&quot;);
+graph.add(bob, iri, bobName);
+</pre></div></div>
+<p>It is not necessary to check if a triple already exist in the graph, as the underlying implementation will ignore duplicate triples.</p></div>
+<div class="section">
+<h3><a name="Finding_triples"></a>Finding triples</h3>
+<p>You can check if the graph <a href="apidocs/org/apache/commons/rdf/api/Graph.html#contains-org.apache.commons.rdf.api.Triple-">contains</a> a triple:</p>
+
+<div class="source">
+<div class="source">
+<pre>System.out.println(graph.contains(triple));
+</pre></div></div>
+
+<blockquote>
+<p><tt>true</tt></p>
+</blockquote>
+<p>The expanded <i>subject/predicate/object</i> call for <a href="apidocs/org/apache/commons/rdf/api/Graph.html#contains-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">Graph.contains()</a> can be used without needing to create a <tt>Triple</tt> first, and also allow <tt>null</tt> as a wildcard parameters:</p>
+
+<div class="source">
+<div class="source">
+<pre>System.out.println(graph.contains(null, iri, bobName));
+</pre></div></div>
+
+<blockquote>
+<p><tt>true</tt></p>
+</blockquote></div>
+<div class="section">
+<h3><a name="Size"></a>Size</h3>
+<p>The <a href="apidocs/org/apache/commons/rdf/api/Graph.html#size--">size</a> of a graph is the count of unique triples:</p>
+
+<div class="source">
+<div class="source">
+<pre>System.out.println(graph.size());
+</pre></div></div>
+
+<blockquote>
+<p><tt>2</tt></p>
+</blockquote></div>
+<div class="section">
+<h3><a name="Iterating_over_triples"></a>Iterating over triples</h3>
+<p>The <a href="apidocs/org/apache/commons/rdf/api/Graph.html#iterate--">iterate</a> method can be used to sequentially iterate over all the triples of the graph:</p>
+
+<div class="source">
+<div class="source">
+<pre>for (Triple t : graph.iterate()) {
+  System.out.println(t.getObject());
+}
+</pre></div></div>
+
+<blockquote>
+<p><tt>&quot;Alice&quot;</tt></p>
+<p><tt>&quot;Bob&quot;</tt></p>
+</blockquote>
+<p>The expanded <a href="apidocs/org/apache/commons/rdf/api/Graph.html#iterate-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">iterate</a> method takes a <i>subject/predicate/object</i> filter which permits the <tt>null</tt> wildcard:</p>
+
+<div class="source">
+<div class="source">
+<pre>for (Triple t : graph.iterate(null, null, bobName)) {
+  System.out.println(t.getPredicate());
+}
+</pre></div></div>
+
+<blockquote>
+<p><tt>&lt;http://example.com/name&gt;</tt></p>
+</blockquote></div>
+<div class="section">
+<h3><a name="Stream_of_triples"></a>Stream of triples</h3>
+<p>For processing of larger graphs, and to access more detailed filtering and processing, the <a href="apidocs/org/apache/commons/rdf/api/Graph.html#getTriples--">getTriples</a> method return a Java 8 <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html">Stream</a>.</p>
+
+<div class="source">
+<div class="source">
+<pre>Stream&lt;RDFTerm&gt; subjects = graph.getTriples().map(t -&gt; t.getObject());
+String s = subjects.map(RDFTerm::ntriplesString).collect(Collectors.joining(&quot; &quot;));
+System.out.println(s);
+</pre></div></div>
+
+<blockquote>
+<p><tt>&quot;Alice&quot; &quot;Bob&quot;</tt></p>
+</blockquote>
+<p>For details about what can be done with a stream, see the <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html">java.util.stream documentation</a>.</p>
+<p>Note that by default the stream will be parallel, use <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/BaseStream.html#sequential--">.sequential()</a> if your stream operations need to interact with objects that are not thread-safe.</p>
+<p>Streams allow advanced <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#filter-java.util.function.Predicate-">filter predicates</a>, but you may find that simple <i>subject/predicate/object</i> patterns are handled more efficiently by the expanded <a class="externalLink" href="http://commonsrdf.incubator.apache.org/apidocs/org/apache/commons/rdf/api/Graph.html#getTriples-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">getTriples</a> method. These can of course be combined:</p>
+
+<div class="source">
+<div class="source">
+<pre>Stream&lt;? extends Triple&gt; namedB = graph.getTriples(null, nameIri, null).
+    filter(t -&gt; t.getObject().ntriplesString().contains(&quot;B&quot;));
+System.out.println(namedB.map(t -&gt; t.getSubject()).findAny().get());
+</pre></div></div>
+
+<blockquote>
+<p><tt>&lt;http://example.com/bob&gt;</tt></p>
+</blockquote></div>
+<div class="section">
+<h3><a name="Removing_triples"></a>Removing triples</h3>
+<p><i>Note: Some <tt>Graph</tt> implementations are immutable, in which case the below may throw an <tt>UnsupportedOperationException</tt></i>.</p>
+<p>Triples can be <a href="apidocs/org/apache/commons/rdf/api/Graph.html#remove-org.apache.commons.rdf.api.Triple-">removed</a> from a graph:</p>
+
+<div class="source">
+<div class="source">
+<pre>graph.remove(triple);
+System.out.println(graph.contains(triple));
+</pre></div></div>
+<p>The expanded <i>subject/predicate/object</i> form of <a href="apidocs/org/apache/commons/rdf/api/Graph.html#remove-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">remove()</a> can be used without needing to construct a <tt>Triple</tt> first. It also allow <tt>null</tt> as a wildcard pattern:</p>
+
+<div class="source">
+<div class="source">
+<pre>graph.remove(null, iri, null);
+</pre></div></div>
+<p>To remove all triples, use <a href="apidocs/org/apache/commons/rdf/api/Graph.html#clear--">clear</a>:</p>
+
+<div class="source">
+<div class="source">
+<pre>graph.clear();
+System.out.println(graph.contains(null, null, null));
+</pre></div></div>
+
+<blockquote>
+<p>false</p>
+</blockquote>
+<h1>Mutability and thread safety</h1>
+<p><i>Note: This section is subject to change - see discussion on <a class="externalLink" href="https://issues.apache.org/jira/browse/COMMONSRDF-7">COMMONSRDF-7</a></i></p>
+<p>In Commons RDF, all instances of <tt>Triple</tt> and <tt>RDFTerm</tt> (e.g. <tt>IRI</tt>, <tt>BlankNode</tt>, <tt>Literal</tt>) are considered <i>immutable</i>. That is, their content does not change, and so calling a method like <a href="apidocs/org/apache/commons/rdf/api/IRI.html#getIRIString--">IRI.getIRIString</a> or <a href="apidocs/org/apache/commons/rdf/api/Literal.html#getDatatype--">Literal.getDatatype</a> will always have return values that are <tt>.equal()</tt> to any earlier return values. Being immutable, the <tt>Triple</tt> and <tt>RDFTerm</tt> types should be considered thread-safe.</p>
+<p>A <tt>Graph</tt> may be <i>mutable</i>, particular if it supports methods like <a href="apidocs/org/apache/commons/rdf/api/Graph.html#add-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">Graph.add</a> and <a href="apidocs/org/apache/commons/rdf/api/Graph.html#remove-org.apache.commons.rdf.api.Triple-">Graph.remove</a>. That means that responses to methods like <a href="apidocs/org/apache/commons/rdf/api/Graph.html#size--">size</a> and <a href="apidocs/org/apache/commons/rdf/api/Graph.html#contains-org.apache.commons.rdf.api.Triple-">contains</a> might change during its lifetime.</p>
+<p>Implementations of Commons RDF may specify the (im)mutability of <tt>Graph</tt> in further details. If a graph is immutable, the methods <tt>add</tt> and <tt>remove</tt> may throw a <tt>UnsupportedOperationException</tt>.</p>
+<p>Commons RDF does not specify if methods on a <tt>Graph</tt> are thread-safe. Iterator methods like <a href="apidocs/org/apache/commons/rdf/api/Graph.html#iterate--">iterate</a> and <a href="apidocs/org/apache/commons/rdf/api/Graph.html#getTriples-org.apache.commons.rdf.api.BlankNodeOrIRI-org.apache.commons.rdf.api.IRI-org.apache.commons.rdf.api.RDFTerm-">getTriples</a> might throw a <a class="externalLink" href="http://docs.oracle.com/javase/8/docs/api/java/util/ConcurrentModificationException.html">ConcurrentModificationException</a> if it detects a thread concurrency modification, although this behaviour is not guaranteed. Implementations of Commons RDF may specify more specific thread-safety considerations. </p>
+<p>If an implementation does not specify any thread-safety support, then all potentially concurrent access to a <tt>Graph</tt> must be <tt>synchronized</tt>, e.g.:</p>
+
+<div class="source">
+<div class="source">
+<pre>Graph graph;
+// ...
+synchronized(graph) {
+    graph.add(triple);
+}
+// ...
+synchronized(graph) {
+    for (Triple t : graph) {
+        // ...
+    } 
+}
+</pre></div></div>
+<h1>Implementations</h1>
+<p>The <a href="apidocs/org/apache/commons/rdf/api/package-summary.html">Commons RDF API</a> is a set of Java interfaces, with implementations provided by several Java RDF frameworks. See the <a href="implementations.html">implementations</a> page for an updated list of providers.</p>
+<p>Implementations are free to choose their level of integration with Commons RDF. Several methods defined in Commons RDF therefore explicitly note the possibility of throwing a <tt>UnsupportedOperationException</tt>. </p>
+<p>Different RDF frameworks might have different mechanisms to retrieve a Commons RDF objects like <tt>Graph</tt> or <tt>Triple</tt> (e.g. returned from a query). Commons RDF provides a <tt>RDFTermFactory</tt> interface as a way to create new instances, but does not mandate how the factory itself should be instantiated (e.g. a factory might be returned for an open network connection).</p></div></div>
+<div class="section">
+<h2><a name="Cross-compatibility"></a>Cross-compatibility</h2>
+<p>While different frameworks will have their own classes implementing the Commons RDF interfaces, Commons RDF objects are intended to be cross-compatible. Thus a client would be able to mix and match objects from multiple implementations:</p>
+
+<div class="source">
+<div class="source">
+<pre>import com.example.foo.FooRDFTermFactory;
+import net.example.bar.BarGraph;
+
+RDFTermFactory fooFactory = new FooRDFTermFactory();
+FooGraph g1 = (FooGraph) fooFactory.createGraph();
+// Foo-specific load method
+g1.load(&quot;dataset.ttl&quot;);
+
+// Another Graph, from a different implementation
+Graph g2 = new BarGraph(&quot;localhost&quot;, 1337);
+
+// Any factory can be used
+IRI iri1 = fooFactory.createIRI(&quot;http://example.com/property1&quot;);
+
+// Both Triple and RDFTerm instances can be used
+// 
+for (Triple t1: g1.getTriples(null, iri1, null)) {  
+    if (g2.contains(t1.getSubject(), null, t1.getObject())) {
+      g2.remove(t1);
+    }
+}
+</pre></div></div>
+<p><i>Note: Special care might need to be taken for cross-interoperability of <tt>BlankNode</tt> instances. This is currently under discussion. See <a class="externalLink" href="https://issues.apache.org/jira/browse/COMMONSRDF-15">COMMONSRDF-15</a></i></p>
+<p>The <tt>.equals()</tt> methods of <tt>RDFTerm</tt> interfaces are explicitly defined, so their instances can be compared across implementations. </p>
+<p><i>Note: The <tt>Graph</tt> implementation is not required to keep the JVM object reference, e.g. after <tt>g2.add(subj1, pred, obj)</tt> it is not required to later return the same <tt>subj1</tt> implementation in <tt>g2.getTriples()</tt>. Special care should be taken if returned values are needs to be casted to implementation specific types.</i></p>
+<p>The <tt>.hashCode()</tt> is not currently explicitly defined, hence special care should be taken for cross-interoperability within hashing data structures like <tt>HashMap</tt>. See <a class="externalLink" href="https://issues.apache.org/jira/browse/COMMONSRDF-14">COMMONSRDF-14</a></p></div>
 					</td>
 				</tr>
 			</table>



Mime
View raw message