Skip to content

Commit 3f87874

Browse files
Rough Draft: fulltext with sample diagrams and images
1 parent b356181 commit 3f87874

33 files changed

+3478
-460
lines changed

README.md

Lines changed: 38 additions & 259 deletions
Original file line numberDiff line numberDiff line change
@@ -1,286 +1,65 @@
1-
# Graph Technology Developers GitHub Pages Template (for Educational Resources)
2-
3-
A minimal, responsive template for publishing open-source educational resources on GitHub Pages. Optimized for developer readability, SEO, and AI-agent parsing.
1+
# A Brief Introduction to Graph Databases
42

53
[![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-enabled-blue.svg)](https://pages.github.com/)
64
[![Jekyll](https://img.shields.io/badge/Jekyll-4.0+-blue.svg)](https://jekyllrb.com/)
7-
[![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-enabled-green.svg)](https://github.com/features/actions)
85
[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
6+
[![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-enabled-green.svg)](https://github.com/features/actions)
97

10-
## Features
11-
12-
- **Mobile-responsive design** - Works beautifully on all devices
13-
- **SEO optimized** - Built-in meta tags, sitemap, and semantic HTML
14-
- **AI-friendly structure** - Optimized for readability by AI agents
15-
- **Code syntax highlighting** - Support for multiple programming languages
16-
- **Diagram support** - Mermaid.js integration for technical visualizations
17-
- **Dark mode** - Automatic dark mode via `prefers-color-scheme`
18-
- **Minimal custom theme** - Clean, distinct styling without heavy dependencies
19-
- **Auto-deployment** - GitHub Actions workflow for automatic deployment
20-
21-
## Quick Start
22-
23-
1. **Clone or fork this repository**
24-
25-
```bash
26-
git clone https://github.com/GraphTechnologyDevelopers/gh-pages-template.git
27-
cd gh-pages-template
28-
```
29-
30-
2. **Update configuration**
31-
32-
Edit `_config.yml` and update:
33-
- `title` - Your site title
34-
- `description` - Site description
35-
- `url` - `https://{username}.github.io` (or your custom domain)
36-
- `baseurl` - `/{repository-name}` for project sites, or `""` for user/org sites
37-
38-
3. **Customize footer links** (optional)
39-
40-
Edit `_includes/footer.html` to update or add footer links.
41-
42-
4. **Add your content**
43-
44-
- Edit `index.md` for the homepage
45-
- Add new `.md` files for additional pages
46-
- Place images and assets in `assets/` directory
47-
48-
5. **Deploy**
49-
50-
- Push to GitHub
51-
- Enable GitHub Pages in repository Settings → Pages (select "GitHub Actions")
52-
- Your site will be live at `https://{username}.github.io/{repository-name}`
53-
54-
## Project Structure
55-
56-
```
57-
.
58-
├── _config.yml # Jekyll configuration
59-
├── _layouts/ # HTML layouts
60-
│ ├── default.html # Default page layout
61-
│ └── page.html # Content page layout
62-
├── _includes/ # Reusable components
63-
│ ├── head.html # Head section with meta tags
64-
│ └── footer.html # Footer with links
65-
├── assets/ # Static assets
66-
│ ├── css/
67-
│ │ └── styles.css # Custom styles
68-
│ ├── js/
69-
│ │ └── main.js # JavaScript functionality
70-
│ └── images/ # Image files
71-
├── pages/ # Additional pages
72-
│ └── getting-started.md
73-
├── index.md # Homepage
74-
├── robots.txt # SEO robots file
75-
├── .github/
76-
│ └── workflows/
77-
│ └── pages.yml # GitHub Actions deployment
78-
└── README.md # This file
79-
```
80-
81-
## Adding Content
82-
83-
### Creating New Pages
84-
85-
Create new `.md` files anywhere in the repository. They'll automatically use the page layout:
86-
87-
```markdown
88-
---
89-
title: My New Page
90-
---
91-
92-
# My New Page
93-
94-
Your content here...
95-
```
96-
97-
### Code Blocks
98-
99-
Use triple backticks with language identifiers:
100-
101-
````markdown
102-
```python
103-
def hello():
104-
print("Hello, World!")
105-
```
106-
````
107-
108-
### Diagrams
109-
110-
Use Mermaid syntax for diagrams:
111-
112-
````markdown
113-
```mermaid
114-
graph TD
115-
A[Start] --> B{Decision}
116-
B -->|Yes| C[Action 1]
117-
B -->|No| D[Action 2]
118-
```
119-
````
120-
121-
### Images
122-
123-
Place images in `assets/images/` and reference them:
124-
125-
```markdown
126-
![Alt text](/assets/images/example.png)
127-
```
128-
129-
## Customization
130-
131-
### Styling
132-
133-
Edit `assets/css/styles.css` to customize the theme. The CSS uses variables for easy customization:
134-
135-
```css
136-
:root {
137-
--color-bg: #ffffff;
138-
--color-text: #1a1a1a;
139-
--color-link: #0066cc;
140-
/* ... */
141-
}
142-
```
143-
144-
### Layouts
145-
146-
Modify `_layouts/default.html` or `_layouts/page.html` to change page structure.
147-
148-
### Configuration
149-
150-
See `_config.yml` for all available configuration options. Key settings:
151-
152-
- `title` - Site title
153-
- `description` - Site description for SEO
154-
- `url` / `baseurl` - GitHub Pages URL configuration
155-
- `plugins` - Jekyll plugins (SEO, sitemap)
156-
157-
## SEO Optimization
158-
159-
This template includes:
160-
161-
- **jekyll-seo-tag** - Automatic meta tags, Open Graph, Twitter Cards
162-
- **jekyll-sitemap** - Automatic sitemap generation
163-
- Semantic HTML structure
164-
- Clean heading hierarchy
165-
- Mobile-friendly responsive design
166-
167-
Add page-specific SEO in front matter:
168-
169-
```yaml
170-
---
171-
title: Page Title
172-
description: Page description for search engines
173-
keywords: keyword1, keyword2
174-
---
175-
```
176-
177-
## Deployment
178-
179-
The GitHub Actions workflow (`/.github/workflows/pages.yml`) automatically:
180-
181-
1. Builds the Jekyll site on push to `main`
182-
2. Deploys to GitHub Pages
183-
3. Handles dependencies and caching
184-
185-
**No manual deployment steps needed!**
186-
187-
To enable:
188-
1. Go to repository Settings → Pages
189-
2. Select "GitHub Actions" as the source
190-
3. Push to `main` branch
191-
192-
## Local Development
193-
194-
To test locally (requires Ruby 3.0+ and Jekyll):
195-
196-
### Prerequisites
197-
198-
Install Ruby 3.0 or newer. Recommended methods:
199-
200-
**Using Homebrew (macOS):**
201-
```bash
202-
brew install ruby
203-
```
204-
205-
**Using rbenv (recommended):**
206-
```bash
207-
# Install rbenv
208-
brew install rbenv ruby-build
209-
210-
# Install Ruby 3.0+
211-
rbenv install 3.3.0
212-
rbenv local 3.3.0
213-
```
214-
215-
**Using asdf:**
216-
```bash
217-
# Install asdf plugin
218-
asdf plugin add ruby
219-
220-
# Install Ruby 3.0+
221-
asdf install ruby 3.3.0
222-
asdf local ruby 3.3.0
223-
```
224-
225-
### Setup and Run
226-
227-
```bash
228-
# Install dependencies (local to project, no sudo needed)
229-
bundle install --path vendor/bundle
8+
**Read the book online:** ["https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/"](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/)
2309

231-
# Serve locally (without baseurl prefix for easier testing)
232-
bundle exec jekyll serve --baseurl ""
10+
## About This Book
23311

234-
# Or test with baseurl to match production:
235-
bundle exec jekyll serve
12+
Graphs model the interconnected fabric of real-world data—from social ties to supply chains, biological networks to fraud patterns. Traditional databases like RDBMS handle structured rows well, but as relationships proliferate, queries bog down with expensive joins. Graph databases prioritize these connections, delivering fast traversals even in massive, evolving datasets.
23613

237-
# Visit http://localhost:4000
238-
# (or http://localhost:4000/gh-pages-template if baseurl is set)
239-
```
14+
This manual expands on core concepts for developers, blending theory with practical how-tos. Expect deeper dives into modeling, querying, and implementation, with code samples in Cypher and Python, plus Mermaid diagrams for clarity. It's distilled from key sources but written briskly: why graphs outperform alternatives, how to build and query them, and tips for real apps.
24015

241-
**Note:**
242-
- The `--baseurl ""` flag allows you to test without the baseurl prefix locally
243-
- Use `bundle install --path vendor/bundle` to install gems locally without sudo
244-
- For production, GitHub Pages will handle the baseurl automatically based on your repository settings
16+
Data explodes, but value lies in links. Spot fraud rings via cycles; recommend via paths. Ignore graphs, and your systems miss hidden insights.
24517

246-
## Browser Support
18+
## Table of Contents
24719

248-
- Chrome (latest)
249-
- Firefox (latest)
250-
- Safari (latest)
251-
- Edge (latest)
20+
1. [Welcome to Connected Data](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/welcome-to-connected-data/)
21+
2. [Why Graphs Matter](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/why-graphs-matter/)
22+
3. [Graph Theory Primer](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/graph-theory-primer/)
23+
4. ["Core Concepts: Nodes and Edges"](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/core-concepts-nodes-and-edges/)
24+
5. [Graph Models Compared](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/graph-models-compared/)
25+
6. [Data Organization Techniques](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/data-organization-techniques/)
26+
7. ["Querying Graphs: Languages That Click"](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/querying-graphs-languages-that-click/)
27+
8. [Data Modeling Basics](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/data-modeling-basics/)
28+
9. [Data Modeling Pitfalls to Avoid](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/data-modeling-pitfalls-to-avoid/)
29+
10. [Why Ditch Relational for Graphs?](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/why-ditch-relational-for-graphs/)
30+
11. ["NoSQL Context: Where Graphs Fit"](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/nosql-context-where-graphs-fit/)
31+
12. [Native vs Non-Native Processing](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/native-vs-non-native-processing/)
32+
13. [Graph Algorithms Essentials](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/graph-algorithms-essentials/)
33+
14. ["Use Cases: Graphs in Action"](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/use-cases-graphs-in-action/)
34+
15. [Popular Graph Databases](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/popular-graph-databases/)
35+
16. [Distribution and Transactions](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/distribution-and-transactions/)
36+
17. [Future Challenges](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/future-challenges/)
37+
18. [Imperative vs Declarative Queries](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/imperative-vs-declarative-queries/)
38+
19. [Pitfalls in Graph Modeling](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/pitfalls-in-graph-modeling/)
39+
20. [Getting Started with Neo4j](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/getting-started-with-neo4j/)
40+
21. [Wrapping Up](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/wrapping-up/)
41+
22. [Acknowledgements](https://graphtechnologydevelopers.github.io/brief-intro-graph-databases/chapters/acknowledgements/)
25242

253-
## Technologies Used
43+
## Community & Resources
25444

255-
- [Jekyll](https://jekyllrb.com/) - Static site generator
256-
- [GitHub Pages](https://pages.github.com/) - Hosting
257-
- [GitHub Actions](https://github.com/features/actions) - CI/CD
258-
- [Mermaid.js](https://mermaid.js.org/) - Diagram rendering
259-
- [jekyll-seo-tag](https://github.com/jekyll/jekyll-seo-tag) - SEO optimization
260-
- [jekyll-sitemap](https://github.com/jekyll/jekyll-sitemap) - Sitemap generation
45+
- [Graph Technology Developers GitHub Org](https://github.com/GraphTechnologyDevelopers)
46+
- [Graph Technology Developers Community Hub](https://graphtech.dev/)
47+
- [Graph Technology Developers X Community](https://x.com/i/communities/1977449294861881612)
48+
- [CodeGraphTheory on GitHub](https://github.com/codegraphtheory)
49+
- [CodeGraph on X](http://x.com/codegraph)
50+
- [GraphTheory on X](http://x.com/graphtheory)
26151

26252
## License
26353

264-
This template is available as open source under the MIT License.
54+
This book is available as open source under the MIT License.
26555

26656
## Contributing
26757

26858
Contributions are welcome! Please feel free to submit a Pull Request.
26959

270-
## Links
271-
272-
- [Graph Technology Developers GitHub Org](https://github.com/GraphTechnologyDevelopers)
273-
- [Graph Technology Developers Community Hub](https://graphtech.dev/)
274-
- [Graph Technology Developers X Community](https://x.com/i/communities/1977449294861881612)
275-
- [CodeGraphTheory on GitHub](https://github.com/codegraphtheory)
276-
- [CodeGraph on X](http://x.com/codegraph)
277-
- [GraphTheory on X](http://x.com/graphtheory)
278-
27960
## Support
28061

28162
For issues or questions:
282-
28363
- Open an issue in this repository
28464
- Visit [Graph Technology Developers](https://graphtech.dev/)
28565
- Join the [X community](https://x.com/i/communities/1977449294861881612)
286-

_chapters/acknowledgements.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Acknowledgements
3+
order: 22
4+
---
5+
6+
This manual draws from:
7+
- *Demystifying Graph Databases: Analysis and Taxonomy of Data Organization, System Designs, and Graph Queries* by Maciej Besta, Robert Gerstenberger, Emanuel Peter, Marc Fischer, Michał Podstawski, Claude Barthels, Gustavo Alonso, and Torsten Hoefler (ACM Computing Surveys, 2023).
8+
- *Graph Databases for Beginners* by Bryce Merkl Sasaki, Joy Chao, and Rachel Howard (Neo4j, Inc.).
9+
- *Graph Databases* by Prad Nelluru, Bharat Naik, Evan Liu, and Bon Koo.
10+
- *Graph Databases: New Opportunities for Connected Data* (2nd Edition) by Ian Robinson, Jim Webber, and Emil Eifrem (O'Reilly Media, 2015).

0 commit comments

Comments
 (0)