Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 8313F200BE2 for ; Thu, 1 Dec 2016 00:45:42 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 81825160B28; Wed, 30 Nov 2016 23:45:42 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3F6EA160B13 for ; Thu, 1 Dec 2016 00:45:40 +0100 (CET) Received: (qmail 2126 invoked by uid 500); 30 Nov 2016 23:45:39 -0000 Mailing-List: contact commits-help@commonsrdf.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commonsrdf.incubator.apache.org Delivered-To: mailing list commits@commonsrdf.incubator.apache.org Received: (qmail 2117 invoked by uid 99); 30 Nov 2016 23:45:39 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Nov 2016 23:45:39 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id D811918009D for ; Wed, 30 Nov 2016 23:45:38 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -1.198 X-Spam-Level: X-Spam-Status: No, score=-1.198 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-2.999, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id F1ZfhSREANvr for ; Wed, 30 Nov 2016 23:45:25 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 6F7355F5C7 for ; Wed, 30 Nov 2016 23:45:25 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id C2082E869C for ; Wed, 30 Nov 2016 23:45:23 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 90B983A1A7B for ; Wed, 30 Nov 2016 23:45:23 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1001921 [6/21] - in /websites/staging/commonsrdf/content: ./ apidocs/ apidocs/org/apache/commons/rdf/api/ apidocs/org/apache/commons/rdf/api/class-use/ apidocs/org/apache/commons/rdf/experimental/ apidocs/org/apache/commons/rdf/experimenta... Date: Wed, 30 Nov 2016 23:45:21 -0000 To: commits@commonsrdf.incubator.apache.org From: stain@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20161130234523.90B983A1A7B@svn01-us-west.apache.org> archived-at: Wed, 30 Nov 2016 23:45:42 -0000 Added: websites/staging/commonsrdf/content/jacoco/jacoco-sessions.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/jacoco-sessions.html (added) +++ websites/staging/commonsrdf/content/jacoco/jacoco-sessions.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1 @@ +Sessions

Sessions

This coverage report is based on execution data from the following sessions:

SessionStart TimeDump Time
biggiebuntu-af992de3Nov 30, 2016 11:43:00 PMNov 30, 2016 11:43:02 PM

Execution data for the following classes is considered in this report:

ClassId
org.apache.commons.rdf.api.Dataset6737460327f461e7
org.apache.commons.rdf.api.DefaultDatasetTest8c10cb2bde40e8f6
org.apache.commons.rdf.api.DefaultGraphTestaf434d8b25cff9c3
org.apache.commons.rdf.api.DefaultQuadTestde33c6da4c49e7e8
org.apache.commons.rdf.api.DefaultRDFTermFactoryTest59a9c61e61d50527
org.apache.commons.rdf.api .DefaultRDFTermFactoryTest.10dec82997aa02fc1
org.apache.commons.rdf.api.DummyDataset520fc4e9ad47fe32
org.apache.commons.rdf.api.DummyDatasetTestb361f4a6e2d971a3
org.apache.commons.rdf.api.DummyGraph739b2e42fce175ed
org.apache.commons.rdf.api.DummyGraphTest9d83cb64b349f906
org.apache.commons.rdf.api.DummyIRI1972fe58ce8343f9
org.apache.commons.rdf.api.DummyIRITestd874d776cb7b7359
org.apache.commons.rdf.api.DummyQuadb979cb33d9685e75
org.apache. commons.rdf.api.DummyQuadTest911dfa8022b40953
org.apache.commons.rdf.api.DummyTriplea219495603064f31
org.apache.commons.rdf.api.DummyTripleTestebe44b266bd6fdd5
org.apache.commons.rdf.api.Graphd2ea33bead4ec6e1
org.apache.commons.rdf.api.Quad0b66147786c094d6
org.apache.commons.rdf.api.Quad.13bf5779d11a138e9
org.apache.commons.rdf.api.RDFSyntax94ac926485733bd6
org.apache.commons.rdf.api.RDFSyntaxTestac9f5d82b660e047
org.apache.commons.rdf.api.RDFTermFactory4f777a7ee0f0264b
org.apache.maven.surefire.NonAbstractClassFilterfc97b6b24692a75a
org.apache.maven.surefire.booter.BaseProviderFactory1863c3f5bbbd786f
org.apache.maven.surefire.booter.BiProperty3811df161ff4aaa9
org.apache.maven.surefire.booter.BooterDeserializerc83397fbff06643d
org.apache.maven.surefire.booter.ClassLoaderConfigurationecd6032808102cae
org.apach e.maven.surefire.booter.Classpath9fa80090913f56d2
org.apache.maven.surefire.booter.ClasspathConfiguration119cb500297de47b
org.apache.maven.surefire.booter.Command6ecf946aa8d2df56
org.apache.maven.surefire.booter.CommandReader1b895077377f24ce
org.apache.maven.surefire.booter.CommandReader.1606842280b6ff99b
org.apache.maven.surefire.booter.CommandReader.CommandRunnablea7b877ee122885cd
org.apache.maven.surefire.booter.ForkedBooter8a17eb0b7b54baf7
org.apache.maven.surefire.booter.ForkedBooter.18ade34fbe7fa4c9e
org.apache.maven.surefire.booter.ForkedBooter.236ee353e01c0e482
org.apache.maven.surefire.booter.ForkedBooter.330e74f6bd08a5abf
org.apache.maven.surefire.booter.ForkedBooter.4a02071697fadd7c1
org.apache.maven.surefire.booter.ForkedBooter.5dffbe6c6c2234bf7
org.apache.maven.surefire.booter.ForkingReporterFactoryf5ffc73889b06268
org.apache.maven.surefire.booter.ForkingRunListener1a6b3fe387024e94
org.apache.maven.surefire.booter.MasterProcessCommandc8c52c2b4f2fa353
org.apache.maven.surefire.booter.PropertiesWrapperf976b7dccf0ef18a
org.apache.maven.surefire.booter.ProviderConfiguration6e4106aa3a326db1
org.apache.maven.surefire.booter.Shutdown018da1b80039bf2d
org.apache.maven.surefire.booter.StartupConfiguration6be017bfe6c60c9d
org.apache.maven.surefire.booter.SurefireReflector99f9b7a3eb4c9e6f
org.apache.maven.surefire.booter.SystemPropertyManager55457b88b7bddc95
org.apache.maven.surefire.booter.TypeEncodedValue71071dc08d3c84c2
org.apache.maven.surefire .cli.CommandLineOption923f88578fe31ad5
org.apache.maven.surefire.common.junit3.JUnit3TestCheckerd37625d6438b0aac
org.apache.maven.surefire.common.junit4.JUnit4Reflector52042be78e73e38c
org.apache.maven.surefire.common.junit4.JUnit4RunListener3a58d4eadd2ee599
org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory5469bc692788ab18
org.apache.maven.surefire.common.junit4.JUnit4TestCheckeracd246be8ad94713
org.apache.maven.surefire.common.junit4.JUnitTestFailureListenerd0146df09768b20f
org.apache.maven.su refire.common.junit4.Notifier861d75221ebf2039
org.apache.maven.surefire.junit4.JUnit4Provider6f3778cd4b56e126
org.apache.maven.surefire.junit4.JUnit4Provider.111af5d46bbaa2107
org.apache.maven.surefire.providerapi.AbstractProvider48fba504365a6faa
org.apache.maven.surefire.report.ConsoleOutputCapturec06f9613965ef2c2
org.apache.maven.surefire.report.ConsoleOutputCapture.ForwardingPrintStream7f92c3646e7b182b
org.apache.maven.surefire.report.ReporterConfiguration67e392be5e1a77a1
org.apache.maven.surefire.report.S impleReportEntry7b33e601309d6567
org.apache.maven.surefire.shade.org.apache.maven.shared.utils.StringUtils3e59d8fdda9dfb75
org.apache.maven.surefire.suite.RunResult28f41bd127d85475
org.apache.maven.surefire.testset.DirectoryScannerParameters219594604215c6e1
org.apache.maven.surefire.testset.IncludedExcludedPatterns37d9d14a6b3ad341
org.apache.maven.surefire.testset.ResolvedTestf5f1024767ced79d
org.apache.maven.surefire.testset.ResolvedTest.Type7ae2ea912d005b15
org.apache.maven.surefire.testset.RunOrderParamete rsa7ab3b73fed7c648
org.apache.maven.surefire.testset.TestArtifactInfo8d9f3b982bce21e6
org.apache.maven.surefire.testset.TestListResolver2aebed2326ea2644
org.apache.maven.surefire.testset.TestRequestcc7669ca5d548729
org.apache.maven.surefire.util.CloseableIterator48d9735bbd6f0c84
org.apache.maven.surefire.util.DefaultRunOrderCalculator4afd46e16a876f49
org.apache.maven.surefire.util.DefaultScanResultd9429f91d01e491f
org.apache.maven.surefire.util.ReflectionUtils203674eb25a55c03
org.apache.maven.surefire.util.RunOrder8a86963ef224158a
org.apache.maven.surefire.util.TestsToRun380f935826fdc068
org.apache.maven.surefire.util.TestsToRun.ClassesIteratorfb7b4f0fe4d54ac0
org.apache.maven.surefire.util.internal.DaemonThreadFactoryb96b11c2e08610ae
org.apache.maven.surefire.util.internal.DaemonThreadFactory.NamedThreadFactoryb161fdb4f57065ff
org.apache.maven.surefire.util.internal.StringUtilsd3369c3ee1b803fd
org.junit.Asserte2bac9fc5ef3a4be
org.junit.internal .MethodSortere7c1106d3801ff54
org.junit.internal.MethodSorter.181fdc65e8fe19b52
org.junit.internal.MethodSorter.2bfe6560dc3722ab0
org.junit.internal.builders.AllDefaultPossibilitiesBuilder84f7fffb8cd30ad9
org.junit.internal.builders.AnnotatedBuilder0faf353d180c9332
org.junit.internal.builders.IgnoredBuildere152f333c53967a6
org.junit.internal.builders.JUnit3Builder4a2cc8e608e1275e
org.junit.internal.builders.JUnit4Builder5902b7da0403f55c
org. junit.internal.builders.SuiteMethodBuilder1df136431e07e393
org.junit.internal.requests.ClassRequestf1e703dd2591ce5c
org.junit.internal.runners.model.EachTestNotifier0cb318e674165ac8
org.junit.internal.runners.model.ReflectiveCallabled591724635588bcb
org.junit.internal.runners.rules.RuleMemberValidator95b5ee2068ec6875
org.junit.internal.runners.rules.RuleMemberValidator.Builderf24845fa6fd065af
org.junit.internal.runners.rules.RuleMemberValidator.DeclaringClassMustBePublic1de994463c748d89
org.junit.internal.run ners.rules.RuleMemberValidator.FieldMustBeARulee24e9f59de6fe5b7
org.junit.internal.runners.rules.RuleMemberValidator.FieldMustBeATestRule690823bd2992f52e
org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeNonStaticOrAlsoClassRule1e703fb3e7f4e533
org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBePublic806c174eb921b478
org.junit.internal.runners.rules.RuleMemberValidator.MemberMustBeStaticac28a03dd36b2b5a
org.junit.internal.runners.rules.RuleMemberValidator.MethodMustBeARule88ea4a2237de2b8b
org.junit.internal.runners.rules.RuleMemberValidator.MethodM ustBeATestRule9f4dd18a26005c18
org.junit.internal.runners.statements.ExpectExceptiond4f541ccb0309b8c
org.junit.internal.runners.statements.InvokeMethod05a7aa636afa2c39
org.junit.runner.Descriptionc7f1b09126c24b2b
org.junit.runner.Request4f785af929bd628a
org.junit.runner.Result3a364b299d905039
org.junit.runner.Result.Listenerbbae11d09f5b5a09
org.junit.runner.Runnerf5abacc70e2e08a4
org.junit.runner.notification.RunListenera740fd873cf92a63
org.junit.runner.notification.RunNotifierba709a76760379c2
org.junit.runner.notification.RunNotifier.16eb5e06975b1ea02
org.junit.runner.notification.RunNotifier.2dc4db4223d160c08
org.junit.runner.notification.RunNotifier.37a903d9d1caf7673
org.junit.runner.notification.RunNotifier.7304ecd1b313cb650
org.junit.runner.notification.RunNotifier.SafeNotifier3b3dc2f2fc8cfc56
org.junit.runner.notification.SynchronizedRunListener0f89c0c6a77088e5
org.junit. runners.BlockJUnit4ClassRunner673d2df2f68a9490
org.junit.runners.BlockJUnit4ClassRunner.1b3af68717b17ffc6
org.junit.runners.ParentRunnerdf303f19df248a10
org.junit.runners.ParentRunner.189f115a2214a3636
org.junit.runners.ParentRunner.20fc04165488ae7c7
org.junit.runners.ParentRunner.365f7d637ed11f8f4
org.junit.runners.model.FrameworkFieldd6d3c27befd6f49d
org.junit.runners.model.FrameworkMember83f9d72bb2731cf1
org.junit.runners.model.FrameworkM ethodb9c1cccbfa624e4a
org.junit.runners.model.FrameworkMethod.187d2600c48ade534
org.junit.runners.model.RunnerBuilder0281d51b4f8328d4
org.junit.runners.model.Statement9a75aa5de27bf4d5
org.junit.runners.model.TestClass90136128a3e4d163
org.junit.runners.model.TestClass.FieldComparator261449f31a730808
org.junit.runners.model.TestClass.MethodComparator5a734d8eaadb6011
org.junit.validator.AnnotationValidatorFactorye736331fde301341
org.junit.valid ator.AnnotationsValidator51f829810937d72f
org.junit.validator.AnnotationsValidator.AnnotatableValidatord211a963f22be103
org.junit.validator.AnnotationsValidator.ClassValidator1b463c4e6642e880
org.junit.validator.AnnotationsValidator.FieldValidator64068b954dc56a31
org.junit.validator.AnnotationsValidator.MethodValidatorf16b57f17c787036
org.junit.validator.PublicClassValidator3bac248cf06b18e4
\ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/jacoco.csv ============================================================================== --- websites/staging/commonsrdf/content/jacoco/jacoco.csv (added) +++ websites/staging/commonsrdf/content/jacoco/jacoco.csv Wed Nov 30 23:45:19 2016 @@ -0,0 +1,8 @@ +GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED +Commons RDF API,org.apache.commons.rdf.api,Quad.new Triple() {...},1,71,3,7,0,13,3,8,0,6 +Commons RDF API,org.apache.commons.rdf.api,RDFTermFactory,0,40,0,0,0,8,0,8,0,8 +Commons RDF API,org.apache.commons.rdf.api,Quad,0,5,0,0,0,1,0,1,0,1 +Commons RDF API,org.apache.commons.rdf.api,RDFSyntax,0,182,0,0,0,20,0,9,0,9 +Commons RDF API,org.apache.commons.rdf.api,Dataset,0,19,0,0,0,3,0,3,0,3 +Commons RDF API,org.apache.commons.rdf.api,Graph,0,27,0,0,0,5,0,5,0,5 +Commons RDF API,org.apache.commons.rdf.experimental,RDFParser,22,0,2,0,5,0,4,0,3,0 Added: websites/staging/commonsrdf/content/jacoco/jacoco.xml ============================================================================== --- websites/staging/commonsrdf/content/jacoco/jacoco.xml (added) +++ websites/staging/commonsrdf/content/jacoco/jacoco.xml Wed Nov 30 23:45:19 2016 @@ -0,0 +1 @@ + \ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Dataset.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Dataset.html (added) +++ websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Dataset.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1 @@ +Dataset

Dataset

1
ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 19100%0 of 0n/a030303
iterate(Optional, BlankNodeOrIRI, IRI, RDFTerm)11100%n/a010101
iterate()7100%n/a01001
close()1100%n/a010101
\ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Dataset.java.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Dataset.java.html (added) +++ websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Dataset.java.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1,355 @@ +Dataset.java

Dataset.java

/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api;
+
+import java.util.ConcurrentModificationException;
+import java.util.Iterator;
+import java.util.Optional;
+import java.util.stream.Stream;
+
+/**
+ * An <a href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-dataset"> RDF
+ * 1.1 dataset</a>, a set of RDF quads, as defined by
+ * <a href="http://www.w3.org/TR/rdf11-concepts/" >RDF-1.1 Concepts and Abstract
+ * Syntax</a>, a W3C Recommendation published on 25 February 2014.
+ * 
+ * @since 0.3.0-incubating
+ * @see RDF#createDataset()
+ */
+public interface Dataset extends AutoCloseable, GraphLike<Quad> {
+
+    /**
+     * Add a quad to the dataset, possibly mapping any of the components of the
+     * Quad to those supported by this dataset.
+     *
+     * @param quad
+     *            The quad to add
+     */
+    @Override
+    void add(Quad quad);
+
+    /**
+     * Add a quad to the dataset, possibly mapping any of the components to
+     * those supported by this dataset.
+     *
+     * @param graphName
+     *            The graph the quad belongs to, or <code>null</code> for the
+     *            default graph
+     * @param subject
+     *            The quad subject
+     * @param predicate
+     *            The quad predicate
+     * @param object
+     *            The quad object
+     */
+    void add(BlankNodeOrIRI graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * Check if dataset contains quad.
+     *
+     * @param quad
+     *            The quad to check.
+     * @return True if the dataset contains the given Quad.
+     */
+    @Override
+    boolean contains(Quad quad);
+
+    /**
+     * Check if dataset contains a pattern of quads.
+     *
+     * @param graphName
+     *            The graph the quad belongs to, wrapped as an {@link Optional}
+     *            (<code>null</code> is a wildcard, {@link Optional#empty()} is
+     *            the default graph)
+     * @param subject
+     *            The quad subject (<code>null</code> is a wildcard)
+     * @param predicate
+     *            The quad predicate (<code>null</code> is a wildcard)
+     * @param object
+     *            The quad object (<code>null</code> is a wildcard)
+     * @return True if the dataset contains any quads that match the given
+     *         pattern.
+     */
+    boolean contains(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * Close the dataset, relinquishing any underlying resources.
+     * <p>
+     * For example, this would close any open file and network streams and free
+     * database locks held by the dataset implementation.
+     * <p>
+     * The behaviour of the other dataset methods are undefined after closing
+     * the dataset.
+     * <p>
+     * Implementations might not need {@link #close()}, hence the default
+     * implementation does nothing.
+     */
+    @Override
+    default void close() throws Exception {
+    }
+
+    /**
+     * Get the default graph of this dataset.
+     * <p>
+     * The {@link Triple}s of the default graph are equivalent to the
+     * {@link Quad}s in this Dataset which has the {@link Quad#getGraphName()}
+     * set to {@link Optional#empty()}.
+     * <p>
+     * It is unspecified if modifications to the returned Graph are reflected in
+     * this Dataset.
+     * <p>
+     * The returned graph MAY be empty.
+     * 
+     * @see #getGraph(BlankNodeOrIRI)
+     * @return The default graph of this Dataset
+     */
+    Graph getGraph();
+
+    /**
+     * Get a named graph in this dataset.
+     * <p>
+     * The {@link Triple}s of the named graph are equivalent to the the Quads of
+     * this Dataset which has the {@link Quad#getGraphName()} equal to the
+     * provided <code>graphName</code>, or equal to {@link Optional#empty()} if
+     * the provided <code>graphName</code> is <code>null</code>.
+     * <p>
+     * It is unspecified if modifications to the returned Graph are reflected in
+     * this Dataset.
+     * <p>
+     * It is unspecified if requesting an unknown or empty graph will return
+     * {@link Optional#empty()} or create a new empty {@link Graph}.
+     * 
+     * @see #getGraph()
+     * @see #getGraphNames()
+     * @param graphName
+     *            The name of the graph, or <code>null</code> for the default
+     *            graph.
+     * @return The named Graph, or {@link Optional#empty()} if the dataset do
+     *         not contain the named graph.
+     */
+    Optional<Graph> getGraph(BlankNodeOrIRI graphName);
+
+    /**
+     * Get the graph names in this Dataset.
+     * <p>
+     * The set of returned graph names is equivalent to the set of unique
+     * {@link Quad#getGraphName()} of all the {@link #stream()} of this dataset
+     * (excluding the default graph).
+     * <p>
+     * The returned {@link Stream} SHOULD NOT contain duplicate graph names.
+     * <p>
+     * The graph names can be used with {@link #getGraph(BlankNodeOrIRI)} to
+     * retrieve the corresponding {@link Graph}, however callers should be aware
+     * of any concurrent modifications to the Dataset may cause such calls to
+     * return {@link Optional#empty()}.
+     * <p>
+     * Note that a Dataset always contains a <strong>default graph</strong>
+     * which is not named, and thus is not represented in the returned Stream.
+     * The default graph is accessible via {@link #getGraph()} or by using
+     * {@link Optional#empty()} in the Quad access methods).
+     * 
+     * @return A {@link Stream} of the graph names of this Dataset.
+     */
+    Stream<BlankNodeOrIRI> getGraphNames();
+
+    /**
+     * Remove a concrete quad from the dataset.
+     *
+     * @param quad
+     *            quad to remove
+     */
+    @Override
+    void remove(Quad quad);
+
+    /**
+     * Remove a concrete pattern of quads from the default graph of the dataset.
+     *
+     * @param graphName
+     *            The graph the quad belongs to, wrapped as an {@link Optional}
+     *            (<code>null</code> is a wildcard, {@link Optional#empty()} is
+     *            the default graph)
+     * @param subject
+     *            The quad subject (<code>null</code> is a wildcard)
+     * @param predicate
+     *            The quad predicate (<code>null</code> is a wildcard)
+     * @param object
+     *            The quad object (<code>null</code> is a wildcard)
+     */
+    void remove(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * Clear the dataset, removing all quads.
+     */
+    @Override
+    void clear();
+
+    /**
+     * Number of quads contained by the dataset.
+     * <p>
+     * The count of a set does not include duplicates, consistent with the
+     * {@link Quad#equals(Object)} equals method for each {@link Quad}.
+     *
+     * @return The number of quads in the dataset
+     */
+    @Override
+    long size();
+
+    /**
+     * Get all quads contained by the dataset.<br>
+     * <p>
+     * The iteration does not contain any duplicate quads, as determined by the
+     * {@link Quad#equals(Object)} method for each {@link Quad}.
+     * <p>
+     * The behaviour of the {@link Stream} is not specified if
+     * {@link #add(Quad)}, {@link #remove(Quad)} or {@link #clear()} are called
+     * on the {@link Dataset} before it terminates.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Stream methods if they detect a conflict while the Stream is active.
+     *
+     * @return A {@link Stream} over all of the quads in the dataset
+     */
+    @Override
+    Stream<? extends Quad> stream();
+
+    /**
+     * Get all quads contained by the dataset matched with the pattern.
+     * <p>
+     * The iteration does not contain any duplicate quads, as determined by the
+     * {@link Quad#equals(Object)} method for each {@link Quad}.
+     * <p>
+     * The behaviour of the {@link Stream} is not specified if
+     * {@link #add(Quad)}, {@link #remove(Quad)} or {@link #clear()} are called
+     * on the {@link Dataset} before it terminates.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Stream methods if they detect a conflict while the Stream is active.
+     *
+     * @param graphName
+     *            The graph the quad belongs to, wrapped as an {@link Optional}
+     *            (<code>null</code> is a wildcard, {@link Optional#empty()} is
+     *            the default graph)
+     * @param subject
+     *            The quad subject (<code>null</code> is a wildcard)
+     * @param predicate
+     *            The quad predicate (<code>null</code> is a wildcard)
+     * @param object
+     *            The quad object (<code>null</code> is a wildcard)
+     * @return A {@link Stream} over the matched quads.
+     */
+    Stream<? extends Quad> stream(Optional<BlankNodeOrIRI> graphName, BlankNodeOrIRI subject, IRI predicate,
+            RDFTerm object);
+
+    /**
+     * Get an Iterable for iterating over all quads in the dataset.
+     * <p>
+     * This method is meant to be used with a Java for-each loop, e.g.:
+     * 
+     * <pre>
+     * for (Quad t : dataset.iterate()) {
+     *     System.out.println(t);
+     * }
+     * </pre>
+     * 
+     * The behaviour of the iterator is not specified if {@link #add(Quad)},
+     * {@link #remove(Quad)} or {@link #clear()}, are called on the
+     * {@link Dataset} before it terminates. It is undefined if the returned
+     * {@link Iterator} supports the {@link Iterator#remove()} method.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Iterator methods if they detect a concurrency conflict while the Iterator
+     * is active.
+     * <p>
+     * The {@link Iterable#iterator()} must only be called once, that is the
+     * Iterable must only be iterated over once. A {@link IllegalStateException}
+     * may be thrown on attempt to reuse the Iterable.
+     * <p>
+     * The default implementation of this method will call {@link #stream()} to
+     * return its {@link Stream#iterator()}.
+     *
+     * @return A {@link Iterable} that returns {@link Iterator} over all of the
+     *         quads in the dataset
+     * @throws IllegalStateException
+     *             if the {@link Iterable} has been reused
+     * @throws ConcurrentModificationException
+     *             if a concurrency conflict occurs while the Iterator is
+     *             active.
+     */
+    @Override
+    @SuppressWarnings("unchecked")
+    default Iterable<Quad> iterate() throws ConcurrentModificationException, IllegalStateException {
+        return ((Stream<Quad>) stream())::iterator;
+    }
+
+    /**
+     * Get an Iterable for iterating over the quads in the dataset that match
+     * the pattern.
+     * <p>
+     * This method is meant to be used with a Java for-each loop, e.g.:
+     * 
+     * <pre>
+     * IRI alice = factory.createIRI("http://example.com/alice");
+     * IRI knows = factory.createIRI("http://xmlns.com/foaf/0.1/");
+     * for (Quad t : dataset.iterate(null, alice, knows, null)) {
+     *     System.out.println(t.getGraphName());
+     *     System.out.println(t.getObject());
+     * }
+     * </pre>
+     * <p>
+     * The behaviour of the iterator is not specified if {@link #add(Quad)},
+     * {@link #remove(Quad)} or {@link #clear()}, are called on the
+     * {@link Dataset} before it terminates. It is undefined if the returned
+     * {@link Iterator} supports the {@link Iterator#remove()} method.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Iterator methods if they detect a concurrency conflict while the Iterator
+     * is active.
+     * <p>
+     * The {@link Iterable#iterator()} must only be called once, that is the
+     * Iterable must only be iterated over once. A {@link IllegalStateException}
+     * may be thrown on attempt to reuse the Iterable.
+     * <p>
+     * The default implementation of this method will call
+     * {@link #stream(Optional, BlankNodeOrIRI, IRI, RDFTerm)} to return its
+     * {@link Stream#iterator()}.
+     *
+     * @param graphName
+     *            The graph the quad belongs to, wrapped as an {@link Optional}
+     *            (<code>null</code> is a wildcard, {@link Optional#empty()} is
+     *            the default graph)
+     * @param subject
+     *            The quad subject (<code>null</code> is a wildcard)
+     * @param predicate
+     *            The quad predicate (<code>null</code> is a wildcard)
+     * @param object
+     *            The quad object (<code>null</code> is a wildcard)
+     * @return A {@link Iterable} that returns {@link Iterator} over the
+     *         matching quads in the dataset
+     * @throws IllegalStateException
+     *             if the {@link Iterable} has been reused
+     * @throws ConcurrentModificationException
+     *             if a concurrency conflict occurs while the Iterator is
+     *             active.
+     */
+    @SuppressWarnings("unchecked")
+    default Iterable<Quad> iterate(final Optional<BlankNodeOrIRI> graphName, final BlankNodeOrIRI subject, final IRI predicate,
+            final RDFTerm object) throws ConcurrentModificationException, IllegalStateException {
+        return ((Stream<Quad>) stream(graphName, subject, predicate, object))::iterator;
+    }
+}
+
\ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Graph.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Graph.html (added) +++ websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Graph.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1 @@ +Graph

Graph

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 27100%0 of 0n/a050505
iterate(BlankNodeOrIRI, IRI, RDFTerm)10100%n/a010101
iterate()7100%n/a010101
getTriples(BlankNodeOrIRI, IRI, RDFTerm)6100%n/a010101
getTriples()3100%n/a010101
close()1100%n/a010101
\ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Graph.java.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Graph.java.html (added) +++ websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Graph.java.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1,299 @@ +Graph.java

Graph.java

/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.rdf.api;
+
+import java.util.ConcurrentModificationException;
+import java.util.Iterator;
+import java.util.stream.Stream;
+
+/**
+ * An <a href="http://www.w3.org/TR/rdf11-concepts/#section-rdf-graph"> RDF 1.1
+ * Graph</a>, a set of RDF triples, as defined by
+ * <a href="http://www.w3.org/TR/rdf11-concepts/" >RDF-1.1 Concepts and Abstract
+ * Syntax</a>, a W3C Recommendation published on 25 February 2014.
+ * 
+ * @see RDF#createGraph()
+ */
+public interface Graph extends AutoCloseable, GraphLike<Triple> {
+
+    /**
+     * Add a triple to the graph, possibly mapping any of the components of the
+     * Triple to those supported by this Graph.
+     *
+     * @param triple
+     *            The triple to add
+     */
+    @Override
+    void add(Triple triple);
+
+    /**
+     * Add a triple to the graph, possibly mapping any of the components to
+     * those supported by this Graph.
+     *
+     * @param subject
+     *            The triple subject
+     * @param predicate
+     *            The triple predicate
+     * @param object
+     *            The triple object
+     */
+    void add(BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * Check if graph contains triple.
+     *
+     * @param triple
+     *            The triple to check.
+     * @return True if the Graph contains the given Triple.
+     */
+    @Override
+    boolean contains(Triple triple);
+
+    /**
+     * Check if graph contains a pattern of triples.
+     *
+     * @param subject
+     *            The triple subject (null is a wildcard)
+     * @param predicate
+     *            The triple predicate (null is a wildcard)
+     * @param object
+     *            The triple object (null is a wildcard)
+     * @return True if the Graph contains any Triples that match the given
+     *         pattern.
+     */
+    boolean contains(BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * Close the graph, relinquishing any underlying resources.
+     * <p>
+     * For example, this would close any open file and network streams and free
+     * database locks held by the Graph implementation.
+     * <p>
+     * The behaviour of the other Graph methods are undefined after closing the
+     * graph.
+     * <p>
+     * Implementations might not need {@link #close()}, hence the default
+     * implementation does nothing.
+     */
+    @Override
+    default void close() throws Exception {
+    }
+
+    /**
+     * Remove a concrete triple from the graph.
+     *
+     * @param triple
+     *            triple to remove
+     */
+    @Override
+    void remove(Triple triple);
+
+    /**
+     * Remove a concrete pattern of triples from the graph.
+     *
+     * @param subject
+     *            The triple subject (null is a wildcard)
+     * @param predicate
+     *            The triple predicate (null is a wildcard)
+     * @param object
+     *            The triple object (null is a wildcard)
+     */
+    void remove(BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * Clear the graph, removing all triples.
+     */
+    @Override
+    void clear();
+
+    /**
+     * Number of triples contained by the graph.
+     * <p>
+     * The count of a set does not include duplicates, consistent with the
+     * {@link Triple#equals(Object)} equals method for each {@link Triple}.
+     *
+     * @return The number of triples in the graph
+     */
+    @Override
+    long size();
+
+    /**
+     * Get all triples contained by the graph.<br>
+     * <p>
+     * The iteration does not contain any duplicate triples, as determined by
+     * the {@link Triple#equals(Object)} method for each {@link Triple}.
+     * <p>
+     * The behaviour of the {@link Stream} is not specified if
+     * {@link #add(Triple)}, {@link #remove(Triple)} or {@link #clear()} are
+     * called on the {@link Graph} before it terminates.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Stream methods if they detect a conflict while the Stream is active.
+     * 
+     * @since 0.3.0-incubating
+     * @return A {@link Stream} over all of the triples in the graph
+     */
+    @Override
+    Stream<? extends Triple> stream();
+
+    /**
+     * Get all triples contained by the graph matched with the pattern.
+     * <p>
+     * The iteration does not contain any duplicate triples, as determined by
+     * the {@link Triple#equals(Object)} method for each {@link Triple}.
+     * <p>
+     * The behaviour of the {@link Stream} is not specified if
+     * {@link #add(Triple)}, {@link #remove(Triple)} or {@link #clear()} are
+     * called on the {@link Graph} before it terminates.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Stream methods if they detect a conflict while the Stream is active.
+     * <p>
+     * 
+     * @since 0.3.0-incubating
+     * @param subject
+     *            The triple subject (null is a wildcard)
+     * @param predicate
+     *            The triple predicate (null is a wildcard)
+     * @param object
+     *            The triple object (null is a wildcard)
+     * @return A {@link Stream} over the matched triples.
+     */
+    Stream<? extends Triple> stream(BlankNodeOrIRI subject, IRI predicate, RDFTerm object);
+
+    /**
+     * This method is deprecated, use the equivalent method {@link #stream()}
+     * instead.
+     * 
+     * @return A {@link Stream} over all triples.
+     */
+    @Deprecated
+    default Stream<? extends Triple> getTriples() {
+        return stream();
+    }
+
+    /**
+     * This method is deprecated, use the equivalent method
+     * {@link #stream(BlankNodeOrIRI, IRI, RDFTerm)} instead.
+     * 
+     * @param subject
+     *            The triple subject (null is a wildcard)
+     * @param predicate
+     *            The triple predicate (null is a wildcard)
+     * @param object
+     *            The triple object (null is a wildcard)
+     * @return A {@link Stream} over the matched triples.
+     */
+    @Deprecated
+    default Stream<? extends Triple> getTriples(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object) {
+        return stream(subject, predicate, object);
+    }
+
+    /**
+     * Get an Iterable for iterating over all triples in the graph.
+     * <p>
+     * This method is meant to be used with a Java for-each loop, e.g.:
+     * 
+     * <pre>
+     * for (Triple t : graph.iterate()) {
+     *     System.out.println(t);
+     * }
+     * </pre>
+     * 
+     * The behaviour of the iterator is not specified if {@link #add(Triple)},
+     * {@link #remove(Triple)} or {@link #clear()}, are called on the
+     * {@link Graph} before it terminates. It is undefined if the returned
+     * {@link Iterator} supports the {@link Iterator#remove()} method.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Iterator methods if they detect a concurrency conflict while the Iterator
+     * is active.
+     * <p>
+     * The {@link Iterable#iterator()} must only be called once, that is the
+     * Iterable must only be iterated over once. A {@link IllegalStateException}
+     * may be thrown on attempt to reuse the Iterable.
+     * <p>
+     * The default implementation of this method will call {@link #stream()} to return
+     * its {@link Stream#iterator()}.
+     *
+     * @return A {@link Iterable} that returns {@link Iterator} over all of the
+     *         triples in the graph
+     * @throws IllegalStateException
+     *             if the {@link Iterable} has been reused
+     * @throws ConcurrentModificationException
+     *             if a concurrency conflict occurs while the Iterator is
+     *             active.
+     */
+    @Override
+    @SuppressWarnings("unchecked")
+    default Iterable<Triple> iterate() throws ConcurrentModificationException, IllegalStateException {
+        return ((Stream<Triple>) stream())::iterator;
+    }
+
+    /**
+     * Get an Iterable for iterating over the triples in the graph that match
+     * the pattern.
+     * <p>
+     * This method is meant to be used with a Java for-each loop, e.g.:
+     * 
+     * <pre>
+     * IRI alice = factory.createIRI("http://example.com/alice");
+     * IRI knows = factory.createIRI("http://xmlns.com/foaf/0.1/");
+     * for (Triple t : graph.iterate(alice, knows, null)) {
+     *     System.out.println(t.getObject());
+     * }
+     * </pre>
+     * <p>
+     * The behaviour of the iterator is not specified if {@link #add(Triple)},
+     * {@link #remove(Triple)} or {@link #clear()}, are called on the
+     * {@link Graph} before it terminates. It is undefined if the returned
+     * {@link Iterator} supports the {@link Iterator#remove()} method.
+     * <p>
+     * Implementations may throw {@link ConcurrentModificationException} from
+     * Iterator methods if they detect a concurrency conflict while the Iterator
+     * is active.
+     * <p>
+     * The {@link Iterable#iterator()} must only be called once, that is the
+     * Iterable must only be iterated over once. A {@link IllegalStateException}
+     * may be thrown on attempt to reuse the Iterable.
+     * <p>
+     * The default implementation of this method will call
+     * {@link #stream(BlankNodeOrIRI, IRI, RDFTerm)} to return its
+     * {@link Stream#iterator()}.
+     *
+     * @param subject
+     *            The triple subject (null is a wildcard)
+     * @param predicate
+     *            The triple predicate (null is a wildcard)
+     * @param object
+     *            The triple object (null is a wildcard)
+     * @return A {@link Iterable} that returns {@link Iterator} over the
+     *         matching triples in the graph
+     * @throws IllegalStateException
+     *             if the {@link Iterable} has been reused
+     * @throws ConcurrentModificationException
+     *             if a concurrency conflict occurs while the Iterator is
+     *             active.
+     */
+    @SuppressWarnings("unchecked")
+    default Iterable<Triple> iterate(final BlankNodeOrIRI subject, final IRI predicate, final RDFTerm object)
+            throws ConcurrentModificationException, IllegalStateException {
+        return ((Stream<Triple>) stream(subject, predicate, object))::iterator;
+    }
+}
+
\ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Quad$1.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Quad$1.html (added) +++ websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Quad$1.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1 @@ +Quad.new Triple() {...}

Quad.new Triple() {...}

< td class="ctr2">11
ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total1 of 7299%3 of 1070%301306
equals(Object)13497%3770%360801
hashCode()19100%n/a010101
{...}6100%n/a010101
getSubject()4100%n/a010101
getPredicate()4100%n/a010101
getObject()4100%n/a010101
\ No newline at end of file Added: websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Quad.html ============================================================================== --- websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Quad.html (added) +++ websites/staging/commonsrdf/content/jacoco/org.apache.commons.rdf.api/Quad.html Wed Nov 30 23:45:19 2016 @@ -0,0 +1 @@ +Quad

Quad

ElementMissed InstructionsCov.Missed BranchesCov.MissedCxtyMissedLinesMissedMethods
Total0 of 5100%0 of 0n/a010101
asTriple()5100%n/a010101
\ No newline at end of file