<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>DatasetGraphMapLink (Apache Jena ARQ)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: org.apache.jena.arq, package: org.apache.jena.sparql.core, class: DatasetGraphMapLink">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/DatasetGraphMapLink.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">org.apache.jena.arq</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.jena.sparql.core</a></div>
<h1 title="Class DatasetGraphMapLink" class="title">Class DatasetGraphMapLink</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">org.apache.jena.sparql.core.DatasetGraphBase</a>
<div class="inheritance"><a href="DatasetGraphBaseFind.html" title="class in org.apache.jena.sparql.core">org.apache.jena.sparql.core.DatasetGraphBaseFind</a>
<div class="inheritance"><a href="DatasetGraphCollection.html" title="class in org.apache.jena.sparql.core">org.apache.jena.sparql.core.DatasetGraphCollection</a>
<div class="inheritance">org.apache.jena.sparql.core.DatasetGraphMapLink</div>
</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>org.apache.jena.atlas.lib.Closeable</code>, <code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code>, <code><a href="Transactional.html" title="interface in org.apache.jena.sparql.core">Transactional</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DatasetGraphMapLink</span>
<span class="extends-implements">extends <a href="DatasetGraphCollection.html" title="class in org.apache.jena.sparql.core">DatasetGraphCollection</a></span></div>
<div class="block">Implementation of a DatasetGraph as an extensible set of graphs where graphs are held by reference.
  Care is needed when manipulating their contents
  especially if they are also in another <code>DatasetGraph</code>.
  <p>
  See <a href="DatasetGraphMap.html" title="class in org.apache.jena.sparql.core"><code>DatasetGraphMap</code></a> for an implementation that copies graphs
  and so providing better isolation.
  <p>
  This class is best used for creating views</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="DatasetGraphMap.html" title="class in org.apache.jena.sparql.core"><code>DatasetGraphMap</code></a></li>
</ul>
</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-org.apache.jena.sparql.core.Transactional">Nested classes/interfaces inherited from interface&nbsp;org.apache.jena.sparql.core.<a href="Transactional.html" title="interface in org.apache.jena.sparql.core">Transactional</a></h2>
<code><a href="Transactional.Promote.html" title="enum class in org.apache.jena.sparql.core">Transactional.Promote</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.jena.graph.Graph)" class="member-name-link">DatasetGraphMapLink</a><wbr>(org.apache.jena.graph.Graph&nbsp;dftGraph)</code></div>
<div class="col-last even-row-color">
<div class="block">A <code>DatasetGraph</code> that uses the given graph for the default graph
  and create in-memory graphs for named graphs as needed</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#abort()" class="member-name-link">abort</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Abort a transaction - finish the transaction and undo any changes (if a "write" transaction)</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Graph)" class="member-name-link">addGraph</a><wbr>(org.apache.jena.graph.Node&nbsp;graphName,
 org.apache.jena.graph.Graph&nbsp;graph)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Add the given graph to the dataset.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#begin()" class="member-name-link">begin</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Start a transaction which is READ mode and which will switch to WRITE if an update
 is attempted but only if no intermediate transaction has performed an update.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#begin(org.apache.jena.query.TxnType)" class="member-name-link">begin</a><wbr>(<a href="../../query/TxnType.html" title="enum class in org.apache.jena.query">TxnType</a>&nbsp;txnType)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Start a transaction.<br/>
 READ or WRITE transactions start in that state and do not change for the
 lifetime of the transaction.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#cloneStructure(org.apache.jena.sparql.core.DatasetGraph)" class="member-name-link">cloneStructure</a><wbr>(<a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a>&nbsp;dsg)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Create a new <code>DatasetGraph</code> that copies the dataset structure of default
 graph and named graph and links to the graphs of the original <code>DatasetGraph</code>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#cloneStructure(org.apache.jena.sparql.core.DatasetGraph,org.apache.jena.sparql.core.DatasetGraphFactory.GraphMaker)" class="member-name-link">cloneStructure</a><wbr>(<a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a>&nbsp;srcDsg,
 <a href="DatasetGraphFactory.GraphMaker.html" title="interface in org.apache.jena.sparql.core">DatasetGraphFactory.GraphMaker</a>&nbsp;graphMaker)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Create a new <code>DatasetGraph</code> that copies the dataset structure of default
 graph and named graph and links to the graphs of the original <code>DatasetGraph</code>
 Any new graphs needed are separate from the original dataset and created according
 to the <a href="DatasetGraphFactory.GraphMaker.html" title="interface in org.apache.jena.sparql.core"><code>DatasetGraphFactory.GraphMaker</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#close()" class="member-name-link">close</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Close the dataset</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#commit()" class="member-name-link">commit</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Commit a transaction - finish the transaction and make any changes permanent (if a "write" transaction)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#containsGraph(org.apache.jena.graph.Node)" class="member-name-link">containsGraph</a><wbr>(org.apache.jena.graph.Node&nbsp;graphNode)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Does the DatasetGraph contain a specific named graph?
 Whether a dataset contains a graph if there are no triples is
 not defined - see the specific implementation.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#end()" class="member-name-link">end</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Finish the transaction - if a write transaction and commit() has not been called, then abort</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.jena.graph.Graph</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDefaultGraph()" class="member-name-link">getDefaultGraph</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the default graph as a Jena Graph</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.apache.jena.graph.Graph</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGraph(org.apache.jena.graph.Node)" class="member-name-link">getGraph</a><wbr>(org.apache.jena.graph.Node&nbsp;graphNode)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the graph named by graphNode : returns null when there is no such graph.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isInTransaction()" class="member-name-link">isInTransaction</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Say whether inside a transaction.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;org.apache.jena.graph.Node&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#listGraphNodes()" class="member-name-link">listGraphNodes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Iterate over all names of named graphs</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../riot/system/PrefixMap.html" title="interface in org.apache.jena.riot.system">PrefixMap</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#prefixes()" class="member-name-link">prefixes</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Prefixes for this DatasetGraph</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#promote(org.apache.jena.sparql.core.Transactional.Promote)" class="member-name-link">promote</a><wbr>(<a href="Transactional.Promote.html" title="enum class in org.apache.jena.sparql.core">Transactional.Promote</a>&nbsp;txnType)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Attempt to promote a transaction from "read" mode to "write" and the transaction.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeGraph(org.apache.jena.graph.Node)" class="member-name-link">removeGraph</a><wbr>(org.apache.jena.graph.Node&nbsp;graphName)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Remove all data associated with the named graph.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#size()" class="member-name-link">size</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the size (number of named graphs) - may be -1 for unknown</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supportsTransactionAbort()" class="member-name-link">supportsTransactionAbort</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Declare whether <a href="Transactional.html#abort()"><code>Transactional.abort()</code></a> is supported.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#supportsTransactions()" class="member-name-link">supportsTransactions</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">A <code>DatasetGraph</code> supports transactions if it provides <a href="Transactional.html#begin()"><code>Transactional.begin()</code></a>/
 <a href="Transactional.html#commit()"><code>Transactional.commit()</code></a>/<a href="Transactional.html#end()"><code>Transactional.end()</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../query/ReadWrite.html" title="enum class in org.apache.jena.query">ReadWrite</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transactionMode()" class="member-name-link">transactionMode</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return the current mode of the transaction - "read" or "write".</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../query/TxnType.html" title="enum class in org.apache.jena.query">TxnType</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transactionType()" class="member-name-link">transactionType</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return the transaction type used in <code>begin(TxnType)</code>.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jena.sparql.core.DatasetGraphCollection">Methods inherited from class&nbsp;org.apache.jena.sparql.core.<a href="DatasetGraphCollection.html" title="class in org.apache.jena.sparql.core">DatasetGraphCollection</a></h3>
<code><a href="DatasetGraphCollection.html#add(org.apache.jena.sparql.core.Quad)">add</a>, <a href="DatasetGraphCollection.html#clear()">clear</a>, <a href="DatasetGraphCollection.html#delete(org.apache.jena.sparql.core.Quad)">delete</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jena.sparql.core.DatasetGraphBaseFind">Methods inherited from class&nbsp;org.apache.jena.sparql.core.<a href="DatasetGraphBaseFind.html" title="class in org.apache.jena.sparql.core">DatasetGraphBaseFind</a></h3>
<code><a href="DatasetGraphBaseFind.html#find(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">find</a>, <a href="DatasetGraphBaseFind.html#findInUnionGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">findInUnionGraph</a>, <a href="DatasetGraphBaseFind.html#findNG(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">findNG</a>, <a href="DatasetGraphBaseFind.html#findQuadsInUnionGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">findQuadsInUnionGraph</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jena.sparql.core.DatasetGraphBase">Methods inherited from class&nbsp;org.apache.jena.sparql.core.<a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></h3>
<code><a href="DatasetGraphBase.html#add(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">add</a>, <a href="DatasetGraphBase.html#contains(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">contains</a>, <a href="DatasetGraphBase.html#contains(org.apache.jena.sparql.core.Quad)">contains</a>, <a href="DatasetGraphBase.html#delete(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">delete</a>, <a href="DatasetGraphBase.html#deleteAny(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">deleteAny</a>, <a href="DatasetGraphBase.html#deleteAny(org.apache.jena.sparql.core.DatasetGraph,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">deleteAny</a>, <a href="DatasetGraphBase.html#find()">find</a>, <a href="DatasetGraphBase.html#find(org.apache.jena.sparql.core.Quad)">find</a>, <a href="DatasetGraphBase.html#getContext()">getContext</a>, <a href="DatasetGraphBase.html#getLock()">getLock</a>, <a href="DatasetGraphBase.html#getUnionGraph()">getUnionGraph</a>, <a href="DatasetGraphBase.html#isEmpty()">isEmpty</a>, <a href="DatasetGraphBase.html#toString()">toString</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jena.sparql.core.DatasetGraph">Methods inherited from interface&nbsp;org.apache.jena.sparql.core.<a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></h3>
<code><a href="DatasetGraph.html#addAll(org.apache.jena.sparql.core.DatasetGraph)">addAll</a>, <a href="DatasetGraph.html#stream()">stream</a>, <a href="DatasetGraph.html#stream(org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node,org.apache.jena.graph.Node)">stream</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.jena.sparql.core.Transactional">Methods inherited from interface&nbsp;org.apache.jena.sparql.core.<a href="Transactional.html" title="interface in org.apache.jena.sparql.core">Transactional</a></h3>
<code><a href="Transactional.html#begin(org.apache.jena.query.ReadWrite)">begin</a>, <a href="Transactional.html#calc(org.apache.jena.query.TxnType,java.util.function.Supplier)">calc</a>, <a href="Transactional.html#calculate(java.util.function.Supplier)">calculate</a>, <a href="Transactional.html#calculateRead(java.util.function.Supplier)">calculateRead</a>, <a href="Transactional.html#calculateWrite(java.util.function.Supplier)">calculateWrite</a>, <a href="Transactional.html#exec(org.apache.jena.query.TxnType,java.lang.Runnable)">exec</a>, <a href="Transactional.html#execute(java.lang.Runnable)">execute</a>, <a href="Transactional.html#executeRead(java.lang.Runnable)">executeRead</a>, <a href="Transactional.html#executeWrite(java.lang.Runnable)">executeWrite</a>, <a href="Transactional.html#promote()">promote</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.jena.graph.Graph)">
<h3>DatasetGraphMapLink</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DatasetGraphMapLink</span><wbr><span class="parameters">(org.apache.jena.graph.Graph&nbsp;dftGraph)</span></div>
<div class="block">A <code>DatasetGraph</code> that uses the given graph for the default graph
  and create in-memory graphs for named graphs as needed</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="cloneStructure(org.apache.jena.sparql.core.DatasetGraph)">
<h3>cloneStructure</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></span>&nbsp;<span class="element-name">cloneStructure</span><wbr><span class="parameters">(<a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a>&nbsp;dsg)</span></div>
<div class="block">Create a new <code>DatasetGraph</code> that copies the dataset structure of default
 graph and named graph and links to the graphs of the original <code>DatasetGraph</code>.
 Any new graphs needed are separate from the original dataset and created in-memory.</div>
</section>
</li>
<li>
<section class="detail" id="cloneStructure(org.apache.jena.sparql.core.DatasetGraph,org.apache.jena.sparql.core.DatasetGraphFactory.GraphMaker)">
<h3>cloneStructure</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></span>&nbsp;<span class="element-name">cloneStructure</span><wbr><span class="parameters">(<a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a>&nbsp;srcDsg,
 <a href="DatasetGraphFactory.GraphMaker.html" title="interface in org.apache.jena.sparql.core">DatasetGraphFactory.GraphMaker</a>&nbsp;graphMaker)</span></div>
<div class="block">Create a new <code>DatasetGraph</code> that copies the dataset structure of default
 graph and named graph and links to the graphs of the original <code>DatasetGraph</code>
 Any new graphs needed are separate from the original dataset and created according
 to the <a href="DatasetGraphFactory.GraphMaker.html" title="interface in org.apache.jena.sparql.core"><code>DatasetGraphFactory.GraphMaker</code></a>.</div>
</section>
</li>
<li>
<section class="detail" id="commit()">
<h3>commit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">commit</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#commit()">Transactional</a></code></span></div>
<div class="block">Commit a transaction - finish the transaction and make any changes permanent (if a "write" transaction)</div>
</section>
</li>
<li>
<section class="detail" id="begin()">
<h3>begin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">begin</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#begin()">Transactional</a></code></span></div>
<div class="block">Start a transaction which is READ mode and which will switch to WRITE if an update
 is attempted but only if no intermediate transaction has performed an update.
 <p>
 See <a href="Transactional.html#begin(org.apache.jena.query.TxnType)"><code>Transactional.begin(TxnType)</code></a> for more details an options.
 <p>
 May not be implemented. See <a href="Transactional.html#begin(org.apache.jena.query.ReadWrite)"><code>Transactional.begin(ReadWrite)</code></a> is guaranteed to be provided.</div>
</section>
</li>
<li>
<section class="detail" id="begin(org.apache.jena.query.TxnType)">
<h3>begin</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">begin</span><wbr><span class="parameters">(<a href="../../query/TxnType.html" title="enum class in org.apache.jena.query">TxnType</a>&nbsp;txnType)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#begin(org.apache.jena.query.TxnType)">Transactional</a></code></span></div>
<div class="block">Start a transaction.<br/>
 READ or WRITE transactions start in that state and do not change for the
 lifetime of the transaction.
 <ul>

 <li><code>WRITE</code>: this guarantees a WRITE will complete if <code>commit()</code> is
 called. The same as <code>begin(ReadWrite.WRITE)</code>.

 <li><code>READ</code>: the transaction can not promote to WRITE,ensuring read-only
 access to the data. The same as <code>begin(ReadWrite.READ)</code>.

 <li><code>READ_PROMOTE</code>: the transaction will go from "read" to "write" if an
 update is attempted and if the dataset has not been changed by another write
 transaction. See also <a href="Transactional.html#promote()"><code>Transactional.promote()</code></a>.

 <li><code>READ_COMMITTED_PROMOTE</code>: Use this with care. The promotion will
 succeed but changes from other transactions become visible.

 </ul>

 Read committed: at the point transaction attempts promotion from "read" to
 "write", the system checks if the dataset has change since the transaction started
 (called <code>begin</code>). If <code>READ_PROMOTE</code>, the dataset must not have
 changed; if <code>READ_COMMITTED_PROMOTE</code> any intermediate changes are
 visible but the application can not assume any data it has read in the
 transaction is the same as it was at the point the transaction started.
 <p>
 This operation is optional and some implementations may throw
 a <a href="../JenaTransactionException.html" title="class in org.apache.jena.sparql"><code>JenaTransactionException</code></a> exception for some or all <a href="../../query/TxnType.html" title="enum class in org.apache.jena.query"><code>TxnType</code></a> values.
 <p>
 See <a href="Transactional.html#begin(org.apache.jena.query.ReadWrite)"><code>Transactional.begin(ReadWrite)</code></a> for a form that is required of implementations.</div>
</section>
</li>
<li>
<section class="detail" id="promote(org.apache.jena.sparql.core.Transactional.Promote)">
<h3>promote</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">promote</span><wbr><span class="parameters">(<a href="Transactional.Promote.html" title="enum class in org.apache.jena.sparql.core">Transactional.Promote</a>&nbsp;txnType)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#promote(org.apache.jena.sparql.core.Transactional.Promote)">Transactional</a></code></span></div>
<div class="block">Attempt to promote a transaction from "read" mode to "write" and the transaction. This
 method allows the form of promotion to be specified. The transaction must not have been started
 with <code>READ</code>, which is read-only.
 <p>
 An argument of <code>READ_PROMOTE</code> treats the promotion as if the transaction was started
 with <code>READ_PROMOTE</code> (any other writer commiting since the transaction started
 blocks promotion) and <code>READ_COMMITTED_PROMOTE</code> treats the promotion as if the transaction was started
 with <code>READ_COMMITTED_PROMOTE</code> (intemediate writer commits become visible).
 <p>
 Returns "true" if the transaction is in write mode after the call. The method
 always succeeds of the transaction is already "write".
 <p>
 This method returns true if a <code>READ_PROMOTE</code> or
 <code>READ_COMMITTED_PROMOTE</code> is promoted.
 <p>
 This method returns false if a <code>READ_PROMOTE</code> can't be promoted - the
 transaction is still valid and in "read" mode.
 <p>
 This method throws an exception if there is an attempt to promote a <code>READ</code>
 transaction.</div>
</section>
</li>
<li>
<section class="detail" id="abort()">
<h3>abort</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">abort</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#abort()">Transactional</a></code></span></div>
<div class="block">Abort a transaction - finish the transaction and undo any changes (if a "write" transaction)</div>
</section>
</li>
<li>
<section class="detail" id="isInTransaction()">
<h3>isInTransaction</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isInTransaction</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#isInTransaction()">Transactional</a></code></span></div>
<div class="block">Say whether inside a transaction.</div>
</section>
</li>
<li>
<section class="detail" id="end()">
<h3>end</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">end</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#end()">Transactional</a></code></span></div>
<div class="block">Finish the transaction - if a write transaction and commit() has not been called, then abort</div>
</section>
</li>
<li>
<section class="detail" id="transactionMode()">
<h3>transactionMode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../query/ReadWrite.html" title="enum class in org.apache.jena.query">ReadWrite</a></span>&nbsp;<span class="element-name">transactionMode</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#transactionMode()">Transactional</a></code></span></div>
<div class="block">Return the current mode of the transaction - "read" or "write".
 If the caller is not in a transaction, this method returns null.</div>
</section>
</li>
<li>
<section class="detail" id="transactionType()">
<h3>transactionType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../query/TxnType.html" title="enum class in org.apache.jena.query">TxnType</a></span>&nbsp;<span class="element-name">transactionType</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Transactional.html#transactionType()">Transactional</a></code></span></div>
<div class="block">Return the transaction type used in <code>begin(TxnType)</code>.
 If the caller is not in a transaction, this method returns null.</div>
</section>
</li>
<li>
<section class="detail" id="supportsTransactions()">
<h3>supportsTransactions</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">supportsTransactions</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#supportsTransactions()">DatasetGraph</a></code></span></div>
<div class="block">A <code>DatasetGraph</code> supports transactions if it provides <a href="Transactional.html#begin()"><code>Transactional.begin()</code></a>/
 <a href="Transactional.html#commit()"><code>Transactional.commit()</code></a>/<a href="Transactional.html#end()"><code>Transactional.end()</code></a>. The core storage <code>DatasetGraph</code>s
 provide fully serialized transactions. A <code>DatasetGraph</code> that provides
 functionality across independent systems can not provide such strong guarantees.
 For example, it may use MRSW locking and some isolation control.
 Specifically, it would not necessarily provide <a href="Transactional.html#abort()"><code>Transactional.abort()</code></a>.
 <p>
 See <a href="DatasetGraph.html#supportsTransactionAbort()"><code>DatasetGraph.supportsTransactionAbort()</code></a> for <a href="Transactional.html#abort()"><code>Transactional.abort()</code></a>.
 In addition, check details of a specific implementation.</div>
</section>
</li>
<li>
<section class="detail" id="supportsTransactionAbort()">
<h3>supportsTransactionAbort</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">supportsTransactionAbort</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#supportsTransactionAbort()">DatasetGraph</a></code></span></div>
<div class="block">Declare whether <a href="Transactional.html#abort()"><code>Transactional.abort()</code></a> is supported.
  This goes along with clearing up after exceptions inside application transaction code.</div>
</section>
</li>
<li>
<section class="detail" id="containsGraph(org.apache.jena.graph.Node)">
<h3>containsGraph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">containsGraph</span><wbr><span class="parameters">(org.apache.jena.graph.Node&nbsp;graphNode)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#containsGraph(org.apache.jena.graph.Node)">DatasetGraph</a></code></span></div>
<div class="block">Does the DatasetGraph contain a specific named graph?
 Whether a dataset contains a graph if there are no triples is
 not defined - see the specific implementation. Some datasets are "open" -
 they have all graphs even if no triples and this returns true always.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#containsGraph(org.apache.jena.graph.Node)">containsGraph</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="DatasetGraphBase.html#containsGraph(org.apache.jena.graph.Node)">containsGraph</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
<dt>Returns:</dt>
<dd>boolean</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDefaultGraph()">
<h3>getDefaultGraph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.jena.graph.Graph</span>&nbsp;<span class="element-name">getDefaultGraph</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#getDefaultGraph()">DatasetGraph</a></code></span></div>
<div class="block">Get the default graph as a Jena Graph</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#getDefaultGraph()">getDefaultGraph</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraphBase.html#getDefaultGraph()">getDefaultGraph</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getGraph(org.apache.jena.graph.Node)">
<h3>getGraph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">org.apache.jena.graph.Graph</span>&nbsp;<span class="element-name">getGraph</span><wbr><span class="parameters">(org.apache.jena.graph.Node&nbsp;graphNode)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#getGraph(org.apache.jena.graph.Node)">DatasetGraph</a></code></span></div>
<div class="block">Get the graph named by graphNode : returns null when there is no such graph.
 NB Whether a dataset contains a graph if there are no triples is not defined - see the specific implementation.
 Some datasets are "open" - they have all graphs even if no triples.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#getGraph(org.apache.jena.graph.Node)">getGraph</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraphBase.html#getGraph(org.apache.jena.graph.Node)">getGraph</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Graph)">
<h3>addGraph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addGraph</span><wbr><span class="parameters">(org.apache.jena.graph.Node&nbsp;graphName,
 org.apache.jena.graph.Graph&nbsp;graph)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#addGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Graph)">DatasetGraph</a></code></span></div>
<div class="block">Add the given graph to the dataset.
 <em>Replaces</em> any existing data for the named graph; to add data,
 get the graph and add triples to it, or add quads to the dataset.
 Do not assume that the same Java object is returned by <a href="DatasetGraph.html#getGraph(org.apache.jena.graph.Node)"><code>DatasetGraph.getGraph(org.apache.jena.graph.Node)</code></a></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#addGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Graph)">addGraph</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraphBase.html#addGraph(org.apache.jena.graph.Node,org.apache.jena.graph.Graph)">addGraph</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeGraph(org.apache.jena.graph.Node)">
<h3>removeGraph</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeGraph</span><wbr><span class="parameters">(org.apache.jena.graph.Node&nbsp;graphName)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#removeGraph(org.apache.jena.graph.Node)">DatasetGraph</a></code></span></div>
<div class="block">Remove all data associated with the named graph.
 This will include prefixes associated with the graph.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#removeGraph(org.apache.jena.graph.Node)">removeGraph</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraphBase.html#removeGraph(org.apache.jena.graph.Node)">removeGraph</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="listGraphNodes()">
<h3>listGraphNodes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link">Iterator</a>&lt;org.apache.jena.graph.Node&gt;</span>&nbsp;<span class="element-name">listGraphNodes</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#listGraphNodes()">DatasetGraph</a></code></span></div>
<div class="block">Iterate over all names of named graphs</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#listGraphNodes()">listGraphNodes</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraphCollection.html#listGraphNodes()">listGraphNodes</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphCollection.html" title="class in org.apache.jena.sparql.core">DatasetGraphCollection</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="prefixes()">
<h3>prefixes</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../riot/system/PrefixMap.html" title="interface in org.apache.jena.riot.system">PrefixMap</a></span>&nbsp;<span class="element-name">prefixes</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#prefixes()">DatasetGraph</a></code></span></div>
<div class="block">Prefixes for this DatasetGraph</div>
</section>
</li>
<li>
<section class="detail" id="size()">
<h3>size</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="element-name">size</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#size()">DatasetGraph</a></code></span></div>
<div class="block">Get the size (number of named graphs) - may be -1 for unknown</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#size()">size</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="DatasetGraphBase.html#size()">size</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="close()">
<h3>close</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">close</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="DatasetGraph.html#close()">DatasetGraph</a></code></span></div>
<div class="block">Close the dataset</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>close</code>&nbsp;in interface&nbsp;<code>org.apache.jena.atlas.lib.Closeable</code></dd>
<dt>Specified by:</dt>
<dd><code><a href="DatasetGraph.html#close()">close</a></code>&nbsp;in interface&nbsp;<code><a href="DatasetGraph.html" title="interface in org.apache.jena.sparql.core">DatasetGraph</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="DatasetGraphBase.html#close()">close</a></code>&nbsp;in class&nbsp;<code><a href="DatasetGraphBase.html" title="class in org.apache.jena.sparql.core">DatasetGraphBase</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Licensed under the Apache License, Version 2.0</small></p>
</footer>
</div>
</div>
</body>
</html>
