Permalink
Browse files

initial public commit of 4store

  • Loading branch information...
0 parents commit db54fe911a412a511ddce0a0469ca17555375761 Nick Lamb committed Jul 13, 2009
Showing 472 changed files with 813,902 additions and 0 deletions.
@@ -0,0 +1,3 @@
+*.o
+*.a
+*.dSYM
@@ -0,0 +1,25 @@
+Summary: 4store RDF storage engine and SPARQL query engine
+Name: 4store
+Version: 1.0
+Release: 1
+Source0: %{name}-%{version}.tar.gz
+License: GPLv3+
+Group: Applications/Databases
+BuildRoot: %{_builddir}/%{name}-root
+Prefix: /usr/local
+
+%description
+4store is a distributed RDF storage engine and SPARQL query engine. 4store runs
+on a loose cluster of machines.
+%prep
+%setup -q
+%build
+make %{_smp_mflags}
+%install
+rm -rf %{buildroot}
+make DESTDIR=%{buildroot} install
+%clean
+rm -rf %{buildroot}
+%files
+%defattr(-,root,root)
+/usr/local/bin/
674 COPYING

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,9 @@
+all clean:
+ (cd src && $(MAKE) -w $@)
+
+install:
+ (cd src && $(MAKE) -w $@)
+ (cd man && $(MAKE) -w $@)
+
+test:
+ (cd tests && $(MAKE) -w $@)
38 TODO
@@ -0,0 +1,38 @@
+TODO - last modified 2009-07-06
+
+Predicate limit
+
+ Currently you can only have a number of predicates roughly equal to the
+max number of open files per process. You can increase this in
+/etc/security/limits.conf, but a real fix owuld be better
+
+UNION
+
+ The SPARQL UNION keyword is not that well supported. Simple cases work
+OK, but anything complex, eg. combining UNION with OPTIONAL in complex ways
+typically gives the wrong result. The is a side effect of the way the query
+engine works, and will be difficult to fix. A better solution would be a 2nd,
+slower but simple querye engine that follows the SPARQL spec. closely.
+
+Single client
+
+ Currently the 4store backend server only allow one client to connect at
+any one time. This is down to the simple locking model. It would be possible to
+fix this either by a more sophisiticated locking system, or by allowing
+multiple connections but interleaving operations. Either would be a significant
+ammount of effort.
+
+Rasqal
+
+ 4store only works with version 0.9.15 os rasqal. This wouldn't be too hard
+to fix, but probably wont be easy.
+
+Delete single triples
+
+ 4store currently only supports delete operations on whole graphs, fixing
+that wouldn't be a huge task, but it may impact performance somewhat.
+
+FROM
+
+ There is a basic implementatation in frontend/query.c, but it's
+commented out, as it's not safe to have on by default.
@@ -0,0 +1,13 @@
+@prefix : <foo:> .
+
+:a :esc-test "<&>\"'" .
+:b :esc-newline <http://example.org/\nnewline> .
+:c :esc-angle <http://example.org/\u003Eangle> .
+:d :newline <http://example.org/
+newline> .
+:e :esc-cr <http://example.org/\u000Dcr> .
+:f :tab <http://example.org/ tab> .
+:g :space <http://example.org/ space / space / space /> .
+:h :goat <http://example.org/\U00010052goat> .
+:i :ngeadal <http://example.org/\u168D> .
+
@@ -0,0 +1,3 @@
+<http://example.org/license/GNU/GPL> <http://example.org/license/preamble/> "GNU GENERAL PUBLIC LICENSE\nVersion 2, June 1991\n\nCopyright (C) 1989, 1991 Free Software Foundation, Inc.\n675 Mass Ave, Cambridge, MA 02139, USA\nEveryone is permitted to copy and distribute verbatim copies\nof this license document, but changing it is not allowed.\n\nPreamble\n\nThe licenses for most software are designed to take away your\n freedom to share and change it. By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users. This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it. (Some other Free Software Foundation software is covered by\nthe GNU Library General Public License instead.) You can apply it to\nyour programs, too.\nWhen we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\nTo protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\nFor example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have. You must make sure that they, too, receive or can get the\nsource code. And you must show them these terms so they know their\nrights.\nWe protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\nAlso, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware. If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\nFinally, any free program is threatened constantly by software\npatents. We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary. To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all." .
+<http://example.org/word/a> <http://example.org/definition> "1. The first letter of the alphabet.\n(See Appendix:Roman script)\nApple starts with A.\n2. The highest rank on any of various scales that assign letters.\nWe assign each item inspected a rating from A through G, depending on various factors.\n3. (education) The highest letter grade assigned (disregarding plusses and minuses).\nI was so happy to get an A on that test.\n4. (music) A tone three fifths above C in the cycle of fifths; the sixth tone of the C major scale; the reference tone that occurs at exactly 440 Hz.\nOrchestras traditionally tune to a concert A.\n5. A blood type that has a specific antigen that aggravates the immune response in people with type B antigen in their blood. They may receive blood from type A or type O, but cannot receive blood from AB or B.\nMy blood type is A negative.\n6. (computing) The number 10 in the hexadecimal system. (Generally capitalized.)\nThe value is hexadecimal A0, or decimal 160." .
+<http://example.org/empty> <http://example.org/value> "" .
@@ -0,0 +1,28 @@
+@prefix : <foo:> .
+
+:all :o :a, :b, :c, :d, :e, :f, :g, :h .
+
+:a :esc-test "<&>\"'" .
+:a :lang-test "chat"@fr .
+:a :lang-test "chat"@en-GB .
+:a :dt-test "chat"^^<http://example.org/word> .
+
+:a :p "p1" .
+:b :p "p2" .
+:c :p "p3" .
+:d :p "p4" .
+:e :p "p5a" .
+:e :p "p5b" .
+:e :p "p5c" .
+:f :p "p6" .
+:g :p "p7" .
+:h :p "p8" .
+
+:a :q "q1" .
+:b :q "q2" .
+:c :q "q3" .
+#:d :q "q4" .
+:e :q "q5" .
+#:f :q "q6" .
+:g :q "q7" .
+:h :q "q8" .
@@ -0,0 +1,110 @@
+<?xml version="1.0"?>
+
+<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+ xmlns:owl="http://www.w3.org/2002/07/owl#"
+ xmlns:foaf="http://xmlns.com/foaf/0.1/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:wot="http://xmlns.com/wot/0.1/"
+>
+
+<rdf:Description rdf:about="">
+<wot:assurance rdf:resource="swh.xrdf.asc" />
+<foaf:maker>
+ <foaf:Person rdf:about="mailto:steve@totl.net">
+ <foaf:mbox_sha1sum>44bc4fed584a2d1ac8fc55206db67656165d67fd</foaf:mbox_sha1sum>
+ </foaf:Person>
+</foaf:maker>
+</rdf:Description>
+
+<foaf:Person rdf:about="mailto:steve@totl.net">
+ <foaf:name>Steve Harris</foaf:name>
+ <foaf:title>Mr</foaf:title>
+ <foaf:family_name>Harris</foaf:family_name>
+ <foaf:givenname>Stephen</foaf:givenname>
+ <foaf:nick>swh</foaf:nick>
+ <foaf:someInteger rdf:datatype="http://www.w3.org/2001/XMLSchema#int">123456789</foaf:someInteger>
+ <foaf:someHexNumber rdf:datatype="http://example.org/hex">123deadbeef</foaf:someHexNumber>
+ <foaf:someDecimal>1.12345678</foaf:someDecimal>
+ <foaf:someDecimal>1000017.23</foaf:someDecimal>
+ <foaf:empty></foaf:empty>
+
+ <foaf:mbox_sha1sum>44bc4fed584a2d1ac8fc55206db67656165d67fd</foaf:mbox_sha1sum>
+
+ <foaf:homepage rdf:resource="http://inanna.ecs.soton.ac.uk/"/>
+ <foaf:img rdf:resource="http://www.linuxdj.com/audio/lad/contrib/zkm_meeting_2003/photos/steve_harris.jpg"/>
+
+ <foaf:workplaceHomePage rdf:resource="http://www.ecs.soton.ac.uk/" />
+
+ <rdfs:seeAlso rdf:resource="http://triplestore.aktors.org/resolve/?resource=http%3A%2F%2Fwww.ecs.soton.ac.uk%2Finfo%2F%23person-00384"/>
+
+ <foaf:depiction>
+ <foaf:Image rdf:about="http://www.linuxdj.com/audio/lad/contrib/zkm_meeting_2003/photos/steve_harris.jpg">
+ <dc:title>Steve Harris</dc:title>
+ <dc:description xml:lang="en-GB">Picture of Steve at ZKM in 2003</dc:description>
+ <dc:format>image/jpeg</dc:format>
+ </foaf:Image>
+ </foaf:depiction>
+
+ <foaf:currentProject>
+ <foaf:Project rdf:about="local:akt">
+ <foaf:name>Advanced Knowledge Technologies</foaf:name>
+ <foaf:homepage rdf:resource="http://www.aktors.org/"/>
+ </foaf:Project>
+ </foaf:currentProject>
+
+ <foaf:knows>
+ <foaf:Person rdf:about="local:nick">
+ <owl:sameIndividualAs rdf:resource="http://www.ecs.soton.ac.uk/info/#person-01269"/>
+ <foaf:name>Nick Gibbins</foaf:name>
+ <foaf:nick>nmg</foaf:nick>
+ <rdfs:seeAlso rdf:resource="http://www.ecs.soton.ac.uk/~nmg/nmg-foaf.rdf"/>
+ </foaf:Person>
+ </foaf:knows>
+
+ <foaf:knows>
+ <foaf:Person rdf:about="local:stripes">
+ <foaf:name>Mark Thompson</foaf:name>
+ <foaf:nick>Stripes</foaf:nick>
+ <foaf:mbox_sha1sum>0f585a7b90a5f2d3cceac58f5fd998ebd99b6e71</foaf:mbox_sha1sum>
+ <rdfs:seeAlso rdf:resource="http://purl.org/net/stripes/foaf.rdf"/>
+ </foaf:Person>
+ </foaf:knows>
+
+ <foaf:knows>
+ <foaf:Person rdf:about="local:dajobe">
+ <foaf:name>Dave Beckett</foaf:name>
+ <foaf:mbox_sha1sum>970987f991961f2553a1bf2574166fa29befbccb</foaf:mbox_sha1sum>
+ <foaf:nick>dajobe</foaf:nick>
+ <rdfs:seeAlso rdf:resource="http://www.ilrt.bris.ac.uk/people/cmdjb/webwho.xrdf"/>
+ </foaf:Person>
+ </foaf:knows>
+
+ <foaf:knows>
+ <foaf:Person rdf:about="local:libby">
+ <foaf:name>Libby Miller</foaf:name>
+ <foaf:mbox_sha1sum>289d4d44325d0b0218edc856c8c3904fa3fd2875</foaf:mbox_sha1sum>
+ <foaf:nick>libby</foaf:nick>
+ <rdfs:seeAlso rdf:resource="http://www.libbymiller.com/webwho.xrdf"/>
+ </foaf:Person>
+ </foaf:knows>
+
+ <foaf:knows>
+ <foaf:Person rdf:about="local:jo">
+ <foaf:name>Jo Walsh</foaf:name>
+ <foaf:mbox_sha1sum>828414515d398b42268a6c2ed879dc505369223a</foaf:mbox_sha1sum>
+ <foaf:mbox_sha1sum>4829af19130151de1c4def299d73d33f33dee0fb</foaf:mbox_sha1sum>
+ <foaf:nick>zool</foaf:nick>
+ </foaf:Person>
+ </foaf:knows>
+
+ <foaf:interest>
+ <rdf:Description rdf:about="http://www.w3.org/RDF/" dc:title="Resource Description Framework (RDF)" />
+ </foaf:interest>
+
+ <foaf:interest>
+ <rdf:Description rdf:about="http://www.w3.org/2000/01/sw/" dc:title="Semantic Web" />
+ </foaf:interest>
+
+</foaf:Person>
+</rdf:RDF>
@@ -0,0 +1,18 @@
+TIGER schema was from http://labs.intellidimension.com/tiger/
+
+TIGER data derived from US Census 2006 TIGER data (now obsolete)
+using the included tiger.pl script. If you have a source of 2006 vintage
+TIGER data you can use it to generate more test data in the same schema.
+
+We use this in 4store as a source of non-synthetic test data (real world data
+is good for throwing up unexpected scenarios that might not be tested by
+synthetic data)
+
+I've begun to deviate from the intellidimension.com usage, in particular
+they claim that a named feature has a feature code, whereas I observe
+that in line features, such as roads, each line segment has a feature code
+(e.g. Harrison St may at times run through a tunnel)
+
+Current versions of the tiger.pl script also deviate by using a per-edition
+identifier for URIs of some items like polygons which are not uniquely
+numbered across editions.
Oops, something went wrong.

0 comments on commit db54fe9

Please sign in to comment.