Where does Neo4j store the data? - neo4j

I am new to Neo4j and doing some test on Ubuntu. I was wondering where does Neo4j store the data. Where do they store the created nodes and relationships?

This should help: dpkg -L neo4j
config
/etc/neo4j/neo4j.properties
/etc/neo4j/neo4j-wrapper.conf
/etc/neo4j/neo4j-http-logging.xml
/etc/neo4j/neo4j-server.properties
logs
/var/log/neo4j
/var/lib/neo4j/data/graph.db/messages.log
binaries
/usr/bin/neo4j-shell
/usr/bin/neo4j
data
/var/lib/neo4j/data/graph.db
store-files
nodes, properties, arrays, strings, relationship-groups, relationships
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.nodestore.db
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.propertystore.db
-rw-r--r-- 1 neo4j nogroup 128 Jul 30 20:41 neostore.propertystore.db.arrays
-rw-r--r-- 1 neo4j nogroup 128 Jul 30 20:41 neostore.propertystore.db.strings
-rw-r--r-- 1 neo4j nogroup 25 Jul 30 20:41 neostore.relationshipgroupstore.db
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.relationshipstore.db
ls -lh /var/lib/neo4j/data/graph.db/
total 168K
-rw-r--r-- 1 neo4j nogroup 11 Jul 30 20:41 active_tx_log
drwxr-xr-x 2 neo4j nogroup 4.0K Jul 30 20:41 index
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 lock
-rw-r--r-- 1 neo4j nogroup 50K Jul 30 20:41 messages.log
-rw-r--r-- 1 neo4j nogroup 63 Jul 30 20:41 neostore
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.id
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.labeltokenstore.db
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.labeltokenstore.db.id
-rw-r--r-- 1 neo4j nogroup 38 Jul 30 20:41 neostore.labeltokenstore.db.names
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.labeltokenstore.db.names.id
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.nodestore.db
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.nodestore.db.id
-rw-r--r-- 1 neo4j nogroup 68 Jul 30 20:41 neostore.nodestore.db.labels
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.nodestore.db.labels.id
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.propertystore.db
-rw-r--r-- 1 neo4j nogroup 128 Jul 30 20:41 neostore.propertystore.db.arrays
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.propertystore.db.arrays.id
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.propertystore.db.id
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.propertystore.db.index
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.propertystore.db.index.id
-rw-r--r-- 1 neo4j nogroup 38 Jul 30 20:41 neostore.propertystore.db.index.keys
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.propertystore.db.index.keys.id
-rw-r--r-- 1 neo4j nogroup 128 Jul 30 20:41 neostore.propertystore.db.strings
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.propertystore.db.strings.id
-rw-r--r-- 1 neo4j nogroup 25 Jul 30 20:41 neostore.relationshipgroupstore.db
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.relationshipgroupstore.db.id
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.relationshipstore.db
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.relationshipstore.db.id
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 neostore.relationshiptypestore.db
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.relationshiptypestore.db.id
-rw-r--r-- 1 neo4j nogroup 38 Jul 30 20:41 neostore.relationshiptypestore.db.names
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.relationshiptypestore.db.names.id
-rw-r--r-- 1 neo4j nogroup 64 Jul 30 20:41 neostore.schemastore.db
-rw-r--r-- 1 neo4j nogroup 9 Jul 30 20:41 neostore.schemastore.db.id
-rw-r--r-- 1 neo4j nogroup 16 Jul 30 20:41 nioneo_logical.log.1
-rw-r--r-- 1 neo4j nogroup 4 Jul 30 20:41 nioneo_logical.log.active
drwxr-xr-x 3 neo4j nogroup 4.0K Jul 30 20:41 schema
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 store_lock
-rw-r--r-- 1 neo4j nogroup 0 Jul 30 20:41 tm_tx_log.1
dpkg -L neo4j
/.
/etc
/etc/neo4j
/etc/neo4j/neo4j.properties
/etc/neo4j/neo4j-wrapper.conf
/etc/neo4j/neo4j-http-logging.xml
/etc/neo4j/neo4j-server.properties
/etc/neo4j/windows-wrapper-logging.properties
/etc/neo4j/custom-logback.xml
/etc/neo4j/README.txt
/etc/neo4j/logging.properties
/etc/init.d
/etc/init.d/neo4j-service
/var
/var/log
/var/log/neo4j
/var/lib
/var/lib/neo4j
/var/lib/neo4j/data
/var/lib/neo4j/data/README.txt
/var/lib/neo4j/LICENSES.txt
/var/lib/neo4j/CHANGES.txt
/var/lib/neo4j/UPGRADE.txt
/var/lib/neo4j/bin
/var/lib/neo4j/bin/neo4j
/var/lib/neo4j/bin/utils
/var/lib/neo4j/bin/neo4j-installer
/var/lib/neo4j/bin/lib
/var/lib/neo4j/bin/lib/README.txt
/var/lib/neo4j/bin/org.neo4j.server.plist
/var/lib/neo4j/bin/neo4j-shell
/var/lib/neo4j/bin/README.txt
/var/lib/neo4j/README.txt
/usr
/usr/bin
/usr/share
/usr/share/neo4j
/usr/share/neo4j/plugins
/usr/share/neo4j/plugins/README.txt
/usr/share/neo4j/system
/usr/share/neo4j/system/lib
/usr/share/neo4j/system/lib/logback-access-1.1.2.jar
.....
/usr/share/neo4j/system/lib/mimepull-1.6.jar
/usr/share/neo4j/system/README.txt
/usr/share/neo4j/lib
/usr/share/neo4j/lib/neo4j-shell-2.1.3.jar
/usr/share/neo4j/lib/neo4j-jmx-2.1.3.jar
....
/usr/share/neo4j/lib/neo4j-cypher-compiler-2.0-2.0.3.jar
/usr/share/neo4j/lib/README.txt
/usr/share/neo4j/lib/neo4j-graph-matching-2.1.3.jar
/usr/share/neo4j/lib/opencsv-2.0.jar
/usr/share/doc
/usr/share/doc/neo4j
/usr/share/doc/neo4j/changelog.gz
/usr/share/doc/neo4j/copyright
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/neo4j
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/neo4j-shell.1.gz
/var/lib/neo4j/data/log
/var/lib/neo4j/plugins
/var/lib/neo4j/system
/var/lib/neo4j/lib
/var/lib/neo4j/conf
/usr/bin/neo4j-shell

If you mean on disk, check here (for inspection purposes only of course): <neo4j_home>/data/graph.db.

Related

is docker changing ownership of files?

Our deployment model is that we create containers on the fly with docker-java-api, some of these containers use heavily rocksdb database. The files of the DB are on the host, like:
ls -lrt /mnt/data/rocksdb
-rw-r--r-- 1 root root 8374 Nov 28 15:32 fileA
-rw-r--r-- 1 root root 0 Nov 28 15:32 fileB
-rw-r--r-- 1 root root 37 Nov 28 15:32 ....
-rw-r--r-- 1 root root 16 Nov 28 15:32 fileC
-rw-r--r-- 1 root root 19646 Nov 28 15:32 ..
-rw-r--r-- 1 root root 22500 Nov 28 15:32 .... etc
/mnt/data/rocksdb gets mounted onto a container with app that uses the DB heavily.
What I notice is that after starting the container, ownership of the files changes to:
ls -lrnt /mnt/data/rocksdbdata/
total 84092
-rw-r--r-- 1 999 999 8374 Nov 28 15:32 fileA
-rw-r--r-- 1 999 999 0 Nov 28 15:32 LOCK
-rw-r--r-- 1 999 999 37 Nov 28 15:32 fileB
-rw-r--r-- 1 999 999 16 Nov 28 15:32 fileC
-rw-r--r-- 1 999 999 19646 Nov 28 15:32 ...
-rw-r--r-- 1 999 999 22500 Nov 28 15:32 .....etc
User with these UID:GID (999:999) is docker.
Can you tell me why is this happening?
It needs a long explanation. Long story short, docker is changing the mounted file permissions because of access with root permissions.
For more details, please look at this answer;
Docker changes owner of local files mounted as volume

Docker for windows cannot edit file in the guest due to access rights

My computer is running Windows 10 and Docker for Windows
I am using docker volume to code faster
the code is on the windows side. In the docker-compose.yaml I mount my workspace on the host tho the root of the apache server on the guest
volumes:
- ./:/var/www/html
When I create the file web\modules\custom\hello_world\hello_world.info.yml on the host that file replicates on the guest side but remains empty:
PS C:\Users\jeanp\CONSULTANT\dockertest> docker exec -it my_drupal9_project_nginx /bin/bash
/var/www/html$ ls -al web/modules/custom/hello_world/
total 8
drwxr-xr-x 2 root root 4096 Aug 3 16:46 .
drwxr-xr-x 3 root root 4096 Aug 3 16:46 ..
-rwxr-xr-x 1 root root 0 Aug 3 16:46 hello_world.info.yml
(hello_world.info.yml has 0 bytes length and can be edited only by root)
On the guest side, when I try to edit hello_world.info.yml I cannot save it because it is marked as read-only
web/modules/custom/hello_world/hello_world.info.yml [Readonly] 0/0 100%
On the guest side I asked who am I the answer is wodby:
/var/www/html$ whoami
wodby
the other files on in the image on the guest belongs to wodby
/var/www/html$ ls -al web
total 84
drwxr-xr-x 7 wodby wodby 4096 Jul 22 02:17 .
drwxr-xr-x 4 wodby wodby 4096 Jul 31 12:04 ..
-rw-r--r-- 1 wodby wodby 1025 Jul 22 02:17 .csslintrc
-rw-r--r-- 1 wodby wodby 151 Jul 22 02:17 .eslintignore
-rw-r--r-- 1 wodby wodby 41 Jul 22 02:17 .eslintrc.json
-rw-r--r-- 1 wodby wodby 2314 Jul 22 02:17 .ht.router.php
-rw-r--r-- 1 wodby wodby 7572 Jul 22 02:17 .htaccess
-rw-r--r-- 1 wodby wodby 94 Jul 22 02:17 INSTALL.txt
-rw-r--r-- 1 wodby wodby 3205 Jul 22 02:17 README.md
-rw-r--r-- 1 wodby wodby 315 Jul 22 02:17 autoload.php
drwxr-xr-x 12 wodby wodby 4096 Jul 20 21:42 core
-rw-r--r-- 1 wodby wodby 1507 Jul 22 02:17 example.gitignore
-rw-r--r-- 1 wodby wodby 549 Jul 22 02:17 index.php
drwxr-xr-x 3 wodby wodby 4096 Aug 3 16:46 modules
drwxr-xr-x 2 wodby wodby 4096 Jul 22 02:17 profiles
-rw-r--r-- 1 wodby wodby 1586 Jul 22 02:17 robots.txt
drwxr-xr-x 3 wodby wodby 4096 Jul 22 02:17 sites
drwxr-xr-x 2 wodby wodby 4096 Jul 22 02:17 themes
-rw-r--r-- 1 wodby wodby 804 Jul 22 02:17 update.php
-rw-r--r-- 1 wodby wodby 4016 Jul 22 02:17 web.config
My question is the following:
how to make that on the guest the files created through synchronisation from the host belongs to wodby and not root ?
Sounds like you could benefit from setting up the folder and permissions via the Dockerfile prior to mounting the files in:
https://github.com/moby/moby/issues/2259#issuecomment-48286811
Else this issue may be able to help you out, detailing a volumes-from pattern
What is the (best) way to manage permissions for Docker shared volumes?

sphinx search: how to understand min_prefix_len

Sorry I post my question here as I permanently get an error on the sphinxsearch forum where it belongs to.
I have set min_prefix_len = 3.
According to http://sphinxsearch.com/docs/current/conf-min-prefix-len.html I expect a match for
val*
but I do not even get a match for
vale*
however I get all matches for
valeg*
valegr*
valegro*
What is it that I do not understand?
I'm sorry, now it works like it should. Possible explanation is an error in the index. While exploring manticore as an alternative to sphinx, I reindexed and by chance noticed that rotation did not occur although the indexer said so:
rotating indices: successfully sent SIGHUP to searchd (pid=8).
But looking at the disk proved that this was not the case:
# ls -latrh /d/data/sphinx/*sm_en*
-rw-r--r-- 1 root root 0 Jul 29 04:43 /d/data/sphinx/lng_sm_en.spm
-rw-r--r-- 1 root root 31K Jul 29 04:43 /d/data/sphinx/lng_sm_en.spa
-rw-r--r-- 1 root root 0 Jul 29 04:43 /d/data/sphinx/lng_sm_en.spk
-rw-r--r-- 1 root root 607K Jul 29 04:43 /d/data/sphinx/lng_sm_en.spi
-rw-r--r-- 1 root root 5.7M Jul 29 04:43 /d/data/sphinx/lng_sm_en.spd
-rw-r--r-- 1 root root 11M Jul 29 04:43 /d/data/sphinx/lng_sm_en.spp
-rw-r--r-- 1 root root 30M Jul 29 04:43 /d/data/sphinx/lng_sm_en.sps
-rw-r--r-- 1 root root 823 Jul 29 04:43 /d/data/sphinx/lng_sm_en.sph
-rw-r--r-- 1 root root 38K Jul 29 04:43 /d/data/sphinx/lng_sm_en.spe
-rw------- 1 root root 0 Jul 29 04:43 /d/data/sphinx/lng_sm_en.spl
-rw-r--r-- 1 root root 0 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spm
-rw-r--r-- 1 root root 31K Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spa
-rw-r--r-- 1 root root 0 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spk
-rw-r--r-- 1 root root 11M Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spp
-rw-r--r-- 1 root root 607K Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spi
-rw-r--r-- 1 root root 5.7M Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spd
-rw-r--r-- 1 root root 823 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.sph
-rw-r--r-- 1 root root 30M Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.sps
-rw-r--r-- 1 root root 38K Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spe
-rw------- 1 root root 0 Jul 31 00:36 /d/data/sphinx/lng_sm_en.new.spl
So I deleted these files and indexed again. Probably this fixed the issue, as rotating works again as well.
As the filedates show, this problem must have been lingering for 2 weeks. Now the dates are correct, too.

Docker runtime metrics in boot2docker

As stated in this document, docker container's runtime matrix should be available at /sys/fs/cgroup/memory/lxc/<longid>/.
However, if I am using boot2docker image, I can only find a folder named docker under /sys/fs/cgroup/memory/ with some matrices.
$ ls /sys/fs/cgroup/memory/ -l
total 0
-rw-r--r-- 1 root root 0 Mar 25 08:39 cgroup.clone_children
--w--w--w- 1 root root 0 Mar 25 08:39 cgroup.event_control
-rw-r--r-- 1 root root 0 Mar 25 08:39 cgroup.procs
-r--r--r-- 1 root root 0 Mar 25 08:39 cgroup.sane_behavior
drwxr-xr-x 2 root root 0 Mar 25 07:41 docker/
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.failcnt
--w------- 1 root root 0 Mar 25 08:39 memory.force_empty
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.failcnt
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.limit_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.max_usage_in_bytes
-r--r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.slabinfo
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.tcp.failcnt
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.tcp.limit_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.tcp.max_usage_in_bytes
-r--r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.tcp.usage_in_bytes
-r--r--r-- 1 root root 0 Mar 25 08:39 memory.kmem.usage_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 04:00 memory.limit_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.max_usage_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.memsw.failcnt
-rw-r--r-- 1 root root 0 Mar 25 04:00 memory.memsw.limit_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.memsw.max_usage_in_bytes
-r--r--r-- 1 root root 0 Mar 25 08:39 memory.memsw.usage_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.move_charge_at_immigrate
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.oom_control
---------- 1 root root 0 Mar 25 08:39 memory.pressure_level
-rw-r--r-- 1 root root 0 Mar 25 04:00 memory.soft_limit_in_bytes
-r--r--r-- 1 root root 0 Mar 25 08:39 memory.stat
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.swappiness
-r--r--r-- 1 root root 0 Mar 25 08:39 memory.usage_in_bytes
-rw-r--r-- 1 root root 0 Mar 25 08:39 memory.use_hierarchy
-rw-r--r-- 1 root root 0 Mar 25 08:39 notify_on_release
-rw-r--r-- 1 root root 0 Mar 25 08:39 release_agent
-rw-r--r-- 1 root root 0 Mar 25 08:39 tasks
How can I get back the missing LXC matrices in boot2docker image?

How to Class Dump Cydia?

I've seen a lot of Flex Patches for Cydia, but every time I try to process Cydia it just takes for ever and then crashes Flex. I'm on the latest Flex 2 version and it's not a cracked version.
So I thought to use Class Dump, but how to use Class Dump on Cydia?
Copy the Cydia executable from your phone to your Mac:
scp root#iphone-ip-address:/Applications/Cydia.app/MobileCydia .
Then, run class-dump on the executable file:
class-dump MobileCydia -H .
I ran it and got these generated headers:
-rw-r--r-- 1 username staff 2341 Aug 15 15:50 Database.h
-rw-r--r-- 1 username staff 452 Aug 15 15:50 CyteWebViewTableViewCell.h
-rw-r--r-- 1 username staff 2634 Aug 15 15:50 CyteWebViewDelegate-Protocol.h
-rw-r--r-- 1 username staff 6046 Aug 15 15:50 CyteWebViewController.h
-rw-r--r-- 1 username staff 1916 Aug 15 15:50 CyteWebView.h
-rw-r--r-- 1 username staff 686 Aug 15 15:50 CyteViewController.h
-rw-r--r-- 1 username staff 226 Aug 15 15:50 CyteTableViewCellDelegate-Protocol.h
-rw-r--r-- 1 username staff 362 Aug 15 15:50 CyteTableViewCellContentView.h
-rw-r--r-- 1 username staff 444 Aug 15 15:50 CyteTableViewCell.h
-rw-r--r-- 1 username staff 605 Aug 15 15:50 CyteTabBarController.h
-rw-r--r-- 1 username staff 850 Aug 15 15:50 CydiaWebViewController.h
-rw-r--r-- 1 username staff 360 Aug 15 15:50 CydiaURLProtocol.h
-rw-r--r-- 1 username staff 998 Aug 15 15:50 CydiaTabBarController.h
-rw-r--r-- 1 username staff 548 Aug 15 15:50 CydiaRelation.h
-rw-r--r-- 1 username staff 1134 Aug 15 15:50 CydiaProgressEvent.h
-rw-r--r-- 1 username staff 1079 Aug 15 15:50 CydiaProgressData.h
-rw-r--r-- 1 username staff 520 Aug 15 15:50 CydiaOperation.h
-rw-r--r-- 1 username staff 2708 Aug 15 15:50 CydiaObject.h
-rw-r--r-- 1 username staff 260 Aug 15 15:50 CydiaLoadingViewController.h
-rw-r--r-- 1 username staff 433 Aug 15 15:50 CydiaLoadingView.h
-rw-r--r-- 1 username staff 1024 Aug 15 15:50 CydiaDelegate-Protocol.h
-rw-r--r-- 1 username staff 508 Aug 15 15:50 CydiaClause.h
-rw-r--r-- 1 username staff 3578 Aug 15 15:50 Cydia.h
-rw-r--r-- 1 username staff 341 Aug 15 15:50 ConfirmationControllerDelegate-Protocol.h
-rw-r--r-- 1 username staff 936 Aug 15 15:50 ConfirmationController.h
-rw-r--r-- 1 username staff 744 Aug 15 15:50 ChangesController.h
-rw-r--r-- 1 username staff 454 Aug 15 15:50 CYWebPolicyDecisionMediator.h
-rw-r--r-- 1 username staff 315 Aug 15 15:50 CYURLCache.h
-rw-r--r-- 1 username staff 1169 Aug 15 15:50 CYPackageController.h
-rw-r--r-- 1 username staff 14392 Aug 15 15:50 CDStructures.h
-rw-r--r-- 1 username staff 317 Aug 15 15:50 AppCacheController.h
drwxr-xr-x 113 username staff 3842 Aug 15 15:50 .
-rw-r--r-- 1 username staff 237 Aug 15 15:50 (null)-NSCoder.h
-rw-r--r-- 1 username staff 325 Aug 15 15:50 (null)-MenesYieldToSelector.h
-rw-r--r-- 1 username staff 326 Aug 15 15:50 (null)-MenesRadixSortWithSelector.h
-rw-r--r-- 1 username staff 252 Aug 15 15:50 (null)-MenesInvocationWithSelector.h
-rw-r--r-- 1 username staff 215 Aug 15 15:50 (null)-CyteDispatchEvent.h
-rw-r--r-- 1 username staff 302 Aug 15 15:50 (null)-Cyte.h
-rw-r--r-- 1 username staff 201 Aug 15 15:50 (null)-CydiaSecure.h
-rw-r--r-- 1 username staff 224 Aug 15 15:50 (null)-CydiaScript.h
-rw-r--r-- 1 username staff 242 Aug 15 15:50 (null)-Cydia.h
Class dump did its work in no time at all (less than a second).
If class-dump fails, you probably have an outdated version of class dump. The one I used was from the newest installation of iOSOpenDev.

Resources