You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
(414) |
Apr
(123) |
May
(448) |
Jun
(180) |
Jul
(17) |
Aug
(49) |
Sep
(3) |
Oct
(92) |
Nov
(101) |
Dec
(64) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(132) |
Feb
(230) |
Mar
(146) |
Apr
(146) |
May
|
Jun
|
Jul
(34) |
Aug
(4) |
Sep
(3) |
Oct
(10) |
Nov
(12) |
Dec
(24) |
2008 |
Jan
(6) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
(4) |
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
Update of /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/inf In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/test/com/bigdata/rdf/inf Modified Files: TestFullForwardClosure.java TestAll.java TestRuleRdfs11.java Added Files: AbstractRuleTestCase.java TestRuleRdfs07.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TestFullForwardClosure.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/inf/TestFullForwardClosure.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TestFullForwardClosure.java 14 Apr 2007 13:49:58 -0000 1.8 --- TestFullForwardClosure.java 18 Apr 2007 17:29:06 -0000 1.9 *************** *** 51,54 **** --- 51,56 ---- import java.io.IOException; + import org.openrdf.sesame.constants.RDFFormat; + /** * Test suite for full forward closure. *************** *** 84,96 **** */ ! store.loadData(new File("data/alibaba_v41.rdf"),"",false); ! ! store.loadData(new File("data/nciOncology.owl"),"",false); /* * Wordnet schema + nouns (two source files). */ ! // store.loadData(new File("data/wordnet-20000620.rdfs"), "", false); ! // store.loadData(new File("data/wordnet_nouns-20010201.rdf"), "", false); store.fullForwardClosure(); --- 86,131 ---- */ ! /* ! rule ms #entms entms/ms ! RuleRdf01 140 38 0 ! RuleRdfs02 0 0 0 ! RuleRdfs03 0 0 0 ! RuleRdfs05 0 592 0 ! RuleRdfs06 0 202 0 ! RuleRdfs07 110 97801 889 ! RuleRdfs08 0 330 0 ! RuleRdfs09 1687 31680 18 ! RuleRdfs10 0 330 0 ! RuleRdfs11 16 990 61 ! RuleRdfs12 0 0 0 ! RuleRdfs13 0 0 0 ! ! rule ms #entms entms/ms ! RuleRdf01 172 38 0 ! RuleRdfs02 0 0 0 ! RuleRdfs03 0 0 0 ! RuleRdfs05 0 592 0 ! RuleRdfs06 0 202 0 ! RuleRdfs07 109 97801 897 ! RuleRdfs08 0 330 0 ! RuleRdfs09 1687 31680 18 ! RuleRdfs10 0 330 0 ! RuleRdfs11 16 990 61 ! RuleRdfs12 0 0 0 ! RuleRdfs13 0 0 0 ! */ ! store.loadData(new File("data/alibaba_v41.rdf"), "", RDFFormat.RDFXML, ! false/* verifyData */, false/* commit */); ! ! // store.loadData(new File("data/nciOncology.owl"), "", RDFFormat.RDFXML, ! // false/* verifyData */, false/*commit*/); /* * Wordnet schema + nouns (two source files). */ ! // store.loadData(new File("data/wordnet-20000620.rdfs"), "", ! // RDFFormat.RDFXML, false/* verifyData */, false/* commit */); ! // store.loadData(new File("data/wordnet_nouns-20010201.rdf"), "", ! // RDFFormat.RDFXML, false/* verifyData */, false/* commit */); store.fullForwardClosure(); --- NEW FILE: TestRuleRdfs07.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ /* * Created on Apr 13, 2007 */ package com.bigdata.rdf.inf; import org.openrdf.model.URI; import org.openrdf.vocabulary.RDFS; import com.bigdata.rdf.model.OptimizedValueFactory._URI; /** * @see RuleRdfs07 * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ public class TestRuleRdfs07 extends AbstractRuleTestCase { /** * */ public TestRuleRdfs07() { } /** * @param name */ public TestRuleRdfs07(String name) { super(name); } /** * Test of {@link RuleRdfs07} where the data satisifies the rule exactly * once. * * <pre> * triple(?u,?b,?y) :- * triple(?a,rdfs:subPropertyOf,?b), * triple(?u,?a,?y). * </pre> */ public void test_rdfs07_01() { URI A = new _URI("http://www.foo.org/A"); URI B = new _URI("http://www.foo.org/B"); URI U = new _URI("http://www.foo.org/U"); URI Y = new _URI("http://www.foo.org/Y"); URI rdfsSubPropertyOf = new _URI(RDFS.SUBPROPERTYOF); store.addStatement(A, rdfsSubPropertyOf, B); store.addStatement(U, A, Y); assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B)); assertTrue(store.containsStatement(U, A, Y)); assertFalse(store.containsStatement(U, B, Y)); // apply the rule. applyRule(store.rdfs7,1,1); assertEquals("#subqueries",1,stats.numSubqueries); /* * validate the state of the primary store. */ assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B)); assertTrue(store.containsStatement(U, A, Y)); assertTrue(store.containsStatement(U, B, Y)); } /** * Test of {@link RuleRdfs07} where the data satisifies the rule twice -- * there are two matches in the subquery for the same binding on "?a". Only * one subquery is made since there is only one match for the first triple * pattern. * * <pre> * triple(?u,?b,?y) :- * triple(?a,rdfs:subPropertyOf,?b), * triple(?u,?a,?y). * </pre> */ public void test_rdfs07_02() { URI A = new _URI("http://www.foo.org/A"); URI B = new _URI("http://www.foo.org/B"); URI U1 = new _URI("http://www.foo.org/U1"); URI Y1 = new _URI("http://www.foo.org/Y1"); URI U2 = new _URI("http://www.foo.org/U2"); URI Y2 = new _URI("http://www.foo.org/Y2"); URI rdfsSubPropertyOf = new _URI(RDFS.SUBPROPERTYOF); store.addStatement(A, rdfsSubPropertyOf, B); store.addStatement(U1, A, Y1); store.addStatement(U2, A, Y2); assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B)); assertTrue(store.containsStatement(U1, A, Y1)); assertTrue(store.containsStatement(U2, A, Y2)); assertFalse(store.containsStatement(U1, B, Y1)); assertFalse(store.containsStatement(U2, B, Y2)); // apply the rule. applyRule(store.rdfs7,2,2); assertEquals("#subqueries",1,stats.numSubqueries); /* * validate the state of the primary store. */ assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B)); assertTrue(store.containsStatement(U1, A, Y1)); assertTrue(store.containsStatement(U2, A, Y2)); assertTrue(store.containsStatement(U1, B, Y1)); assertTrue(store.containsStatement(U2, B, Y2)); } /** * Test of {@link RuleRdfs07} where the data satisifies the rule twice -- * there are two matches on the first triple pattern that have the same * subject. However, only one subquery is made since both matches on the * first triple pattern have the same subject. * <p> * Note: This test is used to verify that the JOIN reorders the results from * the first triple pattern into SPO order so that fewer subqueries need to * be executed (only one subquery in this case). * * <pre> * triple(?u,?b,?y) :- * triple(?a,rdfs:subPropertyOf,?b), * triple(?u,?a,?y). * </pre> */ public void test_rdfs07_03() { URI A = new _URI("http://www.foo.org/A"); URI B1 = new _URI("http://www.foo.org/B1"); URI B2 = new _URI("http://www.foo.org/B2"); URI U = new _URI("http://www.foo.org/U"); URI Y = new _URI("http://www.foo.org/Y"); URI rdfsSubPropertyOf = new _URI(RDFS.SUBPROPERTYOF); store.addStatement(A, rdfsSubPropertyOf, B1); store.addStatement(A, rdfsSubPropertyOf, B2); store.addStatement(U, A, Y); assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B1)); assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B2)); assertTrue(store.containsStatement(U, A, Y)); assertFalse(store.containsStatement(U, B1, Y)); assertFalse(store.containsStatement(U, B2, Y)); // apply the rule. applyRule(store.rdfs7,2,2); // verify that only one subquery is issued. assertEquals("#subqueries",1,stats.numSubqueries); /* * validate the state of the primary store. */ assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B1)); assertTrue(store.containsStatement(A, rdfsSubPropertyOf, B2)); assertTrue(store.containsStatement(U, A, Y)); assertTrue(store.containsStatement(U, B1, Y)); assertTrue(store.containsStatement(U, B2, Y)); } } Index: TestRuleRdfs11.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/inf/TestRuleRdfs11.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestRuleRdfs11.java 14 Apr 2007 13:33:49 -0000 1.1 --- TestRuleRdfs11.java 18 Apr 2007 17:29:06 -0000 1.2 *************** *** 61,65 **** * @version $Id$ */ ! public class TestRuleRdfs11 extends AbstractInferenceEngineTestCase { /** --- 61,65 ---- * @version $Id$ */ ! public class TestRuleRdfs11 extends AbstractRuleTestCase { /** *************** *** 91,124 **** assertFalse(store.containsStatement(A, rdfsSubClassOf, C)); ! // store.fullForwardClosure(); ! ! Stats stats = new Stats(); ! ! TempTripleStore tmpStore = new TempTripleStore(); ! ! final int capacity = 10; ! ! final boolean distinct = false; ! ! SPOBuffer buffer = new SPOBuffer(tmpStore,capacity,distinct); ! ! // apply the rule. ! store.rdfs11.apply(stats, buffer); ! ! // dump entailments on the console. ! buffer.dump(store); ! ! assertEquals("numComputed",stats.numComputed,1); ! ! // flush entailments into the temporary store. ! buffer.flush(); /* - * transfer the entailments from the temporary store to the primary - * store. - */ - assertEquals("#copied",1,store.copyStatements(tmpStore)); - - /* * validate the state of the primary store. */ --- 91,97 ---- assertFalse(store.containsStatement(A, rdfsSubClassOf, C)); ! applyRule(store.rdfs11, 1/* numComputed */, 1/* numCopied */); /* * validate the state of the primary store. */ Index: TestAll.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/inf/TestAll.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestAll.java 26 Jan 2007 18:22:15 -0000 1.1 --- TestAll.java 18 Apr 2007 17:29:06 -0000 1.2 *************** *** 78,81 **** --- 78,85 ---- TestSuite suite = new TestSuite("RDFS inference"); + suite.addTestSuite( TestRuleRdfs07.class ); + + suite.addTestSuite( TestRuleRdfs11.class ); + suite.addTestSuite( TestFullForwardClosure.class ); --- NEW FILE: AbstractRuleTestCase.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ /* * Created on Apr 18, 2007 */ package com.bigdata.rdf.inf; import com.bigdata.rdf.TempTripleStore; import com.bigdata.rdf.inf.Rule.Stats; /** * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ abstract public class AbstractRuleTestCase extends AbstractInferenceEngineTestCase { final protected TempTripleStore tmpStore = new TempTripleStore(); final protected Stats stats = new Stats(); final protected int capacity = 10; final protected boolean distinct = false; final protected SPOBuffer buffer = new SPOBuffer(tmpStore,capacity,distinct); /** * */ public AbstractRuleTestCase() { } /** * @param name */ public AbstractRuleTestCase(String name) { super(name); } /** * Applies the rule, copies the new entailments into the store and checks * the expected #of inferences computed and new statements copied into the * store. * <p> * Invoke as <code>applyRule( store.{rule}, ..., ... )</code> * * @param rule * The rule, which must be one of those found on {@link #store} * or otherwise configured so as to run with the {@link #store} * instance. * * @param expectedComputed * The #of entailments that should be computed by the rule. * * @param expectedCopied * The #of entailments that should be distinct from the * statements already in the store (the new inferences). */ protected void applyRule(Rule rule, int expectedComputed, int expectedCopied) { // apply the rule. rule.apply(stats, buffer); // dump entailments on the console. buffer.dump(store); // flush entailments into the temporary store. buffer.flush(); /* * Verify the #of entailments computed. */ assertEquals("numComputed",expectedComputed,stats.numComputed); /* * transfer the entailments from the temporary store to the primary * store. */ final int actualCopied = store.copyStatements(tmpStore); assertEquals("#copied",expectedCopied,actualCopied); } } |
Update of /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/rio In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/java/com/bigdata/rdf/rio Modified Files: PresortRioLoader.java BasicRioLoader.java IRioLoader.java MultiThreadedPresortRioLoader.java BulkRioLoader.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: IRioLoader.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/rio/IRioLoader.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** IRioLoader.java 6 Feb 2007 23:06:43 -0000 1.3 --- IRioLoader.java 18 Apr 2007 17:29:07 -0000 1.4 *************** *** 48,51 **** --- 48,52 ---- package com.bigdata.rdf.rio; + import java.io.InputStream; import java.io.Reader; *************** *** 70,74 **** public void removeRioLoaderListener( RioLoaderListener l ); ! public void loadRdfXml( Reader reader, String baseURI ) throws Exception; } --- 71,77 ---- public void removeRioLoaderListener( RioLoaderListener l ); ! public void loadRdf( Reader reader, String baseURI ) throws Exception; ! ! // public void loadRdf( InputStream is, String baseURI ) throws Exception; } Index: MultiThreadedPresortRioLoader.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/rio/MultiThreadedPresortRioLoader.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** MultiThreadedPresortRioLoader.java 13 Apr 2007 15:02:34 -0000 1.6 --- MultiThreadedPresortRioLoader.java 18 Apr 2007 17:29:07 -0000 1.7 *************** *** 250,254 **** */ ! public void loadRdfXml( Reader reader, String baseURI ) throws Exception { OptimizedValueFactory valueFac = new OptimizedValueFactory(); --- 250,254 ---- */ ! public void loadRdf( Reader reader, String baseURI ) throws Exception { OptimizedValueFactory valueFac = new OptimizedValueFactory(); Index: PresortRioLoader.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/rio/PresortRioLoader.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PresortRioLoader.java 6 Feb 2007 23:06:43 -0000 1.7 --- PresortRioLoader.java 18 Apr 2007 17:29:07 -0000 1.8 *************** *** 44,48 **** --- 44,52 ---- package com.bigdata.rdf.rio; + import java.io.BufferedInputStream; + import java.io.IOException; + import java.io.InputStream; import java.io.Reader; + import java.net.URL; import java.util.Iterator; import java.util.Vector; *************** *** 52,58 **** --- 56,66 ---- import org.openrdf.model.URI; import org.openrdf.model.Value; + import org.openrdf.model.ValueFactory; import org.openrdf.rio.Parser; import org.openrdf.rio.StatementHandler; + import org.openrdf.rio.ntriples.NTriplesParser; import org.openrdf.rio.rdfxml.RdfXmlParser; + import org.openrdf.rio.turtle.TurtleParser; + import org.openrdf.sesame.constants.RDFFormat; import com.bigdata.rdf.TripleStore; *************** *** 65,71 **** * batch. * - * @todo try optimization using async IO to write data buffered on the journal - * to disk. - * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ --- 73,76 ---- *************** *** 88,91 **** --- 93,106 ---- /** + * The RDF syntax to be parsed. + */ + protected final RDFFormat rdfFormat; + + /** + * Controls the {@link Parser#setVerifyData(boolean)} option. + */ + protected final boolean verifyData; + + /** * The bufferQueue capacity -or- <code>-1</code> if the {@link Buffer} * object is signaling that no more buffers will be placed onto the *************** *** 113,126 **** */ Buffer buffer; ! public PresortRioLoader( TripleStore store ) { ! ! this(store, DEFAULT_BUFFER_SIZE, true ); } ! public PresortRioLoader(TripleStore store, int capacity, boolean distinct) { assert store != null; assert capacity > 0; --- 128,186 ---- */ Buffer buffer; + + /** + * Used as the value factory for the {@link Parser}. + */ + OptimizedValueFactory valueFac = new OptimizedValueFactory(); ! /** ! * Sets up parser to load RDF/XML - {@link #verifyData} is NOT enabled. ! * ! * @param store ! * The store into which to insert the loaded statements. ! */ ! public PresortRioLoader(TripleStore store) { ! ! this(store, RDFFormat.RDFXML, false /*verifyData*/); } ! /** ! * Sets up parser to load the indicated RDF interchange syntax. ! * ! * @param store ! * The store into which to insert the loaded statements. ! * @param rdfFormat ! * The RDF interchange syntax to be parsed. ! * @param verifyData ! * Controls the {@link Parser#setVerifyData(boolean)} option. ! */ ! public PresortRioLoader( TripleStore store, RDFFormat rdfFormat, boolean verifyData ) { ! ! this(store, rdfFormat, verifyData, DEFAULT_BUFFER_SIZE, true); ! ! } ! ! /** ! * Sets up parser to load RDF. ! * ! * @param store ! * The store into which to insert the loaded statements. ! * @param rdfFormat ! * The RDF interchange syntax to be parsed. ! * @param verifyData ! * Controls the {@link Parser#setVerifyData(boolean)} option. ! * @param capacity ! * The capacity of the buffer. ! * @param distinct ! * Whether or not terms and statements are made distinct in the ! * buffer. ! */ ! public PresortRioLoader(TripleStore store, RDFFormat rdfFormat, ! boolean verifyData, int capacity, boolean distinct) { assert store != null; + + assert rdfFormat != null; assert capacity > 0; *************** *** 128,131 **** --- 188,195 ---- this.store = store; + this.rdfFormat = rdfFormat; + + this.verifyData = verifyData; + this.capacity = capacity; *************** *** 196,199 **** --- 260,334 ---- /** + * Choose the parser based on the {@link RDFFormat} specified to the + * constructor. + * + * @param valFactory + * The value factory. + * + * @return The parser. + */ + protected Parser newParser(ValueFactory valFactory) { + + final Parser parser; + + if (RDFFormat.RDFXML.equals(rdfFormat)) { + + parser = new RdfXmlParser(valFactory); + + } else if (RDFFormat.NTRIPLES.equals(rdfFormat)) { + + parser = new NTriplesParser(valFactory); + + } else if (RDFFormat.TURTLE.equals(rdfFormat)) { + + parser = new TurtleParser(valFactory); + + } else { + + throw new IllegalArgumentException("Format not supported: " + + rdfFormat); + + } + + parser.setVerifyData( verifyData ); + + parser.setStatementHandler( this ); + + return parser; + + } + + // InputStream rdfStream = getClass().getResourceAsStream(ontology); + // + // if (rdfStream == null) { + // + // /* + // * If we do not find as a Resource then try as a URL. + // * + // */ + // try { + // + // rdfStream = new URL(ontology).openConnection().getInputStream(); + // + // } catch (IOException ex) { + // + // ex.printStackTrace(System.err); + // + // return false; + // + // } + // + // } + // + // rdfStream = new BufferedInputStream(rdfStream); + // + // ... + // + // finally { + // rdfStream.close(); + // } + // + + /** * We need to collect two (three including bnode) term arrays and one * statement array. These should be buffers of a settable size. *************** *** 214,227 **** * The baseURI or "" if none is known. */ ! ! public void loadRdfXml( Reader reader, String baseURI ) throws Exception { ! ! OptimizedValueFactory valueFac = new OptimizedValueFactory(); ! ! Parser parser = new RdfXmlParser( valueFac ); ! ! parser.setVerifyData( false ); ! parser.setStatementHandler( this ); // Note: reset to that rates reflect load times not clock times. --- 349,355 ---- * The baseURI or "" if none is known. */ ! public void loadRdf( Reader reader, String baseURI ) throws Exception { ! Parser parser = newParser(valueFac); // Note: reset to that rates reflect load times not clock times. Index: BasicRioLoader.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/rio/BasicRioLoader.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** BasicRioLoader.java 6 Feb 2007 23:06:43 -0000 1.4 --- BasicRioLoader.java 18 Apr 2007 17:29:07 -0000 1.5 *************** *** 132,136 **** } ! public void loadRdfXml( Reader reader, String baseURI ) throws Exception { Parser parser = new RdfXmlParser(); --- 132,136 ---- } ! public void loadRdf( Reader reader, String baseURI ) throws Exception { Parser parser = new RdfXmlParser(); Index: BulkRioLoader.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/rio/BulkRioLoader.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** BulkRioLoader.java 13 Apr 2007 15:02:34 -0000 1.13 --- BulkRioLoader.java 18 Apr 2007 17:29:07 -0000 1.14 *************** *** 249,253 **** * the RDF/XML source */ ! public void loadRdfXml( Reader reader, String baseURI ) throws Exception { OptimizedValueFactory valueFac = new OptimizedValueFactory(); --- 249,253 ---- * the RDF/XML source */ ! public void loadRdf( Reader reader, String baseURI ) throws Exception { OptimizedValueFactory valueFac = new OptimizedValueFactory(); |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:26
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/btree In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23060/src/java/com/bigdata/btree Modified Files: BTree.java EntryIterator.java BTreeMetadata.java PO.java AbstractBTree.java AbstractNode.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: AbstractNode.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/AbstractNode.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AbstractNode.java 13 Apr 2007 15:04:13 -0000 1.1 --- AbstractNode.java 18 Apr 2007 17:29:20 -0000 1.2 *************** *** 579,582 **** --- 579,593 ---- * FIXME when using an {@link IndexSegment} provide for direct leaf * successor scans. + * + * FIXME Support update of the current value for an entry, delete of the + * entry, and insert of an entry into the current leaf. + * <p> + * <p> + * Note that if there are persistent nodes in the tree, then copy-on-write + * is triggered during traversal. In order for us to write an iterator-based + * delete of the existing keys (causing them to become "delete" markers) we + * need the iterator to handle concurrent modification, at least to the + * extent that it can follow the change from the persistent reference for a + * node to the new mutable reference for that node. */ private static class PostOrderEntryIterator extends Striterator implements IEntryIterator { Index: BTreeMetadata.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/BTreeMetadata.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BTreeMetadata.java 16 Apr 2007 10:02:49 -0000 1.2 --- BTreeMetadata.java 18 Apr 2007 17:29:20 -0000 1.3 *************** *** 247,251 **** public static BTreeMetadata read(IRawStore store, long addr) { ! return (BTreeMetadata) SerializerUtil.deserialize(store.read(addr)); } --- 247,256 ---- public static BTreeMetadata read(IRawStore store, long addr) { ! BTreeMetadata metadata = (BTreeMetadata) SerializerUtil.deserialize(store.read(addr)); ! ! // save the address from which the metadata record was loaded. ! metadata.addrMetadata = addr; ! ! return metadata; } Index: EntryIterator.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/EntryIterator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** EntryIterator.java 13 Apr 2007 15:04:13 -0000 1.1 --- EntryIterator.java 18 Apr 2007 17:29:20 -0000 1.2 *************** *** 273,276 **** --- 273,291 ---- /** + * FIXME Support removal. This is tricky because we have to invoke + * copy-on-write if the leaf is not dirty. Since copy-on-write can cause the + * leaf and its parents to be cloned, and since the entry must be removed in + * the mutable copy, this means that the {@link Leaf} that we have may be + * the wrong object. The simplest way to handle that is to re-start the + * iterator from the current key and then invoke delete on that entry. + * However, that is not that simple :-) <br> + * The other twist with removal is that it can cause the leaf to underflow, + * which results in a structural change in the btree. + * + * @todo Also support update of the value during traversal. This is simpler + * since it does not lead to structural changes (the #of entries in + * the leaf does not change), but it has the same problems with + * needing to invoke copy-on-write if the leaf is not dirty. + * * @exception UnsupportedOperationException */ *************** *** 292,296 **** public EntryFilter() { ! this.state = null; } --- 307,313 ---- public EntryFilter() { ! ! this( null ); ! } *************** *** 303,307 **** --- 320,326 ---- */ public EntryFilter(Object state) { + this.state = state; + } *************** *** 317,321 **** /** ! * Resolve the value that the iterator would visit This can be used to * return an application value encapsulated by an {@link IValue}, to * de-serialize application values, etc. The default implementation is a --- 336,340 ---- /** ! * Resolve the value that the iterator would visit. This can be used to * return an application value encapsulated by an {@link IValue}, to * de-serialize application values, etc. The default implementation is a Index: BTree.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/BTree.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** BTree.java 13 Apr 2007 15:04:12 -0000 1.3 --- BTree.java 18 Apr 2007 17:29:20 -0000 1.4 *************** *** 52,55 **** --- 52,57 ---- import com.bigdata.cache.HardReferenceQueue; import com.bigdata.journal.ICommitter; + import com.bigdata.journal.IIndexManager; + import com.bigdata.journal.IJournal; import com.bigdata.rawstore.Addr; import com.bigdata.rawstore.IRawStore; *************** *** 434,438 **** --- 436,454 ---- */ assert hardReferenceQueue.capacity() >= MINIMUM_LEAF_QUEUE_CAPACITY; + + /* + * Setup the initial root leaf. + */ + newRootLeaf(); + } + + /** + * Creates and sets new root {@link Leaf} on the B+Tree and (re)sets the + * various counters to be consistent with that root. This is used both + * by the constructor for a new {@link BTree} and by {@link #removeAll()}. + */ + private void newRootLeaf() { + this.height = 0; *************** *** 444,449 **** this.nleaves = 1; - } /** * Load an existing B+Tree from the store. --- 460,466 ---- this.nleaves = 1; + } + /** * Load an existing B+Tree from the store. *************** *** 674,706 **** /** ! * Not implement yet. ! * ! * @todo Define the semantics for deleting the btree. If the delete is on an ! * unisolated btree then all we need to do is replace the root with an ! * empty root leaf. Old nodes and leaves will be swept from the store ! * eventually when the journal overflows. ! * <p> ! * If the delete occurs during a transaction the isolation means that ! * we have to delete all of the keys, causing "delete" entries to ! * spring into existance for each key in the tree. When the ! * transaction commits, those delete markers will have to validate ! * against the global state of the tree. If the transaction validates, ! * then the merge down onto the global state will cause the ! * corresponding entries to be removed from the global tree. ! * <p> ! * Note that if there are persistent nodes in the tree, then ! * copy-on-write is triggered during traversal. In order for us to ! * write an iterator-based delete of the existing keys (causing them ! * to become "delete" markers) we need the iterator to handle ! * concurrent modification, at least to the extent that it can follow ! * the change from the persistent reference for a node to the new ! * mutable reference for that node. ! * <p> ! * Note that there is probably processing order that is more efficient ! * for delete, e.g., left-to-right vs right-to-left. */ ! public void delete() { ! throw new UnsupportedOperationException(); } --- 691,725 ---- /** ! * Remove all entries in the B+Tree. ! * <p> ! * This implementation simply replaces the root with a new root leaf and ! * resets the counters (height, #of nodes, #of leaves, etc). to be ! * consistent with that new root. If the btree is then made restart-safe by ! * the commit protocol of the backing store then the effect is as if all ! * entries had been deleted. Old nodes and leaves will be swept from the ! * store eventually when the journal overflows. ! * <p> ! * Note: This implementation simply replaces the root node with a new root ! * leaf and does not release storage for nodes and leaves in the B+Tree. ! * This is because the overall design for bigdata combines an append only ! * {@link IJournal} with overflow onto read-only {@link IndexSegment}s. Old ! * journals are simply deleted, thereby reclaiming the storage on the file ! * system. ! * <p> ! * Note: This implementation is overriden in the ! * <code>com.btree.isolation</code> package since isolation requires ! * writing explicit delete markers for each entry in the B+Tree. ! * <p> ! * Note: The {@link IIndexManager} defines methods for registering (adding) ! * and dropping indices. The {@link IIndexManager#dropIndex(String)} method ! * should be used to remove a scale-out partitioned index. */ ! public void removeAll() { ! /* ! * Replace the root with a new root leaf. ! */ ! ! newRootLeaf(); } Index: AbstractBTree.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/AbstractBTree.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AbstractBTree.java 16 Apr 2007 10:02:49 -0000 1.2 --- AbstractBTree.java 18 Apr 2007 17:29:20 -0000 1.3 *************** *** 49,53 **** import java.io.PrintStream; - import java.lang.ref.WeakReference; import java.nio.ByteBuffer; import java.util.Iterator; --- 49,52 ---- Index: PO.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/PO.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PO.java 13 Apr 2007 15:04:11 -0000 1.1 --- PO.java 18 Apr 2007 17:29:20 -0000 1.2 *************** *** 52,58 **** * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ - * - * @todo This abstract class is only used by the {@link BTree}. Modify it so - * that we directly test the member fields for better performance. */ abstract public class PO implements IIdentityAccess, IDirty { --- 52,55 ---- |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:26
|
Update of /cvsroot/cweb/bigdata/src/test/com/bigdata/btree In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23060/src/test/com/bigdata/btree Modified Files: TestAll.java TestRestartSafe.java Added Files: TestRemoveAll.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TestRestartSafe.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/btree/TestRestartSafe.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestRestartSafe.java 13 Apr 2007 15:04:17 -0000 1.1 --- TestRestartSafe.java 18 Apr 2007 17:29:20 -0000 1.2 *************** *** 159,162 **** --- 159,164 ---- /** + * Test basic btree is restart safe, including a test of + * {@link BTree#removeAll()} * * @throws IOException *************** *** 205,208 **** --- 207,211 ---- * restart, re-opening the same file. */ + final long addr2; { *************** *** 216,220 **** assertSameIterator(new Object[] { v1, v2, v3, v4, v5, v6, v7, v8 }, btree.entryIterator()); ! journal.closeAndDelete(); --- 219,250 ---- assertSameIterator(new Object[] { v1, v2, v3, v4, v5, v6, v7, v8 }, btree.entryIterator()); ! ! // remove all entries by replacing the root node. ! ! btree.removeAll(); ! ! assertTrue(btree.dump(Level.DEBUG,System.err)); ! ! assertSameIterator( new Object[]{}, btree.entryIterator() ); ! ! addr2 = btree.write(); ! ! journal.commit(); ! ! } ! ! /* ! * restart, re-opening the same file. ! */ ! { ! ! journal = reopenStore(journal); ! ! final BTree btree = BTree.load(journal, addr2); ! ! assertTrue(btree.dump(Level.DEBUG,System.err)); ! ! assertSameIterator( new Object[]{}, btree.entryIterator() ); ! journal.closeAndDelete(); *************** *** 247,251 **** { ! final BTree btree = new MyBTree(journal, 3, UUID.randomUUID(), SimpleEntry.Serializer.INSTANCE); --- 277,281 ---- { ! final BTree btree = new MyBTree(journal, m, UUID.randomUUID(), SimpleEntry.Serializer.INSTANCE); --- NEW FILE: TestRemoveAll.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ /* * Created on Apr 17, 2007 */ package com.bigdata.btree; import org.apache.log4j.Level; /** * Test suite for {@link BTree#removeAll()}. * * @see TestRestartSafe#test_restartSafe01() * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ public class TestRemoveAll extends AbstractBTreeTestCase { /** * */ public TestRemoveAll() { } /** * @param name */ public TestRemoveAll(String name) { super(name); } /** * */ public void test_removeAll() { final int m = 3; BTree btree = getBTree( m ); SimpleEntry v1 = new SimpleEntry(1); SimpleEntry v2 = new SimpleEntry(2); SimpleEntry v3 = new SimpleEntry(3); SimpleEntry v4 = new SimpleEntry(4); SimpleEntry v5 = new SimpleEntry(5); SimpleEntry v6 = new SimpleEntry(6); SimpleEntry v7 = new SimpleEntry(7); SimpleEntry v8 = new SimpleEntry(8); Object[] values = new Object[]{v5,v6,v7,v8,v3,v4,v2,v1}; { byte[][] keys = new byte[][] { new byte[] { 5 }, new byte[] { 6 }, new byte[] { 7 }, new byte[] { 8 }, new byte[] { 3 }, new byte[] { 4 }, new byte[] { 2 }, new byte[] { 1 } }; btree.insert(new BatchInsert(values.length, keys, values)); assertTrue(btree.dump(Level.DEBUG,System.err)); assertSameIterator(new Object[] { v1, v2, v3, v4, v5, v6, v7, v8 }, btree.entryIterator()); btree.removeAll(); assertTrue(btree.dump(Level.DEBUG,System.err)); assertSameIterator(new Object[] {}, btree.entryIterator()); } } } Index: TestAll.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/btree/TestAll.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TestAll.java 16 Apr 2007 10:02:49 -0000 1.4 --- TestAll.java 18 Apr 2007 17:29:20 -0000 1.5 *************** *** 138,141 **** --- 138,143 ---- // test iterator semantics. suite.addTestSuite( TestIterators.class ); + // test delete semantics (also see the isolation package). + suite.addTestSuite( TestRemoveAll.class ); // test contract for BTree#touch(node) w/o IO. suite.addTestSuite( TestTouch.class ); |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:25
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23060/src/java/com/bigdata/isolation Modified Files: UnisolatedBTree.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: UnisolatedBTree.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/isolation/UnisolatedBTree.java,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** UnisolatedBTree.java 13 Apr 2007 15:04:23 -0000 1.11 --- UnisolatedBTree.java 18 Apr 2007 17:29:20 -0000 1.12 *************** *** 52,59 **** --- 52,61 ---- import java.io.ObjectInput; import java.io.ObjectOutput; + import java.util.Iterator; import java.util.UUID; import org.CognitiveWeb.extser.LongPacker; + import com.bigdata.btree.AbstractNode; import com.bigdata.btree.BTree; import com.bigdata.btree.BTreeMetadata; *************** *** 109,112 **** --- 111,116 ---- * application values will be inserted into this tree, not the {@link IValue} objects. * + * removeAll() - override to write deletion markers for each entry. + * * indexOf() - ok as implemented (counts deleted entries). * keyAt() - ok as implemented, but will return keys for deleted entries. *************** *** 457,460 **** --- 461,486 ---- } + + /** + * Overriden to write deletion markers for each non-deleted entry. When the + * transaction commits, those delete markers will have to validate against + * the global state of the tree. If the transaction validates, then the + * merge down onto the global state will cause the corresponding entries to + * be removed from the global tree. + * + * FIXME This method throws an exception since the iterator does not support + * {@link Iterator#remove()}. This issue is noted in {@link AbstractNode}. + */ + public void removeAll() { + + IEntryIterator itr = entryIterator(); + + while(itr.hasNext()) { + + itr.remove(); + + } + + } /** |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:25
|
Update of /cvsroot/cweb/bigdata/src/test/com/bigdata/isolation In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv23060/src/test/com/bigdata/isolation Modified Files: TestUnisolatedBTree.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TestUnisolatedBTree.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/isolation/TestUnisolatedBTree.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TestUnisolatedBTree.java 13 Apr 2007 15:04:23 -0000 1.8 --- TestUnisolatedBTree.java 18 Apr 2007 17:29:20 -0000 1.9 *************** *** 52,57 **** --- 52,60 ---- import com.bigdata.btree.AbstractBTree; import com.bigdata.btree.AbstractBTreeTestCase; + import com.bigdata.btree.AbstractNode; import com.bigdata.btree.BTree; + import com.bigdata.btree.EntryIterator; import com.bigdata.btree.IBatchOp; + import com.bigdata.btree.IEntryIterator; import com.bigdata.btree.IRangeQuery; import com.bigdata.rawstore.IRawStore; *************** *** 382,385 **** --- 385,440 ---- /** + * Test verifies that {@link UnisolatedBTree#removeAll()} causes deletion + * markers to be written for each undeleted entry in the B+Tree. + * <p> + * Note: This test only tests removal with a root leaf and therefore relies + * on the underlying iterator to correctly support removal or update of an + * entry in the btree in any leaf regardless of the height of the btree. + * + * FIXME This test currently fails since the {@link IEntryIterator} does not + * support removal or update of entries. See {@link AbstractNode} and + * {@link EntryIterator#remove()} for this issue. + */ + public void test_removeAll_rootLeaf() { + + IRawStore store = new SimpleMemoryRawStore(); + + final byte[] k3 = new byte[]{3}; + final byte[] k5 = new byte[]{5}; + final byte[] k7 = new byte[]{7}; + + final byte[] v3 = new byte[]{3}; + final byte[] v5 = new byte[]{5}; + final byte[] v7 = new byte[]{7}; + + UnisolatedBTree btree = new UnisolatedBTree(store, 3, UUID.randomUUID(), null); + + /* + * fill the root leaf. + */ + btree.insert(k3,v3); + btree.insert(k5,v5); + btree.insert(k7,v7); + + assertSameIterator(new Object[]{v3,v5,v7},btree.entryIterator()); + + /* + * remove all un-deleted entries by writing deletion markers. + */ + btree.removeAll(); + + assertSameIterator(new Object[]{},btree.entryIterator()); + + /* + * verify presence of deletion markers using the root node to test the + * actual value in the tree. + */ + assertEquals(new Value((short) 2, true, null), (Value) btree.getRoot().lookup(k3)); + assertEquals(new Value((short) 2, true, null), (Value) btree.getRoot().lookup(k5)); + assertEquals(new Value((short) 2, true, null), (Value) btree.getRoot().lookup(k7)); + + } + + /** * Tests restart-safety of data, including deletion markers. */ |
Update of /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/java/com/bigdata/rdf/inf Modified Files: RuleRdfs09.java RuleRdfs13.java RuleRdfs08.java InferenceEngine.java Rule.java RuleRdf01.java RuleRdfs11.java RuleRdfs03.java RuleRdfs02.java RuleRdfs06.java RuleRdfs10.java RuleRdfs12.java RuleRdfs05.java RuleRdfs07.java Added Files: AbstractRuleRdfs_6_8_10_12_13.java package.html AbstractRuleRdfs_2_3_7_9.java AbstractRuleRdfs_5_11.java Removed Files: AbstractRuleRdfs511.java AbstractRuleRdfs2379.java AbstractRuleRdfs68101213.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: RuleRdfs08.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs08.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs08.java 31 Jan 2007 04:11:50 -0000 1.1 --- RuleRdfs08.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 44,48 **** package com.bigdata.rdf.inf; ! public class RuleRdfs08 extends AbstractRuleRdfs68101213 { public RuleRdfs08(InferenceEngine store, Var u, Var v, Var x) { --- 44,48 ---- package com.bigdata.rdf.inf; ! public class RuleRdfs08 extends AbstractRuleRdfs_6_8_10_12_13 { public RuleRdfs08(InferenceEngine store, Var u, Var v, Var x) { Index: RuleRdfs07.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs07.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RuleRdfs07.java 13 Apr 2007 20:37:04 -0000 1.2 --- RuleRdfs07.java 18 Apr 2007 17:29:07 -0000 1.3 *************** *** 45,53 **** /** * <pre> ! * <a rdfs:subPropertyOf b> AND <u a y> IMPLIES <u b y> * </pre> */ ! public class RuleRdfs07 extends AbstractRuleRdfs2379 { public RuleRdfs07( InferenceEngine store, Var a, Var b, Var u, Var y ) { --- 45,56 ---- /** + * rdfs7: * <pre> ! * triple(?u,?b,?y) :- ! * triple(?a,rdfs:subPropertyOf,?b), ! * triple(?u,?a,?y). * </pre> */ ! public class RuleRdfs07 extends AbstractRuleRdfs_2_3_7_9 { public RuleRdfs07( InferenceEngine store, Var a, Var b, Var u, Var y ) { *************** *** 67,69 **** } ! } \ No newline at end of file --- 70,72 ---- } ! } Index: RuleRdfs06.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs06.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs06.java 31 Jan 2007 04:11:50 -0000 1.1 --- RuleRdfs06.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 44,48 **** package com.bigdata.rdf.inf; ! public class RuleRdfs06 extends AbstractRuleRdfs68101213 { public RuleRdfs06(InferenceEngine store, Var u, Var v, Var x) { --- 44,58 ---- package com.bigdata.rdf.inf; ! /** ! * rdfs6: ! * <pre> ! * triple( ?u rdfs:subPropertyOf ?u ) :- ! * triple( ?u rdf:type rdf:Property ). ! * </pre> ! * ! * @author <a href="mailto:tho...@us...">Bryan Thompson</a> ! * @version $Id$ ! */ ! public class RuleRdfs06 extends AbstractRuleRdfs_6_8_10_12_13 { public RuleRdfs06(InferenceEngine store, Var u, Var v, Var x) { Index: RuleRdfs12.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs12.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs12.java 31 Jan 2007 04:11:50 -0000 1.1 --- RuleRdfs12.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 44,48 **** package com.bigdata.rdf.inf; ! public class RuleRdfs12 extends AbstractRuleRdfs68101213 { public RuleRdfs12(InferenceEngine store, Var u, Var v, Var x) { --- 44,48 ---- package com.bigdata.rdf.inf; ! public class RuleRdfs12 extends AbstractRuleRdfs_6_8_10_12_13 { public RuleRdfs12(InferenceEngine store, Var u, Var v, Var x) { Index: RuleRdfs13.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs13.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs13.java 31 Jan 2007 04:11:50 -0000 1.1 --- RuleRdfs13.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 44,48 **** package com.bigdata.rdf.inf; ! public class RuleRdfs13 extends AbstractRuleRdfs68101213 { public RuleRdfs13(InferenceEngine store, Var u, Var v, Var x) { --- 44,48 ---- package com.bigdata.rdf.inf; ! public class RuleRdfs13 extends AbstractRuleRdfs_6_8_10_12_13 { public RuleRdfs13(InferenceEngine store, Var u, Var v, Var x) { Index: RuleRdfs09.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs09.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RuleRdfs09.java 13 Apr 2007 20:37:04 -0000 1.4 --- RuleRdfs09.java 18 Apr 2007 17:29:07 -0000 1.5 *************** *** 46,56 **** import com.bigdata.rdf.KeyOrder; - /** * <pre> * <u rdfs:subClassOf x> AND <v rdf:type u> IMPLIES <v rdf:type x> * </pre> */ ! public class RuleRdfs09 extends AbstractRuleRdfs2379 { public RuleRdfs09( InferenceEngine store, Var u, Var x, Var v ) { --- 46,61 ---- import com.bigdata.rdf.KeyOrder; /** + * rdfs9: + * <pre> + * triple(?v,rdf:type,?x) :- + * triple(?u,rdfs:subClassOf,?x), + * triple(?v,rdf:type,?u). + * </pre> * <pre> * <u rdfs:subClassOf x> AND <v rdf:type u> IMPLIES <v rdf:type x> * </pre> */ ! public class RuleRdfs09 extends AbstractRuleRdfs_2_3_7_9 { public RuleRdfs09( InferenceEngine store, Var u, Var x, Var v ) { *************** *** 64,67 **** --- 69,77 ---- } + /** + * Overriden to be two bound (more selective), but otherwise also returning + * data in POS order. The query is formed from triple(?v,rdf:type,stmt1.s) + * and expressed in POS order as { rdf:type, stmt1.s, ?v }. + */ protected SPO[] getStmts2( SPO stmt1 ) { --- AbstractRuleRdfs2379.java DELETED --- Index: RuleRdfs05.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs05.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs05.java 31 Jan 2007 05:23:20 -0000 1.1 --- RuleRdfs05.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 55,59 **** * </pre> */ ! public class RuleRdfs05 extends AbstractRuleRdfs511 { public RuleRdfs05(InferenceEngine store,Var u, Var v, Var x) { --- 55,59 ---- * </pre> */ ! public class RuleRdfs05 extends AbstractRuleRdfs_5_11 { public RuleRdfs05(InferenceEngine store,Var u, Var v, Var x) { Index: RuleRdf01.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdf01.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** RuleRdf01.java 14 Apr 2007 13:33:51 -0000 1.8 --- RuleRdf01.java 18 Apr 2007 17:29:07 -0000 1.9 *************** *** 47,51 **** import com.bigdata.rdf.KeyOrder; ! public class RuleRdf01 extends AbstractRuleRdf { --- 47,58 ---- import com.bigdata.rdf.KeyOrder; ! /** ! * Rdf1: ! * ! * <pre> ! * triple(?v rdf:type rdf:Property) :- ! * triple( ?u ?v ?x ). ! * </pre> ! */ public class RuleRdf01 extends AbstractRuleRdf { *************** *** 65,68 **** --- 72,89 ---- long lastP = -1; + /* + * This is essentially doing a "select distinct predicate". + * + * FIXME there should be a lighter weight way of achieving this result. + * One way would be to create a "predicates" index that had each + * distinct predicate (further denormalizing the schema and requiring + * maintenance). Another approach is to restart the iterator each time a + * predicate [p] is found by computing the fromKey as [p+1] thereby + * skipping over all intervening statements in the index (consider how + * to distribute that query in parallel). + * + * @todo write a test for this rule and then write an optimized variant + * using the incremented toKey approach. + */ IEntryIterator it = store.getPOSIndex().rangeIterator(null,null); Index: RuleRdfs02.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs02.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs02.java 31 Jan 2007 15:52:54 -0000 1.1 --- RuleRdfs02.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 46,50 **** ! public class RuleRdfs02 extends AbstractRuleRdfs2379 { public RuleRdfs02( InferenceEngine store, Var a, Var x, Var u, Var y ) { --- 46,50 ---- ! public class RuleRdfs02 extends AbstractRuleRdfs_2_3_7_9 { public RuleRdfs02( InferenceEngine store, Var a, Var x, Var u, Var y ) { --- NEW FILE: package.html --- <html> <head> <title>RDFS+ Inference Engine</title> </head> <body> <p> This package provides an eager closure inference engine for most of the RDF and RDFS entailments and can be used to realize entailments for owl:sameAs, owl:equivilentClass, and owl:equivilentProperty. </p> <p> The following entailment rules are NOT implemented. In general, these tends to conclude relatively useless information and lead to a large expansion of the KB. <ul> <li>rdf2</li> <li>rdfs1</li> <li>rdfs4a</li> <li>rdfs4b</li> </ul> </p> </body> </html> --- AbstractRuleRdfs511.java DELETED --- Index: InferenceEngine.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/InferenceEngine.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** InferenceEngine.java 14 Apr 2007 13:33:51 -0000 1.14 --- InferenceEngine.java 18 Apr 2007 17:29:07 -0000 1.15 *************** *** 71,82 **** * </pre> * ! * where s, p, and or are identifiers for RDF values in the terms index. ! * Facts are stored either in the long-term database or in a per-query answer ! * set. * <p> * A rule always has the form: * * <pre> ! * pred :- pred*. * </pre> * --- 71,81 ---- * </pre> * ! * where s, p, and or are identifiers for RDF values in the terms index. Facts ! * are stored either in the long-term database or in a per-query answer set. * <p> * A rule always has the form: * * <pre> ! * pred :- pred*. * </pre> * *************** *** 113,119 **** * * <pre> ! * triple(?v,rdf:type,?x) :- ! * triple(?u,rdfs:subClassOf,?x), ! * triple(?v,rdf:type,?u). * </pre> * --- 112,118 ---- * * <pre> ! * triple(?v,rdf:type,?x) :- ! * triple(?u,rdfs:subClassOf,?x), ! * triple(?v,rdf:type,?u). * </pre> * *************** *** 121,131 **** * * <pre> ! * triple(?u,rdfs:subClassOf,?x) :- ! * triple(?u,rdfs:subClassOf,?v), ! * triple(?v,rdf:subClassOf,?x). * </pre> * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ public class InferenceEngine extends TripleStore { --- 120,139 ---- * * <pre> ! * triple(?u,rdfs:subClassOf,?x) :- ! * triple(?u,rdfs:subClassOf,?v), ! * triple(?v,rdf:subClassOf,?x). * </pre> * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ + * + * @todo experiment with use of a bloom filter + * + * @todo provide fixed point transitive closure for "chain" rules (subClassOf) + * + * @todo examine ways to prune the search space and avoid re-triggering rules or + * being more selective with rule triple patterns as a consequence of new + * entailments (avoid re-computing all entailments already proven in each + * pass). */ public class InferenceEngine extends TripleStore { *************** *** 209,212 **** --- 217,222 ---- * * @see #rdfType and friends which are initialized by this method. + * + * @todo make this into a batch operation. */ protected void setupIds() { *************** *** 309,312 **** --- 319,325 ---- * big win for the batch oriented parser and would probably eliminate * even more duplicates in the context of the inference engine. + * + * @todo support closure of a document against an ontology and then bulk + * load the result into the store. */ public void fullForwardClosure() { *************** *** 395,401 **** + ", entailments=" + nnew + ", #stmts1=" + ruleStats.stmts1 + ", #stmts2=" ! + ruleStats.stmts2 + ", #stmtsExaminedPerSec=" ! + stmtsPerSec ! ); } --- 408,414 ---- + ", entailments=" + nnew + ", #stmts1=" + ruleStats.stmts1 + ", #stmts2=" ! + ruleStats.stmts2 + ", #subqueries=" ! + ruleStats.numSubqueries ! + ", #stmtsExaminedPerSec=" + stmtsPerSec); } *************** *** 473,476 **** --- 486,490 ---- log.info("Computed closure of store in " + + round + " rounds and " + elapsed + "ms yeilding " --- AbstractRuleRdfs68101213.java DELETED --- --- NEW FILE: AbstractRuleRdfs_2_3_7_9.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ package com.bigdata.rdf.inf; import java.util.Arrays; import com.bigdata.rdf.KeyOrder; public abstract class AbstractRuleRdfs_2_3_7_9 extends AbstractRuleRdf { public AbstractRuleRdfs_2_3_7_9 ( InferenceEngine store, Triple head, Pred[] body ) { super( store, head, body ); } public Stats apply( final Stats stats, final SPOBuffer buffer) { final long computeStart = System.currentTimeMillis(); // in SPO order. SPO[] stmts1 = getStmts1(); stats.stmts1 += stmts1.length; /* For example, rdfs7: * * triple(?u,?b,?y) :- * triple(?a,rdfs:subPropertyOf,?b), * triple(?u,?a,?y). */ /* * Subquery is one bound: ?u:a:?y. * * Since stmt1.s := stmt2.p, we only execute N distinct subqueries for N * distinct values of stmt1.s. This works because stmts1 is in SPO * order, so the subject values are clustered into an ascending order. * * Note: I have observed very little or _possibly_ a slight negative * impact on performance from the attempt to reuse subqueries for the * same subject. Presumably this is because the subjects are already * mostly distinct, so we just pay for the cost of sorting them and do * not normally get a reduction in the #of subqueries. The alternative * is to have getStmts1() return the statements without sorting them so * that they will be in POS order since that is the index that we are * querying. The conditional tests on lastS here are still Ok, it is * just much less likely that we will ever reuse a subquery. */ long lastS = NULL; SPO[] stmts2 = null; for (int i = 0; i < stmts1.length; i++) { SPO stmt1 = stmts1[i]; if(lastS==NULL || lastS!=stmt1.s) { lastS = stmt1.s; // Subquery on the POS index using stmt2.p := stmt1.s. stmts2 = getStmts2(stmt1); stats.stmts2 += stmts2.length; stats.numSubqueries++; } for (int j = 0; j < stmts2.length; j++) { buffer.add(buildStmt3(stmt1, stmts2[j])); stats.numComputed++; } } stats.computeTime += System.currentTimeMillis() - computeStart; return stats; } /** * The default behavior is to use POS index to match body[0] with one bound * (the predicate). The statements are buffered and then sorted into SPO * order. */ final protected SPO[] getStmts1() { // use the POS index to look up the matches for body[0], the more // constrained triple byte[] fromKey = store.keyBuilder.statement2Key(body[0].p.id, NULL, NULL); byte[] toKey = store.keyBuilder.statement2Key(body[0].p.id + 1, NULL, NULL); SPO[] stmts = store.getStatements(store.getPOSIndex(), KeyOrder.POS, fromKey, toKey); /* * Sort into SPO order. * * Note: you can comment this out to compare with POS order. The JOIN * is still correct, but the logic to reuse subqueries in apply() is * mostly defeated when the statements are not sorted into SPO order. */ Arrays.sort(stmts,SPOComparator.INSTANCE); return stmts; } /** * A one bound subquery using the POS index with the subject of stmt1 as the * predicate of body[1]. The object and subject positions in the subquery * are unbound. * * @see RuleRdfs09#getStmts2(SPO) */ protected SPO[] getStmts2(SPO stmt1) { /* * The subject from stmt1 is in the predicate position for this query. */ byte[] fromKey = store.keyBuilder.statement2Key(stmt1.s, NULL, NULL); byte[] toKey = store.keyBuilder.statement2Key(stmt1.s + 1, NULL, NULL); return store.getStatements(store.getPOSIndex(), KeyOrder.POS, fromKey, toKey); } protected abstract SPO buildStmt3( SPO stmt1, SPO stmt2 ); } --- NEW FILE: AbstractRuleRdfs_5_11.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ package com.bigdata.rdf.inf; import java.util.Arrays; import com.bigdata.rdf.KeyOrder; import com.bigdata.rdf.TripleStore; /** * Abstract rule for chain triple patterns where the object position in the * first triple pattern is the same variable as the subject position in the * second triple pattern and where the predicate is bound to the same constant * for both triple patterns and also appears in the predicate position in the * entailed triple. * * <pre> * triple(?u,C,?x) :- * triple(?u,C,?v), * triple(?v,C,?x). * </pre> * * where C is a constant. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ public class AbstractRuleRdfs_5_11 extends AbstractRuleRdf { public AbstractRuleRdfs_5_11 ( InferenceEngine store, Triple head, Pred[] body ) { super( store, head, body ); } public Stats apply( final Stats stats, SPOBuffer buffer) { final long computeStart = System.currentTimeMillis(); // the predicate is fixed for all parts of the rule. final long p = head.p.id; // the key for that predicate. final byte[] pkey = store.keyBuilder.statement2Key(p, 0, 0); // the successor of that key. final byte[] pkey1 = store.keyBuilder.statement2Key(p+1, 0, 0); /* * Query for the 1st part of the rule. * * Note that it does not matter which half of the rule we execute * first since they are both 2-unbound with the same predicate bound * and will therefore have exactly the same results. * * Further note that we can perform a self-join on the returned * triples without going back to the database. */ // in POS order. final SPO[] stmts1 = store.getStatements(store.getPOSIndex(), KeyOrder.POS, pkey, pkey1); stats.stmts1 += stmts1.length; // in SPO order. Arrays.sort(stmts1,SPOComparator.INSTANCE); // a clone of the answer set // SPO[] stmts2 = stmts1.clone(); // final SPO[] stmts2 = stmts1; // stats.stmts2 += stmts2.length; // self-join using binary search. for (int i = 0; i < stmts1.length; i++) { SPO left = stmts1[i]; // printStatement(stmts1[i]); /* * Search for the index of the first statement having left.s as its * subject. Note that the object is NULL, so this should always * return a negative index which we then convert to the insert * position. The insert position is the first index at which a * matching statement would be found. We then scan statements from * that point. As soon as there is no match (and it may be that * there is no match even on the first statement tested) we break * out of the inner loop and continue with the outer loop. */ int j = Arrays.binarySearch(stmts1, new SPO(left.o, p, TripleStore.NULL), SPOComparator.INSTANCE); if (j < 0) { // Convert the position to obtain the insertion point. j = -j - 1; } // process only the stmts with left.s as their subject. for (; j < stmts1.length; j++) { if (left.o != stmts1[j].s) break; buffer.add(new SPO(left.s, p, stmts1[j].o)); stats.numComputed++; } } stats.computeTime += System.currentTimeMillis() - computeStart; return stats; } } Index: Rule.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/Rule.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Rule.java 14 Apr 2007 13:33:51 -0000 1.6 --- Rule.java 18 Apr 2007 17:29:07 -0000 1.7 *************** *** 46,49 **** --- 46,50 ---- import com.bigdata.btree.BTree; import com.bigdata.rdf.TempTripleStore; + import com.bigdata.rdf.TripleStore; *************** *** 86,89 **** --- 87,98 ---- final public Pred[] body; + /** + * The 64-bit long integer that represents an unassigned term identifier + * + * @todo use this throughout rather than "0" since the value should really + * be an <em>unsigned long</em>. + */ + final public long NULL = TripleStore.NULL; + public Rule(InferenceEngine store, Pred head, Pred[] body) { *************** *** 146,149 **** --- 155,166 ---- /** + * If the rule performs a JOIN, this is the #of distinct queries that + * are made for the 2nd triple pattern. For some rules, we can reorder + * the results from the first triple pattern in order to reduce the #of + * subqueries. + */ + public int numSubqueries; + + /** * #of statements considered. */ Index: RuleRdfs10.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs10.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs10.java 31 Jan 2007 04:11:50 -0000 1.1 --- RuleRdfs10.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 44,48 **** package com.bigdata.rdf.inf; ! public class RuleRdfs10 extends AbstractRuleRdfs68101213 { public RuleRdfs10(InferenceEngine store, Var u, Var v, Var x) { --- 44,48 ---- package com.bigdata.rdf.inf; ! public class RuleRdfs10 extends AbstractRuleRdfs_6_8_10_12_13 { public RuleRdfs10(InferenceEngine store, Var u, Var v, Var x) { Index: RuleRdfs11.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs11.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RuleRdfs11.java 14 Apr 2007 13:33:51 -0000 1.4 --- RuleRdfs11.java 18 Apr 2007 17:29:07 -0000 1.5 *************** *** 55,59 **** * </pre> */ ! public class RuleRdfs11 extends AbstractRuleRdfs511 { public RuleRdfs11(InferenceEngine store,Var u, Var v, Var x) { --- 55,59 ---- * </pre> */ ! public class RuleRdfs11 extends AbstractRuleRdfs_5_11 { public RuleRdfs11(InferenceEngine store,Var u, Var v, Var x) { --- NEW FILE: AbstractRuleRdfs_6_8_10_12_13.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ package com.bigdata.rdf.inf; import com.bigdata.btree.IEntryIterator; import com.bigdata.rdf.KeyOrder; public class AbstractRuleRdfs_6_8_10_12_13 extends AbstractRuleRdf { public AbstractRuleRdfs_6_8_10_12_13 ( InferenceEngine store, Triple head, Triple body ) { super(store, head, new Pred[] { body }); } public Stats apply( final Stats stats, final SPOBuffer buffer) { final long computeStart = System.currentTimeMillis(); byte[] startKey = store.keyBuilder.statement2Key ( body[0].p.id, body[0].o.id, 0 ); byte[] endKey = store.keyBuilder.statement2Key ( body[0].p.id, body[0].o.id+1, 0 ); IEntryIterator it = store.getPOSIndex().rangeIterator(startKey, endKey); while ( it.hasNext() ) { it.next(); stats.stmts1++; SPO stmt = new SPO(KeyOrder.POS, store.keyBuilder, it.getKey()); // @todo review -- should this be substituting stmt.s in each case? long _s = head.s.isVar() ? stmt.s : head.s.id; long _p = head.p.isVar() ? stmt.s : head.p.id; long _o = head.o.isVar() ? stmt.s : head.o.id; buffer.add( new SPO(_s, _p, _o) ); stats.numComputed++; } stats.computeTime += System.currentTimeMillis() - computeStart; return stats; } } Index: RuleRdfs03.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/inf/RuleRdfs03.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** RuleRdfs03.java 31 Jan 2007 15:52:54 -0000 1.1 --- RuleRdfs03.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 46,50 **** ! public class RuleRdfs03 extends AbstractRuleRdfs2379 { public RuleRdfs03( InferenceEngine store, Var a, Var x, Var u, Var v ) { --- 46,50 ---- ! public class RuleRdfs03 extends AbstractRuleRdfs_2_3_7_9 { public RuleRdfs03( InferenceEngine store, Var a, Var x, Var u, Var v ) { |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:13
|
Update of /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/sail In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/java/com/bigdata/rdf/sail Modified Files: SimpleRdfRepository.java Added Files: .cvsignore Options.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: SimpleRdfRepository.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/sail/SimpleRdfRepository.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SimpleRdfRepository.java 14 Apr 2007 13:49:58 -0000 1.3 --- SimpleRdfRepository.java 18 Apr 2007 17:29:07 -0000 1.4 *************** *** 51,57 **** --- 51,62 ---- import java.io.IOException; import java.util.ArrayList; + import java.util.HashSet; + import java.util.Hashtable; + import java.util.Iterator; + import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Properties; + import java.util.Set; import java.util.Vector; *************** *** 73,78 **** --- 78,94 ---- import org.openrdf.sesame.sail.SailUpdateException; import org.openrdf.sesame.sail.StatementIterator; + import org.openrdf.sesame.sail.query.BooleanExpr; + import org.openrdf.sesame.sail.query.DirectSubClassOf; + import org.openrdf.sesame.sail.query.DirectSubPropertyOf; + import org.openrdf.sesame.sail.query.DirectType; + import org.openrdf.sesame.sail.query.GraphPattern; + import org.openrdf.sesame.sail.query.GraphPatternQuery; + import org.openrdf.sesame.sail.query.PathExpression; import org.openrdf.sesame.sail.query.Query; import org.openrdf.sesame.sail.query.QueryOptimizer; + import org.openrdf.sesame.sail.query.SetOperator; + import org.openrdf.sesame.sail.query.TriplePattern; + import org.openrdf.sesame.sail.query.ValueCompare; + import org.openrdf.sesame.sail.query.ValueExpr; import org.openrdf.sesame.sail.query.Var; import org.openrdf.sesame.sail.util.EmptyStatementIterator; *************** *** 80,86 **** import org.openrdf.sesame.sail.util.SingleStatementIterator; import com.bigdata.btree.IEntryIterator; import com.bigdata.journal.Journal; - import com.bigdata.journal.Options; import com.bigdata.rdf.KeyOrder; import com.bigdata.rdf.TripleStore; --- 96,102 ---- import org.openrdf.sesame.sail.util.SingleStatementIterator; + import com.bigdata.btree.BTree; import com.bigdata.btree.IEntryIterator; import com.bigdata.journal.Journal; import com.bigdata.rdf.KeyOrder; import com.bigdata.rdf.TripleStore; *************** *** 111,115 **** * A custom integration is provided for directly loading data into the triple * store with throughput of 20,000+ triples per second - see ! * {@link #loadData(java.io.File, String, boolean)}. * <p> * <em>THIS CLASS IS NOT THREAD SAFE</em> --- 127,135 ---- * A custom integration is provided for directly loading data into the triple * store with throughput of 20,000+ triples per second - see ! * {@link TripleStore#loadData(File, String, org.openrdf.sesame.constants.RDFFormat, boolean, boolean)}. ! * This method lies outside of the SAIL and does NOT rely on the SAIL ! * "transaction" mechanisms. This method does NOT perform RDFS closure - you ! * must explicitly request that yourself, e.g., by specifying ! * <code>commit:=false</code> and then invoking {@link #fullForwardClosure()}. * <p> * <em>THIS CLASS IS NOT THREAD SAFE</em> *************** *** 134,140 **** protected static final long NULL = TripleStore.NULL; ! private OptimizedValueFactory valueFactory; ! private InferenceEngine tripleStore; ! private Properties properties; private boolean transactionStarted; --- 154,179 ---- protected static final long NULL = TripleStore.NULL; ! protected OptimizedValueFactory valueFactory; ! protected InferenceEngine tripleStore; ! protected Properties properties; ! ! /** ! * When true, the RDFS closure will be maintained. ! */ ! private boolean rdfsClosure; ! ! /** ! * When true, the RDFS closure will be maintained by the <em>SAIL</em> ! * implementation (but not by methods that go around the SAIL). ! */ ! public boolean isRdfsClosure() { ! ! return rdfsClosure; ! ! } ! ! /** ! * When true, a SAIL "transaction" is running. ! */ private boolean transactionStarted; *************** *** 142,146 **** * The implementation object. */ ! public TripleStore getTripleStore() { return tripleStore; --- 181,185 ---- * The implementation object. */ ! public InferenceEngine getTripleStore() { return tripleStore; *************** *** 283,289 **** /** ! * Note: This is not implemented. Since there is only one RdfRepository per ! * persistence store, the easiest way to achive this end is to delete the ! * persistence store and open/create a new one. */ public void clearRepository() throws SailUpdateException { --- 322,328 ---- /** ! * Note: Since there is only one RdfRepository per persistence store, the ! * easiest way to achive this end is to delete the persistence store and ! * open/create a new one. */ public void clearRepository() throws SailUpdateException { *************** *** 291,300 **** assertTransactionStarted(); ! // TODO Auto-generated method stub m_stmtRemoved = true; - throw new UnsupportedOperationException(); - } --- 330,341 ---- assertTransactionStarted(); ! ((BTree)tripleStore.getTermIdIndex()).removeAll(); ! ((BTree)tripleStore.getIdTermIndex()).removeAll(); ! ((BTree)tripleStore.getSPOIndex()).removeAll(); ! ((BTree)tripleStore.getPOSIndex()).removeAll(); ! ((BTree)tripleStore.getOSPIndex()).removeAll(); m_stmtRemoved = true; } *************** *** 367,377 **** /* ! * @todo make closure optional? Is closure required by the Sesame test ! * suite? Mark entailments in the KB using the btree entry value? */ ! tripleStore.fullForwardClosure(); tripleStore.commit(); transactionStarted = false; --- 408,427 ---- /* ! * Optionally compute the full forward closure over the store. ! * ! * @todo In order to handle closure properly we should delete the ! * closure if any statements are removed from the store (the entailments ! * are not explicitly marked so this SAIL does not do this). */ ! if (rdfsClosure) { ! ! tripleStore.fullForwardClosure(); ! ! } tripleStore.commit(); + if(true) tripleStore.dumpStore(); + transactionStarted = false; *************** *** 534,538 **** /** ! * @todo rewrite the join order based on selectivity. */ public Query optimizeQuery(Query query) { --- 584,588 ---- /** ! * */ public Query optimizeQuery(Query query) { *************** *** 543,547 **** */ ! QueryOptimizer.optimizeQuery(query); /* --- 593,605 ---- */ ! // QueryOptimizer.optimizeQuery(query); ! ! /* ! * This variant is based on the Sesame optimizer but it uses range ! * counts to order triple patterns based on their actual selectiveness ! * in the data at the time that the query is run. This can be a big ! * win depending on the query. ! */ ! optimizeQuery2(query); /* *************** *** 557,562 **** --- 615,978 ---- } + + /** + * An attempt to get the Sesame query optimizer to choose the join + * order based on the actual selectivity of the triple patterns. + * + * @param qc + */ + private void optimizeQuery2(Query qc) { + if (qc instanceof GraphPatternQuery) { + GraphPatternQuery gpQuery = (GraphPatternQuery)qc; + _optimizeGraphPattern(gpQuery.getGraphPattern(), new HashSet()); + } + else if (qc instanceof SetOperator) { + SetOperator setOp = (SetOperator)qc; + optimizeQuery( setOp.getLeftArg() ); + optimizeQuery( setOp.getRightArg() ); + } + } + + private void _optimizeGraphPattern(GraphPattern graphPattern, Set boundVars) { + // Optimize any optional child graph patterns: + Iterator iter = graphPattern.getOptionals().iterator(); + + if (iter.hasNext()) { + // Build set of variables that are bound in this scope + Set scopeVars = new HashSet(boundVars); + graphPattern.getLocalVariables(scopeVars); + + // Optimize recursively + while (iter.hasNext()) { + GraphPattern optionalGP = (GraphPattern)iter.next(); + _optimizeGraphPattern(optionalGP, new HashSet(scopeVars)); + } + } + + // Optimize the GraphPattern itself: + _inlineVarAssignments(graphPattern); + _orderExpressions(graphPattern, boundVars); + } + + /** + * Inlines as much of the "variable assignments" (comparison between a + * variable and fixed value) that are found in the list of conjunctive + * constraints as possible, and removes them from the query. Only variable + * assignments for variables that are used in <tt>graphPattern</tt> itself + * are processed. Inlining variable assignments for variables that are + * (only) used in optional child graph patterns leads to incorrect query + * evaluation. + **/ + private void _inlineVarAssignments(GraphPattern graphPattern) { + Set localVars = new HashSet(); + graphPattern.getLocalVariables(localVars); + + boolean constraintsModified = false; + + List conjunctiveConstraints = + new ArrayList(graphPattern.getConjunctiveConstraints()); + + Iterator iter = conjunctiveConstraints.iterator(); + + while (iter.hasNext()) { + BooleanExpr boolExpr = (BooleanExpr)iter.next(); + + if (boolExpr instanceof ValueCompare) { + ValueCompare valueCompare = (ValueCompare)boolExpr; + + if (valueCompare.getOperator() != ValueCompare.EQ) { + continue; + } + + ValueExpr arg1 = valueCompare.getLeftArg(); + ValueExpr arg2 = valueCompare.getRightArg(); + + Var varArg = null; + Value value = null; + + if (arg1 instanceof Var && arg1.getValue() == null && // arg1 is an unassigned var + arg2.getValue() != null) // arg2 has a value + { + varArg = (Var)arg1; + value = arg2.getValue(); + } + else if (arg2 instanceof Var && arg2.getValue() == null && // arg2 is an unassigned var + arg1.getValue() != null) // arg1 has a value + { + varArg = (Var)arg2; + value = arg1.getValue(); + } + + if (varArg != null && localVars.contains(varArg)) { + // Inline this variable assignment + varArg.setValue(value); + + // Remove the (now redundant) constraint + iter.remove(); + + constraintsModified = true; + } + } + } + + if (constraintsModified) { + graphPattern.setConstraints(conjunctiveConstraints); + } + } + + /** + * Merges the boolean constraints and the path expressions in one single + * list. The order of the path expressions is not changed, but the boolean + * constraints are inserted between them. The separate boolean constraints + * are moved to the start of the list as much as possible, under the + * condition that all variables that are used in the constraint are + * instantiated by the path expressions that are earlier in the list. An + * example combined list might be: + * <tt>[(A,B,C), A != foo:bar, (B,E,F), C != F, (F,G,H)]</tt>. + **/ + private void _orderExpressions(GraphPattern graphPattern, Set boundVars) { + List expressions = new ArrayList(); + List conjunctiveConstraints = new LinkedList(graphPattern.getConjunctiveConstraints()); + + // First evaluate any constraints that don't depend on any variables: + _addVerifiableConstraints(conjunctiveConstraints, boundVars, expressions); + + // Then evaluate all path expressions from graphPattern + List pathExpressions = new LinkedList(graphPattern.getPathExpressions()); + Hashtable<PathExpression,Integer> rangeCounts = new Hashtable<PathExpression, Integer>(); + while (!pathExpressions.isEmpty()) { + PathExpression pe = _getMostSpecificPathExpression(pathExpressions, boundVars, rangeCounts); + + pathExpressions.remove(pe); + expressions.add(pe); + + pe.getVariables(boundVars); + + _addVerifiableConstraints(conjunctiveConstraints, boundVars, expressions); + } + + // Finally, evaluate any optional child graph pattern lists + List optionals = new LinkedList(graphPattern.getOptionals()); + while (!optionals.isEmpty()) { + PathExpression pe = _getMostSpecificPathExpression(optionals, boundVars, rangeCounts); + + optionals.remove(pe); + expressions.add(pe); + + pe.getVariables(boundVars); + + _addVerifiableConstraints(conjunctiveConstraints, boundVars, expressions); + } + + // All constraints should be verifiable when all path expressions are + // evaluated, but add any remaining constraints anyway + expressions.addAll(conjunctiveConstraints); + + graphPattern.setExpressions(expressions); + } + + /** + * Gets the most specific path expression from <tt>pathExpressions</tt> + * given that the variables in <tt>boundVars</tt> have already been assigned + * values. The most specific path expressions is the path expression with + * the least number of unbound variables. + **/ + private PathExpression _getMostSpecificPathExpression( + List pathExpressions, Set boundVars, Hashtable<PathExpression,Integer> rangeCounts) + { + int minVars = Integer.MAX_VALUE; + int minRangeCount = Integer.MAX_VALUE; + PathExpression result = null; + ArrayList vars = new ArrayList(); + + for (int i = 0; i < pathExpressions.size(); i++) { + PathExpression pe = (PathExpression)pathExpressions.get(i); + + /* + * The #of results for this PathException or -1 if not a + * TriplePattern. + * + * @todo if zero (0), then at least order it first. + */ + int rangeCount = getRangeCount(pe,rangeCounts); + + // Get the variables that are used in this path expression + vars.clear(); + pe.getVariables(vars); + + // Count unbound variables + int varCount = 0; + for (int j = 0; j < vars.size(); j++) { + Var var = (Var)vars.get(j); + + if (!var.hasValue() && !boundVars.contains(var)) { + varCount++; + } + } + + // A bit of hack to make sure directType-, directSubClassOf- and + // directSubPropertyOf patterns get sorted to the back because these + // are potentially more expensive to evaluate. + if (pe instanceof DirectType || + pe instanceof DirectSubClassOf || + pe instanceof DirectSubPropertyOf) + { + varCount++; + } + + if (rangeCount != -1) { + // rangeCount is known for this path expression. + if (rangeCount < minRangeCount) { + // More specific path expression found + minRangeCount = rangeCount; + result = pe; + } + } else { + // rangeCount is NOT known. + if (varCount < minVars) { + // More specific path expression found + minVars = varCount; + result = pe; + } + } + } + + return result; + } + + /** + * Estimate the #of results for a triple pattern. + * + * @param pe + * @param rangeCounts + * + * @return The estimated range count or <code>-1</code> if this is not a + * {@link TriplePattern}. + */ + private int getRangeCount(PathExpression pe,Hashtable<PathExpression,Integer> rangeCounts) { + + Integer rangeCount = rangeCounts.get(pe); + + if(rangeCount!=null) { + + return rangeCount; + + } + + if(pe instanceof TriplePattern) { + + TriplePattern tp = (TriplePattern)pe; + + rangeCount = rangeCount(tp); + + System.err.println("rangeCount: " + rangeCount + " : " + pe); + + rangeCounts.put(pe,rangeCount); + + return rangeCount.intValue(); + + } else { + + return -1; + + } + + } + + private int rangeCount(TriplePattern tp) { + + /* + * Extract "variables". If hasValue() is true, then the variable is + * actually bound. + */ + Var svar = tp.getSubjectVar(); + Var pvar = tp.getPredicateVar(); + Var ovar = tp.getObjectVar(); + + /* + * Extract binding for variable or null iff not bound. + */ + Resource s = svar.hasValue()?(Resource)svar.getValue():null; + + URI p = pvar.hasValue()?(URI)pvar.getValue():null; + + Value o = ovar.hasValue()?ovar.getValue():null; + + /* + * convert other Value object types to our object types. + */ + if (s != null) + s = (Resource) valueFactory.toNativeValue(s); + + if (p != null) + p = (URI) valueFactory.toNativeValue(p); + + if (o != null) + o = (Value) valueFactory.toNativeValue(o); + + /* + * convert our object types to internal identifiers. + */ + long _s, _p, _o; + + _s = (s == null ? NULL : tripleStore.getTermId(s)); + _p = (p == null ? NULL : tripleStore.getTermId(p)); + _o = (o == null ? NULL : tripleStore.getTermId(o)); + + /* + * If a value was specified and it is not in the terms index then the + * statement can not exist in the KB. + */ + if (_s == NULL && s != null) { + + return 0; + + } + + if (_p == NULL && p != null) { + + return 0; + + } + + if (_o == NULL && o != null) { + + return 0; + + } + + return tripleStore.rangeCount(_s, _p, _o); + + } /** + * Adds all verifiable constraints (constraint for which every variable has + * been bound to a specific value) from <tt>conjunctiveConstraints</tt> to + * <tt>expressions</tt>. + * + * @param conjunctiveConstraints A List of BooleanExpr objects. + * @param boundVars A Set of Var objects that have been bound. + * @param expressions The list to add the verifiable constraints to. + **/ + private void _addVerifiableConstraints( + List conjunctiveConstraints, Set boundVars, List expressions) + { + Iterator iter = conjunctiveConstraints.iterator(); + + while (iter.hasNext()) { + BooleanExpr constraint = (BooleanExpr)iter.next(); + + Set constraintVars = new HashSet(); + constraint.getVariables(constraintVars); + + if (boundVars.containsAll(constraintVars)) { + // constraint can be verified + expressions.add(constraint); + iter.remove(); + } + } + } + + /** * Replace all {@link Value} objects stored in variables with the * corresponding {@link _Value} objects. *************** *** 654,659 **** * selection of this option is NOT restart safe (it is not saved * in the store). - * - * @see #loadData(File, String, boolean) */ public void initialize(Map configParams) throws SailInitializationException { --- 1070,1073 ---- *************** *** 661,664 **** --- 1075,1095 ---- properties = PropertyUtil.flatCopy(PropertyUtil.convert(configParams)); + String val; + + val = properties.getProperty(Options.RDFS_CLOSURE); + + if (val != null) { + + rdfsClosure = Boolean.parseBoolean(val); + + } else { + + // No closure by default. + rdfsClosure = false; + + } + + System.err.println(Options.RDFS_CLOSURE+"="+rdfsClosure); + valueFactory = new OptimizedValueFactory(); *************** *** 681,713 **** } ! /** ! * Uses a fast batch loader to load the data into the store. ! * <p> ! * This method lies outside of the SAIL and does not rely on the SAIL ! * "transaction" mechanisms. ! * ! * @param file ! * The file containing the data. ! * @param baseURI ! * The base URI (optional). ! * @param commit ! * When true, the store will be committed after the data load ! * (you can use false here if you will lots of small files in ! * sequence). ! */ ! public void loadData(File file, String baseURI, boolean commit) ! throws IOException { ! ! tripleStore.loadData(file, baseURI, commit); ! ! } /** ! * Computes the closure of the triple store for RDFS entailments. This ! * implementation computes the full forward closure of the store and then ! * commits the store. Since incremental closure and truth maintenance are ! * NOT supported, you should load all your data into store using ! * {@link #loadData(File, String, boolean)} and then invoke this method to ! * compute the RDFS entailments. * <p> * This method lies outside of the SAIL and does not rely on the SAIL --- 1112,1149 ---- } ! // /** ! // * Uses a fast batch loader to load the data into the store. ! // * <p> ! // * This method lies outside of the SAIL and does not rely on the SAIL ! // * "transaction" mechanisms. ! // * <p> ! // * This method does NOT perform RDFS closure - you must explicitly request ! // * that yourself, e.g., by specifying <code>commit:=false</code> here and ! // * then invoking {@link #fullForwardClosure()}. ! // * ! // * @param file ! // * The file containing the data. ! // * @param baseURI ! // * The base URI (optional). ! // * @param commit ! // * When true, the store will be committed after the data load ! // * (you can use false here if you will lots of small files in ! // * sequence). ! // */ ! // public void loadData(File file, String baseURI, boolean commit) ! // throws IOException { ! // ! // tripleStore.loadData(file, baseURI, commit); ! // ! // } /** ! * Computes the closure of the triple store for RDFS entailments. ! * <p> ! * This computes the full forward closure of the store and then commits the ! * store. Since incremental closure and truth maintenance are NOT supported, ! * you should load all your data into store using ! * {@link TripleStore#loadData(File, String, org.openrdf.sesame.constants.RDFFormat, boolean, boolean)} ! * and then invoke this method to compute the RDFS entailments. * <p> * This method lies outside of the SAIL and does not rely on the SAIL --- NEW FILE: .cvsignore --- SimpleRdfsRepository.java --- NEW FILE: Options.java --- /** The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: */ /* * Created on Apr 17, 2007 */ package com.bigdata.rdf.sail; import com.bigdata.rdf.TripleStore; /** * Additional parameters understood by the Sesame 1.x SAIL implementation. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> * @version $Id$ */ public class Options extends com.bigdata.journal.Options { /** * This optional boolean property may be used to specify whether or not RDFS * entailments are maintained by eager closure of the knowledge base * (default false). */ public static final String RDFS_CLOSURE = "rdfsClosure"; } |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:12
|
Update of /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/java/com/bigdata/rdf Modified Files: TripleStore.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TripleStore.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/java/com/bigdata/rdf/TripleStore.java,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** TripleStore.java 15 Apr 2007 18:15:55 -0000 1.30 --- TripleStore.java 18 Apr 2007 17:29:08 -0000 1.31 *************** *** 55,59 **** --- 55,61 ---- import java.io.Reader; import java.util.Arrays; + import java.util.HashMap; import java.util.Locale; + import java.util.Map; import java.util.Properties; import java.util.UUID; *************** *** 64,67 **** --- 66,75 ---- import org.openrdf.model.URI; import org.openrdf.model.Value; + import org.openrdf.rio.Parser; + import org.openrdf.sesame.constants.RDFFormat; + import org.openrdf.vocabulary.OWL; + import org.openrdf.vocabulary.RDF; + import org.openrdf.vocabulary.RDFS; + import org.openrdf.vocabulary.XmlSchema; import com.bigdata.btree.BTree; *************** *** 97,100 **** --- 105,110 ---- * A triple store based on the <em>bigdata</em> architecture. * + * @todo verify that re-loading the same data does not cause index writes. + * * @todo Refactor to support transactions and concurrent load/query and test * same. *************** *** 406,409 **** --- 416,425 ---- keyBuilder = new RdfKeyBuilder(_keyBuilder); + // setup namespace mapping for serialization utility methods. + addNamespace(RDF.NAMESPACE, "rdf"); + addNamespace(RDFS.NAMESPACE, "rdfs"); + addNamespace(OWL.NAMESPACE, "owl"); + addNamespace(XmlSchema.NAMESPACE, "xsd"); + } *************** *** 555,561 **** getSPOIndex().insert(keyBuilder.statement2Key(_s, _p, _o),null); getPOSIndex().insert(keyBuilder.statement2Key(_p, _o, _s),null); ! getOSPIndex().insert(keyBuilder.statement2Key(_p, _s, _p),null); } /** --- 571,598 ---- getSPOIndex().insert(keyBuilder.statement2Key(_s, _p, _o),null); getPOSIndex().insert(keyBuilder.statement2Key(_p, _o, _s),null); ! getOSPIndex().insert(keyBuilder.statement2Key(_o, _s, _p),null); } + + /* + * @todo move this serialization stuff into a utility class. + */ + + // namespace to prefix. + private final Map<String, String> uriToPrefix = new HashMap<String, String>(); + + /** + * Defines a transient mapping from a URI to a namespace prefix that will be + * used for that URI by {@link #toString()}. + * + * @param namespace + * + * @param prefix + */ + protected void addNamespace(String namespace, String prefix) { + + uriToPrefix.put(namespace, prefix); + + } /** *************** *** 566,591 **** IIndex ndx = getIdTermIndex(); ! URI s1 = (URI) ndx.lookup(keyBuilder.id2key(s)); URI p1 = (URI) ndx.lookup(keyBuilder.id2key(p)); ! URI o1 = (URI) ndx.lookup(keyBuilder.id2key(o)); ! return ("< "+abbrev(s1)+", "+abbrev(p1)+", "+abbrev(o1)+" >"); } ! // @todo substitute in well know namespaces (rdf, rdfs, etc). private String abbrev( URI uri ) { ! String t = uri.getURI(); ! int index = t.lastIndexOf('#'); ! if(index==-1) return t; ! return t.substring(index); } /** --- 603,674 ---- IIndex ndx = getIdTermIndex(); ! Resource s1 = (Resource) ndx.lookup(keyBuilder.id2key(s)); URI p1 = (URI) ndx.lookup(keyBuilder.id2key(p)); ! Value o1 = (Value) ndx.lookup(keyBuilder.id2key(o)); ! return ("< " + (s1 instanceof URI ? abbrev((URI) s1) : s1) + ", " ! + abbrev(p1) + ", " ! + (o1 instanceof URI ? abbrev((URI) o1) : o1) + " >"); } ! /** ! * Substitutes in well know namespaces (rdf, rdfs, etc). ! */ private String abbrev( URI uri ) { ! String uriString = uri.getURI(); ! // final int index = uriString.lastIndexOf('#'); ! // ! // if(index==-1) return uriString; ! // ! // final String namespace = uriString.substring(0, index); ! final String namespace = uri.getNamespace(); ! final String prefix = uriToPrefix.get(namespace); ! ! if(prefix != null) { ! ! return prefix+":"+uri.getLocalName(); ! ! } else return uriString; } + + /** + * Utility method dumps the statements in the store onto {@link System#err} + * using the SPO index (subject order). + */ + public void dumpStore() { + + final int nstmts = getStatementCount(); + + System.err.println("#statements="+nstmts); + + IEntryIterator itr = getSPOIndex().rangeIterator(null, null); + + int i = 0; + + while (itr.hasNext()) { + + itr.next(); + + i++; + + SPO spo = new SPO(KeyOrder.SPO,keyBuilder,itr.getKey()); + + System.err.println("#" + i + "\t" + toString(spo.s, spo.p, spo.o)); + + } + + } + + /* + * + */ /** *************** *** 864,869 **** * @return The #of statements removed. * ! * @todo the {@link #keyBuilder} is, which means that this is NOT thread ! * safe. * * @todo this is not using the batch btree api. --- 947,952 ---- * @return The #of statements removed. * ! * @todo the {@link #keyBuilder} is being used, which means that this is NOT ! * thread safe. * * @todo this is not using the batch btree api. *************** *** 883,887 **** getSPOIndex().remove(key); ! return 1; --- 966,972 ---- getSPOIndex().remove(key); ! getPOSIndex().remove(keyBuilder.statement2Key(_p, _o, _s)); ! getOSPIndex().remove(keyBuilder.statement2Key(_o, _s, _p)); ! return 1; *************** *** 959,962 **** --- 1044,1048 ---- } + } *************** *** 987,990 **** --- 1073,1079 ---- /** * Value used for a "NULL" term identifier. + * + * @todo use this throughout rather than "0" since the value should really + * be an <em>unsigned long</em>). */ public static final long NULL = 0L; *************** *** 1456,1459 **** --- 1545,1550 ---- * @return The pre-assigned termId -or- 0L iff the term is not known to the * database. + * + * @todo cache some well-known values? E.g., this defined by the InferenceEngine. */ public long getTermId(Value value) { *************** *** 1587,1605 **** } - - /** - * Load a file into the triple store. - * - * @param file The file. - * - * @param baseURI The baseURI or "" if none is known. - * - * @throws IOException - */ - public void loadData(File file, String baseURI ) throws IOException { - - loadData(file,baseURI,true); - - } /** --- 1678,1681 ---- *************** *** 1639,1660 **** } /** ! * Load a file into the triple store. * * @param file * The file. * @param baseURI ! * The baseURI or "" if none is known. * @param commit * A {@link #commit()} will be performed IFF true. * ! * @return Statistics about the file load operation. * - * @todo add a parameter for the batch size. large buffers for lots of small - * files probably means lots of heap churn. - * * @throws IOException */ ! public LoadStats loadData(File file, String baseURI, boolean commit ) throws IOException { final long begin = System.currentTimeMillis(); --- 1715,1754 ---- } + // /** + // * Load a file into the triple store. + // * + // * @param file The file. + // * + // * @param baseURI The baseURI or "" if none is known. + // * + // * @throws IOException + // */ + // public void loadData(File file, String baseURI ) throws IOException { + // + // loadData(file,baseURI,true); + // + // } + /** ! * Load data into the triple store. * * @param file * The file. * @param baseURI ! * The baseURI or <code>""</code> if none is known. ! * @param rdfFormat ! * The RDF interchange syntax to be parsed. ! * @param verifyData ! * Controls the {@link Parser#setVerifyData(boolean)} option. * @param commit * A {@link #commit()} will be performed IFF true. * ! * @return Statistics about the data load operation. * * @throws IOException + * if there is a problem when parsing the data. */ ! public LoadStats loadData(File file, String baseURI, RDFFormat rdfFormat, ! boolean verifyData, boolean commit) throws IOException { final long begin = System.currentTimeMillis(); *************** *** 1664,1671 **** log.debug( "loading: " + file.getAbsolutePath() ); ! Reader reader = new BufferedReader(new InputStreamReader( ! new FileInputStream(file))); ! ! IRioLoader loader = new PresortRioLoader( this ); loader.addRioLoaderListener( new RioLoaderListener() { --- 1758,1762 ---- log.debug( "loading: " + file.getAbsolutePath() ); ! IRioLoader loader = new PresortRioLoader( this, rdfFormat, verifyData ); loader.addRioLoaderListener( new RioLoaderListener() { *************** *** 1685,1691 **** }); try { ! loader.loadRdfXml( reader, baseURI ); long nstmts = loader.getStatementsAdded(); --- 1776,1790 ---- }); + /* + * @todo change to use correct Parser method depending on Reader vs + * InputStream (SAX Source). Changing this means updating all of + * the parser implementations, not just the PresortRioLoader. + */ + Reader reader = new BufferedReader(new InputStreamReader( + new FileInputStream(file))); + try { ! loader.loadRdf( reader, baseURI ); long nstmts = loader.getStatementsAdded(); |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:12
|
Update of /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/metrics In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/test/com/bigdata/rdf/metrics Modified Files: TestReferenceLoad.java TestMetrics.java TaskATest.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TaskATest.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/metrics/TaskATest.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TaskATest.java 12 Apr 2007 23:59:22 -0000 1.2 --- TaskATest.java 18 Apr 2007 17:29:08 -0000 1.3 *************** *** 55,58 **** --- 55,59 ---- import org.openrdf.sesame.admin.UpdateException; + import org.openrdf.sesame.constants.RDFFormat; import org.openrdf.sesame.sail.RdfSchemaRepository; *************** *** 281,285 **** for(int i=0; i<filename.length; i++) { ! loadStats = store.loadData(new File(filename[i]), baseURI[i], true); } --- 282,288 ---- for(int i=0; i<filename.length; i++) { ! loadStats = store ! .loadData(new File(filename[i]), baseURI[i], ! RDFFormat.RDFXML, false/* verifyData */, true/* commit */); } Index: TestReferenceLoad.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/metrics/TestReferenceLoad.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestReferenceLoad.java 6 Feb 2007 23:06:44 -0000 1.1 --- TestReferenceLoad.java 18 Apr 2007 17:29:08 -0000 1.2 *************** *** 51,54 **** --- 51,56 ---- import java.io.IOException; + import org.openrdf.sesame.constants.RDFFormat; + /** * @author <a href="mailto:tho...@us...">Bryan Thompson</a> *************** *** 76,80 **** for(int i=0; i<files.length; i++) { ! store.loadData(new File(files[i]),""); } --- 78,83 ---- for(int i=0; i<files.length; i++) { ! store.loadData(new File(files[i]), "", RDFFormat.RDFXML, ! false/* verifyData */, false/*commit*/); } Index: TestMetrics.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/metrics/TestMetrics.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TestMetrics.java 29 Mar 2007 17:01:47 -0000 1.4 --- TestMetrics.java 18 Apr 2007 17:29:08 -0000 1.5 *************** *** 61,64 **** --- 61,65 ---- import org.CognitiveWeb.util.PropertyUtil; + import org.openrdf.sesame.constants.RDFFormat; import com.bigdata.rawstore.Bytes; *************** *** 860,864 **** try { ! loadStats = store.loadData(new File(file), "", true); // InputStream rdfStream = new BufferedInputStream( --- 861,867 ---- try { ! loadStats = store ! .loadData(new File(file), "", RDFFormat.RDFXML, ! false/* verifyData */, true/* commit */); // InputStream rdfStream = new BufferedInputStream( |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:12
|
Update of /cvsroot/cweb/bigdata-rdf In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601 Modified Files: .cvsignore Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: .cvsignore =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/.cvsignore,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** .cvsignore 4 Apr 2007 16:51:23 -0000 1.5 --- .cvsignore 18 Apr 2007 17:29:08 -0000 1.6 *************** *** 25,26 **** --- 25,27 ---- test_loadFile_presortRioLoader TestMetrics-metrics* + BBN Triple Store Study |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:11
|
Update of /cvsroot/cweb/bigdata-rdf/src/test In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/test Added Files: .cvsignore Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. --- NEW FILE: .cvsignore --- edu |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:11
|
Update of /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/rio In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/test/com/bigdata/rdf/rio Modified Files: TestRioIntegration.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TestRioIntegration.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/rio/TestRioIntegration.java,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** TestRioIntegration.java 15 Mar 2007 16:11:54 -0000 1.18 --- TestRioIntegration.java 18 Apr 2007 17:29:08 -0000 1.19 *************** *** 50,53 **** --- 50,55 ---- import java.io.Reader; + import org.openrdf.sesame.constants.RDFFormat; + import com.bigdata.journal.BufferMode; import com.bigdata.rawstore.Bytes; *************** *** 189,193 **** // @todo no baseURI here. ! loader.loadRdfXml( reader, "" ); long nstmts = loader.getStatementsAdded(); --- 191,195 ---- // @todo no baseURI here. ! loader.loadRdf( reader, "" ); long nstmts = loader.getStatementsAdded(); *************** *** 243,248 **** public void test_loadFile_presortRioLoader() throws IOException { ! doTest(new PresortRioLoader(store, ! PresortRioLoader.DEFAULT_BUFFER_SIZE, true), testData); assertDataLoaded(); --- 245,249 ---- public void test_loadFile_presortRioLoader() throws IOException { ! doTest(new PresortRioLoader(store), testData); assertDataLoaded(); *************** *** 254,259 **** String[] testData = new String[]{"data/wikipedia/enwiki/20060306.rdf"}; ! doTest(new PresortRioLoader(store, ! PresortRioLoader.DEFAULT_BUFFER_SIZE, true), testData); --- 255,259 ---- String[] testData = new String[]{"data/wikipedia/enwiki/20060306.rdf"}; ! doTest(new PresortRioLoader(store), testData); |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:11
|
Update of /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/sail In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/test/com/bigdata/rdf/sail Modified Files: TestSimpleRdfRepository.java Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. Index: TestSimpleRdfRepository.java =================================================================== RCS file: /cvsroot/cweb/bigdata-rdf/src/test/com/bigdata/rdf/sail/TestSimpleRdfRepository.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TestSimpleRdfRepository.java 12 Apr 2007 23:59:21 -0000 1.1 --- TestSimpleRdfRepository.java 18 Apr 2007 17:29:07 -0000 1.2 *************** *** 61,72 **** import com.bigdata.journal.BufferMode; - import com.bigdata.journal.Options; /** ! * Test suite for {@link SimpleRdfRepository}. * <p> ! * Note: This class has a dependency on the openrdf test suite. If you are not ! * trying to run the test suites, then can simply ignore compile errors in this ! * class. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> --- 61,72 ---- import com.bigdata.journal.BufferMode; /** ! * Test suite for {@link SimpleRdfRepository} that verifies the ! * {@link RdfRepository} implementation (no entailments). * <p> ! * Note: This class has a dependency on the openrdf test suite since it extends ! * a test class defined by that project. If you are not trying to run the test ! * suites, then can simply ignore compile errors in this class. * * @author <a href="mailto:tho...@us...">Bryan Thompson</a> *************** *** 169,177 **** Properties params = new Properties(); - // Map params = System.getProperties(); - // - // // Clone the system properties. - // params = new java.util.HashMap( params ); - // // if(params.get(Options.BUFFER_MODE)==null) { // --- 169,172 ---- *************** *** 183,186 **** --- 178,191 ---- // } + /* + * Note: This test suite requires that the RDFS closure is NOT + * maintained since some of the tests require RDF-only semantics and + * will trip up on the entailments inserted into the RDF model by + * closure, e.g., the axoims. For example, an empty repository is not + * empty after closure. + */ + + params.put(Options.RDFS_CLOSURE, "false"); + try { |
From: Bryan T. <tho...@us...> - 2007-04-18 17:29:11
|
Update of /cvsroot/cweb/bigdata-rdf/src/java In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv22601/src/java Added Files: .cvsignore Log Message: testing SAIL and lubm, including adding BTree#removeAll(), touching up some inferences, making it possible to load different RDF interchange formats, and adding JOIN ordering based on the sesame optimizer and the actual triple pattern selectivity in the data. --- NEW FILE: .cvsignore --- edu sesamewrapper |
From: Bryan T. <tho...@us...> - 2007-04-16 10:45:17
|
Update of /cvsroot/cweb/bigdata/LEGAL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv29238/LEGAL Added Files: log4j-license.txt lgpl-utils-license.txt junit-license.html Log Message: added license files for junit (common public license), log4j (Apache 2.0), and lgpl-utils (LGPL). --- NEW FILE: log4j-license.txt --- Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed 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. --- NEW FILE: junit-license.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <!-- saved from url=(0041)http://www.eclipse.org/legal/cpl-v10.html --> <HTML><HEAD><TITLE>Common Public License - v 1.0</TITLE> <META http-equiv=Content-Type content="text/html; charset=ISO-8859-1"> <META content="MSHTML 6.00.2900.3059" name=GENERATOR></HEAD> <BODY vLink=#800000 bgColor=#ffffff> <P align=center><B>Common Public License - v 1.0</B> <P><B></B><FONT size=3></FONT> <P><FONT size=3></FONT><FONT size=2>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT> <P><FONT size=2></FONT> <P><FONT size=2><B>1. DEFINITIONS</B></FONT> <P><FONT size=2>"Contribution" means:</FONT> <UL><FONT size=2>a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR clear=left>b) in the case of each subsequent Contributor:</FONT></UL> <UL><FONT size=2>i) changes to the Program, and</FONT></UL> <UL><FONT size=2>ii) additions to the Program;</FONT></UL> <UL><FONT size=2>where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. </FONT><FONT size=2>A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. </FONT><FONT size=2>Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. </FONT></UL> <P><FONT size=2></FONT> <P><FONT size=2>"Contributor" means any person or entity that distributes the Program.</FONT> <P><FONT size=2></FONT><FONT size=2></FONT> <P><FONT size=2>"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. </FONT> <P><FONT size=2></FONT><FONT size=2></FONT> <P><FONT size=2></FONT><FONT size=2>"Program" means the Contributions distributed in accordance with this Agreement.</FONT> <P><FONT size=2></FONT> <P><FONT size=2>"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT> <P><FONT size=2><B></B></FONT> <P><FONT size=2><B>2. GRANT OF RIGHTS</B></FONT> <UL><FONT size=2></FONT><FONT size=2>a) </FONT><FONT size=2>Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT size=2> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT color=#ff0000 size=2> </FONT><FONT size=2>reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL> <UL><FONT size=2></FONT></UL> <UL><FONT size=2></FONT><FONT size=2>b) Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT size=2>Recipient a non-exclusive, worldwide,</FONT><FONT color=#008000 size=2> </FONT><FONT size=2>royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. </FONT></UL> <UL><FONT size=2></FONT></UL> <UL><FONT size=2>c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL> <UL><FONT size=2></FONT></UL> <UL><FONT size=2>d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL> <UL><FONT size=2></FONT></UL> <P><FONT size=2><B>3. REQUIREMENTS</B></FONT> <P><FONT size=2><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT> <UL><FONT size=2>a) it complies with the terms and conditions of this Agreement; and</FONT></UL> <UL><FONT size=2>b) its license agreement:</FONT></UL> <UL><FONT size=2>i) effectively disclaims</FONT><FONT size=2> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL> <UL><FONT size=2>ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL> <UL><FONT size=2>iii)</FONT><FONT size=2> states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL> <UL><FONT size=2>iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT color=#0000ff size=2> </FONT><FONT color=#ff0000 size=2></FONT></UL> <UL><FONT color=#ff0000 size=2></FONT><FONT size=2></FONT></UL> <P><FONT size=2>When the Program is made available in source code form:</FONT> <UL><FONT size=2>a) it must be made available under this Agreement; and </FONT></UL> <UL><FONT size=2>b) a copy of this Agreement must be included with each copy of the Program. </FONT></UL> <P><FONT size=2></FONT><FONT color=#0000ff size=2><STRIKE></STRIKE></FONT> <P><FONT color=#0000ff size=2><STRIKE></STRIKE></FONT><FONT size=2>Contributors may not remove or alter any copyright notices contained within the Program. </FONT> <P><FONT size=2></FONT> <P><FONT size=2>Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. </FONT> <P><FONT size=2></FONT> <P><FONT size=2><B>4. COMMERCIAL DISTRIBUTION</B></FONT> <P><FONT size=2>Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.</FONT> <P><FONT size=2></FONT> <P><FONT size=2>For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT> <P><FONT size=2></FONT><FONT color=#0000ff size=2></FONT> <P><FONT color=#0000ff size=2></FONT><FONT size=2><B>5. NO WARRANTY</B></FONT> <P><FONT size=2>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT size=2> solely responsible for determining the appropriateness of using and distributing </FONT><FONT size=2>the Program</FONT><FONT size=2> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT size=2>, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT size=2>programs or equipment, and unavailability or interruption of operations</FONT><FONT size=2>. </FONT><FONT size=2></FONT> <P><FONT size=2></FONT> <P><FONT size=2></FONT><FONT size=2><B>6. DISCLAIMER OF LIABILITY</B></FONT> <P><FONT size=2></FONT><FONT size=2>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT size=2>(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT size=2> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT> <P><FONT size=2></FONT><FONT size=2></FONT> <P><FONT size=2><B>7. GENERAL</B></FONT> <P><FONT size=2></FONT><FONT size=2>If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT> <P><FONT size=2></FONT> <P><FONT size=2>If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT size=2></FONT> <P><FONT size=2></FONT> <P><FONT size=2>All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. </FONT><FONT size=2></FONT> <P><FONT size=2></FONT> <P><FONT size=2></FONT><FONT size=2>Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT size=2>publish new versions (including revisions) of this Agreement from time to </FONT><FONT size=2>time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. </FONT><FONT size=2>Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT size=2>version. </FONT><FONT size=2>Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT size=2>by implication, estoppel or otherwise</FONT><FONT size=2>.</FONT><FONT size=2> All rights in the Program not expressly granted under this Agreement are reserved.</FONT> <P><FONT size=2></FONT> <P><FONT size=2>This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.</FONT> <P><FONT size=2></FONT><FONT size=2></FONT> <P><FONT size=2></FONT></P></BODY></HTML> --- NEW FILE: lgpl-utils-license.txt --- GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the library's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. <signature of Ty Coon>, 1 April 1990 Ty Coon, President of Vice That's all there is to it! |
From: Bryan T. <tho...@us...> - 2007-04-16 10:40:17
|
Update of /cvsroot/cweb/bigdata/LEGAL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv27203/LEGAL Added Files: cweb-license.txt Log Message: Added the cweb license to the LEGAL directory. --- NEW FILE: cweb-license.txt --- The Notice below must appear in each file of the Source Code of any copy you distribute of the Licensed Product. Contributors to any Modifications may add their own copyright notices to identify their own contributions. License: The contents of this file are subject to the CognitiveWeb Open Source License Version 1.1 (the License). You may not copy or use this file, in either source code or executable form, except in compliance with the License. You may obtain a copy of the License from http://www.CognitiveWeb.org/legal/license/ Software distributed under the License is distributed on an AS IS basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Copyrights: Portions created by or assigned to CognitiveWeb are Copyright (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact information for CognitiveWeb is available at http://www.CognitiveWeb.org Portions Copyright (c) 2002-2003 Bryan Thompson. Acknowledgements: Special thanks to the developers of the Jabber Open Source License 1.0 (JOSL), from which this License was derived. This License contains terms that differ from JOSL. Special thanks to the CognitiveWeb Open Source Contributors for their suggestions and support of the Cognitive Web. Modifications: |
From: Bryan T. <tho...@us...> - 2007-04-16 10:39:00
|
Update of /cvsroot/cweb/bigdata/LEGAL In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv26650/LEGAL Removed Files: startnow-license.txt Log Message: Removed the startnow license (Apache 2.0) since the JAR is no being used. --- startnow-license.txt DELETED --- |
From: Bryan T. <tho...@us...> - 2007-04-16 10:37:24
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/istore In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv26277/src/java/com/bigdata/istore Added Files: package.html Log Message: Added package.html for com.bigdata.istore. --- NEW FILE: package.html --- <html> <head> <title>Object Store</title> </head> <body> <p> This package contains some rough sketches for an Object Store integration with bigdata. The code here is quite out of date and needs to be revisited. </p> </body> </html> |
From: Bryan T. <tho...@us...> - 2007-04-16 10:35:36
|
Update of /cvsroot/cweb/bigdata In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv25521 Modified Files: .cvsignore Removed Files: com_bigdata_btree_BytesUtil.h TODO.txt com_bigdata_btree_BytesUtil_UnsignedByteArrayComparator.h Log Message: Removed generated JNI header files, adding their names to .cvsignore. Removed old TODO.txt, migrating still relevant items to various Java source files. --- com_bigdata_btree_BytesUtil.h DELETED --- Index: .cvsignore =================================================================== RCS file: /cvsroot/cweb/bigdata/.cvsignore,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** .cvsignore 22 Mar 2007 21:11:25 -0000 1.13 --- .cvsignore 16 Apr 2007 10:35:27 -0000 1.14 *************** *** 5,10 **** *.out *.seg ! com_bigdata_objndx_BytesUtil_UnsignedByteArrayComparator.h ! com_bigdata_objndx_BytesUtil.h *.raw2 *.tmp --- 5,10 ---- *.out *.seg ! com_bigdata_btree_BytesUtil_UnsignedByteArrayComparator.h ! com_bigdata_btree_BytesUtil.h *.raw2 *.tmp --- TODO.txt DELETED --- --- com_bigdata_btree_BytesUtil_UnsignedByteArrayComparator.h DELETED --- |
From: Bryan T. <tho...@us...> - 2007-04-16 10:35:36
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/gom In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv25521/src/java/com/bigdata/gom Modified Files: clusterIndices.txt Log Message: Removed generated JNI header files, adding their names to .cvsignore. Removed old TODO.txt, migrating still relevant items to various Java source files. Index: clusterIndices.txt =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/gom/clusterIndices.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** clusterIndices.txt 22 Mar 2007 15:04:16 -0000 1.1 --- clusterIndices.txt 16 Apr 2007 10:35:28 -0000 1.2 *************** *** 1,2 **** --- 1,22 ---- + x. Support distributed link sets so that we can efficiently parallize + link set scans across multiple segments and leverage bigtable row + scans to scan link sets in parallel. Link set jump tables need to + identify the head/tail/count of each segment in the database in + which there are members for that link set. A distributed link set + partitions the link set into a link set generic objects (one per + segment), each of which maintains the link set members for that + segment. A two level iterator can scan the top-level link set and + assign the nexted link sets to workers in a thread pool. With 20 + workers, you can scan 20 segments in parallel. When workers become + free they are assigned to the next nexted link set. All of this + should be more or less transparent. Some declarative options can + be placed on the top-level link set indicating the degree of + scatter that is desired and a data distribution policy. Iterators + of the top level link set will transparently traverse the nexted + link sets. If the iterator is written to perform an operation in + place then we do not even need to send objects or data back to the + client that requested the iterator. + + x. Support schema constraints on link sets and generic objects in GOM. @todo Clustered indices. A clustered index is where the rows are |
From: Bryan T. <tho...@us...> - 2007-04-16 10:35:36
|
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/service In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv25521/src/java/com/bigdata/service Modified Files: DataService.java Log Message: Removed generated JNI header files, adding their names to .cvsignore. Removed old TODO.txt, migrating still relevant items to various Java source files. Index: DataService.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/service/DataService.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** DataService.java 13 Apr 2007 15:04:19 -0000 1.6 --- DataService.java 16 Apr 2007 10:35:28 -0000 1.7 *************** *** 145,150 **** * * @todo all of the interfaces implemented by this class need to extend ! * {@link Remote} in order to be made visible on the proxy object ! * exported by JERI. */ public class DataService implements IDataService, --- 145,162 ---- * * @todo all of the interfaces implemented by this class need to extend ! * {@link Remote} in order to be made visible on the proxy object exported ! * by JERI. ! * ! * @todo Write benchmark test to measure interhost transfer rates. Should be ! * 100Mbits/sec (~12M/sec) on a 100BaseT switched network. With full ! * duplex in the network and the protocol, that rate should be ! * bidirectional. Can that rate be sustained with a fully connected ! * bi-directional transfer? ! * ! * @todo We will use non-blocking I/O for the page transfer protocol. Review ! * options to secure that protocol since we can not use JERI for that ! * purpose. For example, using SSL or an SSH tunnel. For most purposes I ! * expect bigdata to operate on a private network, but replicate across ! * gateways is also a common use case. Do we have to handle it specially? */ public class DataService implements IDataService, |
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/journal In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv13221/src/java/com/bigdata/journal Modified Files: TransientBufferStrategy.java BufferMode.java AbstractBufferStrategy.java RunState.java IJournal.java Name2Addr.java DiskBackedBufferStrategy.java IBufferStrategy.java CommitRecordIndex.java DiskOnlyStrategy.java ITx.java BasicBufferStrategy.java MappedBufferStrategy.java DirectBufferStrategy.java Journal.java IIndexStore.java Log Message: Updates to make the application of the cweb license uniform in preparation for license change to GPL. Index: BufferMode.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/BufferMode.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BufferMode.java 20 Feb 2007 00:27:03 -0000 1.5 --- BufferMode.java 16 Apr 2007 10:02:48 -0000 1.6 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: IJournal.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/IJournal.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** IJournal.java 13 Apr 2007 15:04:23 -0000 1.12 --- IJournal.java 16 Apr 2007 10:02:48 -0000 1.13 *************** *** 1,49 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ ! /* ! * Created on Feb 8, 2007 ! */ package com.bigdata.journal; --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: + */ package com.bigdata.journal; Index: Name2Addr.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/Name2Addr.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** Name2Addr.java 13 Apr 2007 15:04:23 -0000 1.10 --- Name2Addr.java 16 Apr 2007 10:02:48 -0000 1.11 *************** *** 1,6 **** package com.bigdata.journal; import java.io.DataInput; - import java.io.DataOutput; import java.io.IOException; import java.util.HashMap; --- 1,48 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; import java.io.DataInput; import java.io.IOException; import java.util.HashMap; *************** *** 10,14 **** import java.util.UUID; - import org.CognitiveWeb.extser.LongPacker; import org.CognitiveWeb.extser.ShortPacker; --- 52,55 ---- Index: DiskOnlyStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/DiskOnlyStrategy.java,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** DiskOnlyStrategy.java 22 Feb 2007 16:59:34 -0000 1.19 --- DiskOnlyStrategy.java 16 Apr 2007 10:02:48 -0000 1.20 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: CommitRecordIndex.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/CommitRecordIndex.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CommitRecordIndex.java 13 Apr 2007 15:04:23 -0000 1.6 --- CommitRecordIndex.java 16 Apr 2007 10:02:48 -0000 1.7 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: Journal.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/Journal.java,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** Journal.java 22 Mar 2007 21:11:25 -0000 1.63 --- Journal.java 16 Apr 2007 10:02:49 -0000 1.64 *************** *** 1,49 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ ! /* ! * Created on Oct 8, 2006 ! */ package com.bigdata.journal; --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: + */ package com.bigdata.journal; Index: MappedBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/MappedBufferStrategy.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** MappedBufferStrategy.java 22 Feb 2007 16:59:34 -0000 1.10 --- MappedBufferStrategy.java 16 Apr 2007 10:02:48 -0000 1.11 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: ITx.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/ITx.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ITx.java 13 Apr 2007 15:04:23 -0000 1.8 --- ITx.java 16 Apr 2007 10:02:48 -0000 1.9 *************** *** 1,49 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ ! /* ! * Created on Oct 25, 2006 ! */ package com.bigdata.journal; --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: + */ package com.bigdata.journal; Index: DiskBackedBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/DiskBackedBufferStrategy.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** DiskBackedBufferStrategy.java 22 Feb 2007 16:59:34 -0000 1.10 --- DiskBackedBufferStrategy.java 16 Apr 2007 10:02:48 -0000 1.11 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; *************** *** 6,10 **** import java.nio.channels.FileChannel; - /** * Abstract base class for implementations that use a direct buffer as a --- 49,52 ---- Index: RunState.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/RunState.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RunState.java 8 Mar 2007 18:14:06 -0000 1.2 --- RunState.java 16 Apr 2007 10:02:48 -0000 1.3 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: TransientBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/TransientBufferStrategy.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** TransientBufferStrategy.java 22 Feb 2007 16:59:34 -0000 1.10 --- TransientBufferStrategy.java 16 Apr 2007 10:02:48 -0000 1.11 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: AbstractBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/AbstractBufferStrategy.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** AbstractBufferStrategy.java 13 Apr 2007 15:04:23 -0000 1.17 --- AbstractBufferStrategy.java 16 Apr 2007 10:02:48 -0000 1.18 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; *************** *** 9,13 **** import org.apache.log4j.Logger; - import com.bigdata.btree.AbstractBTree; import com.bigdata.rawstore.Addr; import com.bigdata.rawstore.Bytes; --- 52,55 ---- Index: IBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/IBufferStrategy.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** IBufferStrategy.java 27 Mar 2007 17:11:41 -0000 1.17 --- IBufferStrategy.java 16 Apr 2007 10:02:48 -0000 1.18 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; Index: BasicBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/BasicBufferStrategy.java,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** BasicBufferStrategy.java 21 Feb 2007 20:17:21 -0000 1.16 --- BasicBufferStrategy.java 16 Apr 2007 10:02:48 -0000 1.17 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; *************** *** 8,13 **** import com.bigdata.rawstore.Addr; - - /** * Implements logic to read from and write on a buffer. This is sufficient --- 51,54 ---- Index: IIndexStore.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/IIndexStore.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IIndexStore.java 13 Apr 2007 15:04:23 -0000 1.2 --- IIndexStore.java 16 Apr 2007 10:02:49 -0000 1.3 *************** *** 1,49 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ ! /* ! * Created on Oct 25, 2006 ! */ package com.bigdata.journal; --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: + */ package com.bigdata.journal; Index: DirectBufferStrategy.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/journal/DirectBufferStrategy.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** DirectBufferStrategy.java 21 Feb 2007 20:17:21 -0000 1.12 --- DirectBufferStrategy.java 16 Apr 2007 10:02:49 -0000 1.13 *************** *** 1,3 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.journal; |
Update of /cvsroot/cweb/bigdata/src/java/com/bigdata/btree In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv13221/src/java/com/bigdata/btree Modified Files: ConditionalInsertNoValue.java IndexSegmentFileStore.java AbstractKeyBuffer.java ConditionalInsert.java INodeFactory.java BytesUtil.c IndexSegmentMetadata.java MutableKeyBuffer.java BTreeMetadata.java AbstractBTree.java IIndex.java BytesUtil.java Counters.java KeyBuilder.java IndexSegment.java ImmutableKeyBuffer.java KeyBufferSerializer.java IndexSegmentPlan.java IAbstractNode.java Log Message: Updates to make the application of the cweb license uniform in preparation for license change to GPL. Index: IndexSegmentFileStore.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/IndexSegmentFileStore.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IndexSegmentFileStore.java 13 Apr 2007 15:04:13 -0000 1.1 --- IndexSegmentFileStore.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: IndexSegmentPlan.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/IndexSegmentPlan.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IndexSegmentPlan.java 15 Apr 2007 18:17:05 -0000 1.2 --- IndexSegmentPlan.java 16 Apr 2007 10:02:50 -0000 1.3 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: BTreeMetadata.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/BTreeMetadata.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BTreeMetadata.java 13 Apr 2007 15:04:12 -0000 1.1 --- BTreeMetadata.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: MutableKeyBuffer.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/MutableKeyBuffer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** MutableKeyBuffer.java 13 Apr 2007 15:04:12 -0000 1.1 --- MutableKeyBuffer.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: IAbstractNode.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/IAbstractNode.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IAbstractNode.java 13 Apr 2007 15:04:12 -0000 1.1 --- IAbstractNode.java 16 Apr 2007 10:02:50 -0000 1.2 *************** *** 1,49 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ ! /* ! * Created on Dec 15, 2006 ! */ package com.bigdata.btree; --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: + */ package com.bigdata.btree; Index: IndexSegmentMetadata.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/IndexSegmentMetadata.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IndexSegmentMetadata.java 13 Apr 2007 15:04:12 -0000 1.1 --- IndexSegmentMetadata.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: ConditionalInsert.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/ConditionalInsert.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ConditionalInsert.java 13 Apr 2007 15:04:12 -0000 1.1 --- ConditionalInsert.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: ConditionalInsertNoValue.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/ConditionalInsertNoValue.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ConditionalInsertNoValue.java 13 Apr 2007 15:04:13 -0000 1.1 --- ConditionalInsertNoValue.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: BytesUtil.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/BytesUtil.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** BytesUtil.java 13 Apr 2007 17:52:52 -0000 1.5 --- BytesUtil.java 16 Apr 2007 10:02:49 -0000 1.6 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: Counters.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/Counters.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Counters.java 13 Apr 2007 15:04:12 -0000 1.1 --- Counters.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: INodeFactory.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/INodeFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** INodeFactory.java 13 Apr 2007 15:04:13 -0000 1.1 --- INodeFactory.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: AbstractBTree.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/AbstractBTree.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AbstractBTree.java 13 Apr 2007 15:04:12 -0000 1.1 --- AbstractBTree.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,45 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ /* * Created on Dec 19, 2006 --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ /* * Created on Dec 19, 2006 Index: IndexSegment.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/IndexSegment.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IndexSegment.java 13 Apr 2007 15:04:12 -0000 1.1 --- IndexSegment.java 16 Apr 2007 10:02:50 -0000 1.2 *************** *** 1,6 **** package com.bigdata.btree; import java.io.DataInput; - import java.io.DataOutput; import java.io.IOException; --- 1,48 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; import java.io.DataInput; import java.io.IOException; Index: KeyBuilder.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/KeyBuilder.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** KeyBuilder.java 13 Apr 2007 15:04:13 -0000 1.1 --- KeyBuilder.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: ImmutableKeyBuffer.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/ImmutableKeyBuffer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ImmutableKeyBuffer.java 13 Apr 2007 15:04:12 -0000 1.1 --- ImmutableKeyBuffer.java 16 Apr 2007 10:02:50 -0000 1.2 *************** *** 1,5 **** ! package com.bigdata.btree; /** --- 1,46 ---- ! /** ! ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ + package com.bigdata.btree; /** Index: IIndex.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/IIndex.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** IIndex.java 13 Apr 2007 15:04:13 -0000 1.1 --- IIndex.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,49 **** /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: ! */ ! /* ! * Created on Nov 20, 2006 ! */ package com.bigdata.btree; --- 1,45 ---- /** ! The Notice below must appear in each file of the Source Code of any ! copy you distribute of the Licensed Product. Contributors to any ! Modifications may add their own copyright notices to identify their ! own contributions. ! License: ! The contents of this file are subject to the CognitiveWeb Open Source ! License Version 1.1 (the License). You may not copy or use this file, ! in either source code or executable form, except in compliance with ! the License. You may obtain a copy of the License from ! http://www.CognitiveWeb.org/legal/license/ ! Software distributed under the License is distributed on an AS IS ! basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See ! the License for the specific language governing rights and limitations ! under the License. ! Copyrights: ! Portions created by or assigned to CognitiveWeb are Copyright ! (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact ! information for CognitiveWeb is available at ! http://www.CognitiveWeb.org ! Portions Copyright (c) 2002-2003 Bryan Thompson. ! Acknowledgements: ! Special thanks to the developers of the Jabber Open Source License 1.0 ! (JOSL), from which this License was derived. This License contains ! terms that differ from JOSL. ! Special thanks to the CognitiveWeb Open Source Contributors for their ! suggestions and support of the Cognitive Web. ! Modifications: + */ package com.bigdata.btree; Index: BytesUtil.c =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/BytesUtil.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BytesUtil.c 13 Apr 2007 16:29:35 -0000 1.2 --- BytesUtil.c 16 Apr 2007 10:02:49 -0000 1.3 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ /* * This file contains JNI implementations of routines declared by Index: AbstractKeyBuffer.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/AbstractKeyBuffer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** AbstractKeyBuffer.java 13 Apr 2007 15:04:12 -0000 1.1 --- AbstractKeyBuffer.java 16 Apr 2007 10:02:49 -0000 1.2 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; Index: KeyBufferSerializer.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/java/com/bigdata/btree/KeyBufferSerializer.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** KeyBufferSerializer.java 13 Apr 2007 15:04:13 -0000 1.1 --- KeyBufferSerializer.java 16 Apr 2007 10:02:50 -0000 1.2 *************** *** 1,8 **** package com.bigdata.btree; - import java.io.ByteArrayOutputStream; import java.io.DataInput; - import java.io.DataOutput; - import java.io.DataOutputStream; import java.io.IOException; --- 1,48 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.btree; import java.io.DataInput; import java.io.IOException; |
From: Bryan T. <tho...@us...> - 2007-04-16 10:02:54
|
Update of /cvsroot/cweb/bigdata/src/test/com/bigdata/scaleup In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv13221/src/test/com/bigdata/scaleup Modified Files: TestAll.java Log Message: Updates to make the application of the cweb license uniform in preparation for license change to GPL. Index: TestAll.java =================================================================== RCS file: /cvsroot/cweb/bigdata/src/test/com/bigdata/scaleup/TestAll.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** TestAll.java 9 Feb 2007 16:13:18 -0000 1.3 --- TestAll.java 16 Apr 2007 10:02:50 -0000 1.4 *************** *** 1,2 **** --- 1,45 ---- + /** + + The Notice below must appear in each file of the Source Code of any + copy you distribute of the Licensed Product. Contributors to any + Modifications may add their own copyright notices to identify their + own contributions. + + License: + + The contents of this file are subject to the CognitiveWeb Open Source + License Version 1.1 (the License). You may not copy or use this file, + in either source code or executable form, except in compliance with + the License. You may obtain a copy of the License from + + http://www.CognitiveWeb.org/legal/license/ + + Software distributed under the License is distributed on an AS IS + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + the License for the specific language governing rights and limitations + under the License. + + Copyrights: + + Portions created by or assigned to CognitiveWeb are Copyright + (c) 2003-2003 CognitiveWeb. All Rights Reserved. Contact + information for CognitiveWeb is available at + + http://www.CognitiveWeb.org + + Portions Copyright (c) 2002-2003 Bryan Thompson. + + Acknowledgements: + + Special thanks to the developers of the Jabber Open Source License 1.0 + (JOSL), from which this License was derived. This License contains + terms that differ from JOSL. + + Special thanks to the CognitiveWeb Open Source Contributors for their + suggestions and support of the Cognitive Web. + + Modifications: + + */ package com.bigdata.scaleup; |