Mulgara Project: Issueshttps://code.mulgara.org/https://code.mulgara.org/favicon.ico?15861924492008-02-04T22:37:40ZMulgara Project
Redmine Mulgara - Bug #79 (Closed): OPTIONAL join operationhttps://code.mulgara.org/issues/792008-02-04T22:37:40ZPaula Gearon
<p>Implement OPTIONAL as a binary-only operation. This is a hybrid operation between ConstraintConjunction, and ConstraintDisjunction.</p> Mulgara - Bug #78 (Closed): FILTER syntax and functionshttps://code.mulgara.org/issues/782008-02-04T22:36:18ZPaula Gearon
<p>Create the filter parsing code, and implement as functors to be accessed by the FILTER property on constraint resolutions.</p> Mulgara - Bug #77 (Closed): Filter functionality in ASThttps://code.mulgara.org/issues/772008-02-04T22:34:36ZPaula Gearon
<p>Add FILTER property to constraint resolutions</p> Mulgara - Feature #76 (Closed): JavaCC filehttps://code.mulgara.org/issues/762008-02-04T22:33:35ZPaula Gearon
<p>Have an existing <a class="wiki-page new" href="https://code.mulgara.org/projects/mulgara/wiki/JavaCC">JavaCC</a> file (courtesy of Peter Royal). Modifying this file to generate appropriate Mulgara CST data.</p> Mulgara - Bug #67 (Closed): OOM on OSX using PowerPChttps://code.mulgara.org/issues/672007-07-16T17:38:21ZPaula Gearon
<pre>
<code class="html syntaxhl">Can get an OOM while running full set of scripted tests in OS X on a PPC architecture. The point of failure appears to vary.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
While it appears that such failures are not critical, the reason for them should be tracked down, if possible.
</code></pre> Mulgara - Feature #66 (Closed): Remove dependence on DateUtils1https://code.mulgara.org/issues/662007-07-16T16:55:31ZPaula Gearon
<pre>
<code class="html syntaxhl">Remove dependence on [[DateUtils]]1
</code></pre> Mulgara - Bug #64 (Closed): Distributed Blank Nodes not reused for select/inserthttps://code.mulgara.org/issues/642007-06-15T05:39:29ZPaula Gearon
<pre>
<code class="html syntaxhl">Insert/select from one server to another leads to blank nodes not being properly recycled. This means that one blank node used 5 times will be inserted as 5 separate blank nodes.
</code></pre> Mulgara - Bug #63 (Closed): AVLNode being released multiple timeshttps://code.mulgara.org/issues/632007-05-17T21:51:04ZPaula Gearon
<pre>
<code class="html syntaxhl">During backups the following exception may be thrown:
<span class="nt"><br/></span>
<span class="nt"><br/></span>
Caused by: java.lang.AssertionError
<span class="nt"><br/></span>
at org.mulgara.store.xa.Block.dispose(Block.java:524)
<span class="nt"><br/></span>
at org.mulgara.store.xa.Block.release(Block.java:512)
<span class="nt"><br/></span>
at org.mulgara.store.xa.AVLNode.release(AVLNode.java:1030)
<span class="nt"><br/></span>
at org.mulgara.store.stringpool.xa.XAStringPoolImpl$Phase$GNodeTuplesImpl.close(XAStringPoolImpl.java:2728)
<span class="nt"><br/></span>
at org.mulgara.resolver.BackupOperation.backupDatabase(BackupOperation.java:196)
<span class="nt"><br/></span>
at org.mulgara.resolver.BackupOperation.execute(BackupOperation.java:145)
<span class="nt"><br/></span>
at org.mulgara.resolver.MulgaraTransaction.execute(MulgaraTransaction.java:547)
<span class="nt"><br/></span>
... 15 more
<span class="nt"><br/></span>
<span class="nt"><br/></span>
This is happening as an AVLNode is being released twice. The stack trace here shows the second release.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
The AVLNode that is being closed here is a member of XAStringPoolImpl called avlNode. But this class appears to manage the avlNode member correctly. The intermittent nature of the problem is unlikely to come from this class anyway.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
An alternative source of the problem could be in the [[ObjectPool]]. The XAStringPoolImpl class uses a member called writerObjectPool for managing all reusable objects for both reading and writing. It may be that a simultaneous read/write could lead the object pool to passing out the same AVLNode to different phases. Access to writerObjectPool is properly synchronized, so this is not a problem. However, it is usually valid (and desirable) to reuse the same AVLNode when reading and writing on the same phase, and this optimization may be leading to re-use between phases. If true, then this would also explain the intermittent nature of the problem.
</code></pre> Mulgara - Feature #61 (Closed): SPARQL Languagehttps://code.mulgara.org/issues/612007-05-04T18:59:55ZPaula Gearon
<pre>
<code class="html syntaxhl">Implement the SPARQL language as an adjunct to TQL:
<span class="nt"><br/></span>
<span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://www.w3.org/TR/rdf-sparql-query/"</span><span class="nt">></span>http://www.w3.org/TR/rdf-sparql-query/<span class="nt"></a></span>
<span class="nt"><br/></span>
<span class="nt"><br/></span>
Dependent on <span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://mulgara.org/trac/ticket/59"</span> <span class="na">title=</span><span class="s">"ItqlInterpreter refactoring"</span><span class="nt">></span>MGR-59<span class="nt"></a></span>
</code></pre> Mulgara - Feature #60 (Closed): SPARQL protocolhttps://code.mulgara.org/issues/602007-05-04T18:54:49ZPaula Gearon
<pre>
<code class="html syntaxhl">Implement the SPARQL protocol as a SOAP endpoint.
<span class="nt"><br/></span>
See <span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://www.w3.org/TR/rdf-sparql-protocol/"</span><span class="nt">></span>http://www.w3.org/TR/rdf-sparql-protocol/<span class="nt"></a></span>
<span class="nt"><br/></span>
<span class="nt"><br/></span>
Depends on <span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://mulgara.org/trac/ticket/59"</span> <span class="na">title=</span><span class="s">"ItqlInterpreter refactoring"</span><span class="nt">></span>MGR-59<span class="nt"></a></span>
</code></pre> Mulgara - Feature #59 (Closed): ItqlInterpreter refactoringhttps://code.mulgara.org/issues/592007-05-04T18:52:51ZPaula Gearon
<pre>
<code class="html syntaxhl">Currently [[ItqlInterpreter]] takes a string, parses it into a command AST, and executes it. Execution uses information out of the AST for managing sessions.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
We need to split [[ItqlInterpreter]] into classes which perform parsing, perform execution, and manage sessions. This will allow the same mechanism to be shared between 3 separate paradigms:
<span class="nt"><br/></span>
1. Client parsing, establishing connections, and sending AST to server (current implementation).
<span class="nt"><br/></span>
2. Client connects to server, sends raw string. Server parses TQL and executes on local session.
<span class="nt"><br/></span>
3. Client connects to server, sends raw string. Server parses SPARQL and executes on local session.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
Allowing options 2 and 3 has several advantages:
<span class="nt"><br/></span>
- Closer to what happens with databases like [[MySQL]], and presents a much more portable paradigm.
<span class="nt"><br/></span>
- Allows easier avoidance of <span class="ni">&quot;</span>session management<span class="ni">&quot;</span> when a task inside the server JVM wishes to execute a query (such as in the Krule engine).
<span class="nt"><br/></span>
- This is the required paradigm for SPARQL protocol.
<span class="nt"><br/></span>
- Better separation of tasks than currently exists in [[ItqlInterpreter]].
<span class="nt"><br/></span>
- Permits clients to perform connection pooling.
<span class="nt"><br/></span>
- Allows client transaction API that is separated from the query language.
</code></pre> Mulgara - Feature #55 (Closed): OPTIONAL operatorhttps://code.mulgara.org/issues/552007-04-15T05:27:31ZPaula Gearon
<pre>
<code class="html syntaxhl">Add an OPTIONAL constraint operation. This will work similarly to constraint conjunction, but will permit <span class="ni">&lt;</span>null<span class="ni">&gt;</span> parameters on the right hand side. For more details, see:
<span class="nt"><br/></span>
<span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://www.w3.org/TR/rdf-sparql-query/#optionals"</span><span class="nt">></span>http://www.w3.org/TR/rdf-sparql-query/#optionals<span class="nt"></a></span>
<span class="nt"><br/></span>
<span class="nt"><br/></span>
Required for the SPARQL language. For testing, etc, this option will need to be added to TQL syntax.
</code></pre> Mulgara - Bug #54 (Closed): Blank nodes load incorrectly from N3 fileshttps://code.mulgara.org/issues/542007-04-15T05:04:23ZPaula Gearon
<pre>
<code class="html syntaxhl">Loading the following N3 file (from the SPARQL docs) results in 6 separate blank nodes, when there should be only 2 separate blank nodes:
<span class="nt"><br/></span>
<span class="nt"><br/></span>
<span class="nt"><br/></span>
@prefix foaf: <span class="ni">&lt;</span><span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://xmlns.com/foaf/0.1/"</span><span class="nt">></span>http://xmlns.com/foaf/0.1/<span class="nt"></a></span><span class="ni">&gt;</span> .
<span class="nt"><br/></span>
@prefix rdf: <span class="ni">&lt;</span><span class="nt"><a</span> <span class="na">href=</span><span class="s">"http://www.w3.org/1999/02/22-rdf-syntax-ns#"</span><span class="nt">></span>http://www.w3.org/1999/02/22-rdf-syntax-ns#<span class="nt"></a></span><span class="ni">&gt;</span> .
<span class="nt"><br/></span>
<span class="nt"><br/></span>
_:a rdf:type foaf:Person .
<span class="nt"><br/></span>
_:a foaf:name <span class="ni">&quot;</span>Alice<span class="ni">&quot;</span> .
<span class="nt"><br/></span>
_:a foaf:mbox <span class="ni">&lt;</span>mailto:<span class="nt"><a</span> <span class="na">href=</span><span class="s">'mailto:alice@example.com'</span><span class="nt">></span>alice@example.com<span class="nt"></a></span><span class="ni">&gt;</span> .
<span class="nt"><br/></span>
_:a foaf:mbox <span class="ni">&lt;</span>mailto:<span class="nt"><a</span> <span class="na">href=</span><span class="s">'mailto:alice@work.example'</span><span class="nt">></span>alice@work.example<span class="nt"></a></span><span class="ni">&gt;</span> .
<span class="nt"><br/></span>
<span class="nt"><br/></span>
_:b rdf:type foaf:Person .
<span class="nt"><br/></span>
_:b foaf:name <span class="ni">&quot;</span>Bob<span class="ni">&quot;</span> .
</code></pre> Mulgara - Bug #43 (Closed): Insert/Select fails for unknown URIs and literalshttps://code.mulgara.org/issues/432007-02-23T22:35:35ZPaula Gearon
<pre>
<code class="html syntaxhl">Performing an insert/select where a URI or literal is part of the select clause will fail if the URI or Literal has not been seen before.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
The problem is that the URI or literal gets assigned in the temporary string pool for the select phase, but needs to be inserted into the persistent string pool during the insert phase of this query.
</code></pre> Mulgara - Bug #7 (Closed): Xalan missing in Java 1.5https://code.mulgara.org/issues/72006-07-10T04:47:59ZPaula Gearon
<pre>
<code class="html syntaxhl">src/jar/descriptor/src/java/org/mulgara/descriptor/DescriptorElement.java uses classes from org.apache.xalan.templates.
<span class="nt"><br/></span>
This package was included in Java 1.4, but not in Java 1.5. The library needs to be brought in manually.
<span class="nt"><br/></span>
<span class="nt"><br/></span>
The bug does not show up on a Mac, as apple have included the package in the jar file:
<span class="nt"><br/></span>
/System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/.compatibility/14compatibility.jar
</code></pre>