home » dokk/manpages.git
Author zPlus <zplus@peers.community> 2023-11-22 18:00:06
Committer zPlus <zplus@peers.community> 2023-11-22 18:00:06
Commit 66d1a2f (patch)
Tree 37fd609
Parent(s)

Separate the distros and pages graphs.


commits diff: d38b375..66d1a2f
1 file changed, 27 insertions, 22 deletionsdownload


Diffstat
-rwxr-xr-x scripts/rdf.py 49

Diff options
View
Side
Whitespace
Context lines
Inter-hunk lines
+27/-22 M   scripts/rdf.py
index 3308cc3..bef538c
old size: 4K - new size: 4K
@@ -1,5 +1,6 @@
1 1 #!/usr/bin/env python3
2 2
3 + import bisect
3 4 import os
4 5 import pathlib
5 6 import rdflib
@@ -17,7 +18,7 @@ if not DEBIMAN_SERVING_DIR:
17 18
18 19 MANPAGE = Namespace('dokk:manpages:')
19 20
20 - g = Graph()
21 + g_distro = Graph()
21 22
22 23 for absolute_file_path in pathlib.Path(DEBIMAN_SERVING_DIR).glob('**/*.roff'):
23 24 if not absolute_file_path.is_file():
@@ -59,34 +60,38 @@ for absolute_file_path in pathlib.Path(DEBIMAN_SERVING_DIR).glob('**/*.roff'):
59 60 html = ''
60 61
61 62 # Create a graph node for this manpage
63 + g_page = Graph()
64 +
62 65 page_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}/{distro_package}/{filename}'))
63 - g.add((page_ref, RDF.type, URIRef(MANPAGE.Page)))
64 - g.add((page_ref, URIRef(MANPAGE.filename), Literal(filename)))
65 - g.add((page_ref, URIRef(MANPAGE.name), Literal(name)))
66 - g.add((page_ref, URIRef(MANPAGE.name_lowercase), Literal(name.lower())))
67 - g.add((page_ref, URIRef(MANPAGE.section), Literal(section)))
68 - g.add((page_ref, URIRef(MANPAGE.section_lowercase), Literal(section.lower())))
69 - g.add((page_ref, URIRef(MANPAGE.section_number), Literal(section_number)))
70 - g.add((page_ref, URIRef(MANPAGE.subsection), Literal(subsection)))
71 - g.add((page_ref, URIRef(MANPAGE.language), Literal(language)))
72 - g.add((page_ref, URIRef(MANPAGE.roff), Literal(roff)))
73 - g.add((page_ref, URIRef(MANPAGE.plaintext), Literal(plaintext)))
74 - g.add((page_ref, URIRef(MANPAGE.html), Literal(html)))
66 + g_page.add((page_ref, RDF.type, URIRef(MANPAGE.Page)))
67 + g_page.add((page_ref, URIRef(MANPAGE.filename), Literal(filename)))
68 + g_page.add((page_ref, URIRef(MANPAGE.name), Literal(name)))
69 + g_page.add((page_ref, URIRef(MANPAGE.name_lowercase), Literal(name.lower())))
70 + g_page.add((page_ref, URIRef(MANPAGE.section), Literal(section)))
71 + g_page.add((page_ref, URIRef(MANPAGE.section_lowercase), Literal(section.lower())))
72 + g_page.add((page_ref, URIRef(MANPAGE.section_number), Literal(section_number)))
73 + g_page.add((page_ref, URIRef(MANPAGE.subsection), Literal(subsection)))
74 + g_page.add((page_ref, URIRef(MANPAGE.language), Literal(language)))
75 + g_page.add((page_ref, URIRef(MANPAGE.roff), Literal(roff)))
76 + g_page.add((page_ref, URIRef(MANPAGE.plaintext), Literal(plaintext)))
77 + g_page.add((page_ref, URIRef(MANPAGE.html), Literal(html)))
78 +
79 + print(g.serialize(format='nt'))
75 80
76 81 # Create a graph node for this package
77 82 # Link to the page node
78 83 package_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}/{distro_package}'))
79 - g.add((package_ref, RDF.type, URIRef(MANPAGE.Package)))
80 - g.add((package_ref, MANPAGE.name, Literal(distro_package)))
81 - g.add((package_ref, MANPAGE.page, page_ref))
84 + g_distro.add((package_ref, RDF.type, URIRef(MANPAGE.Package)))
85 + g_distro.add((package_ref, MANPAGE.name, Literal(distro_package)))
86 + g_distro.add((package_ref, MANPAGE.page, page_ref))
82 87
83 88 # Create a graph node for this distro
84 89 # Link to the package node
85 90 distro_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}'))
86 - g.add((distro_ref, RDF.type, URIRef(MANPAGE.Distribution)))
87 - g.add((distro_ref, MANPAGE.name, Literal('debian')))
88 - g.add((distro_ref, MANPAGE.codename, Literal(distro_codename)))
89 - g.add((distro_ref, MANPAGE.number, Literal(distro_number)))
90 - g.add((distro_ref, MANPAGE.package, package_ref))
91 + g_distro.add((distro_ref, RDF.type, URIRef(MANPAGE.Distribution)))
92 + g_distro.add((distro_ref, MANPAGE.name, Literal('debian')))
93 + g_distro.add((distro_ref, MANPAGE.codename, Literal(distro_codename)))
94 + g_distro.add((distro_ref, MANPAGE.number, Literal(distro_number)))
95 + g_distro.add((distro_ref, MANPAGE.package, package_ref))
91 96
92 - print(g.serialize(format='nt'))
97 + print(g_distro.serialize(format='nt'))