|
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 |
4 | 2 |
|
5 | 3 | [](https://pages.github.com/) |
6 | 4 | [](https://jekyllrb.com/) |
7 | | -[](https://github.com/features/actions) |
8 | 5 | [](LICENSE) |
| 6 | +[](https://github.com/features/actions) |
9 | 7 |
|
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 | | - |
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/) |
230 | 9 |
|
231 | | -# Serve locally (without baseurl prefix for easier testing) |
232 | | -bundle exec jekyll serve --baseurl "" |
| 10 | +## About This Book |
233 | 11 |
|
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. |
236 | 13 |
|
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. |
240 | 15 |
|
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. |
245 | 17 |
|
246 | | -## Browser Support |
| 18 | +## Table of Contents |
247 | 19 |
|
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/) |
252 | 42 |
|
253 | | -## Technologies Used |
| 43 | +## Community & Resources |
254 | 44 |
|
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) |
261 | 51 |
|
262 | 52 | ## License |
263 | 53 |
|
264 | | -This template is available as open source under the MIT License. |
| 54 | +This book is available as open source under the MIT License. |
265 | 55 |
|
266 | 56 | ## Contributing |
267 | 57 |
|
268 | 58 | Contributions are welcome! Please feel free to submit a Pull Request. |
269 | 59 |
|
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 | | - |
279 | 60 | ## Support |
280 | 61 |
|
281 | 62 | For issues or questions: |
282 | | - |
283 | 63 | - Open an issue in this repository |
284 | 64 | - Visit [Graph Technology Developers](https://graphtech.dev/) |
285 | 65 | - Join the [X community](https://x.com/i/communities/1977449294861881612) |
286 | | - |
0 commit comments