17
|
17
|
|
|
18
|
18
|
|
MANPAGE = Namespace('dokk:manpages:')
|
19
|
19
|
|
|
20
|
|
- |
g_distro = Graph()
|
|
20
|
+ |
# A graph to store all the triples
|
|
21
|
+ |
g = 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():
|
58
|
59
|
|
except:
|
59
|
60
|
|
html = ''
|
60
|
61
|
|
|
61
|
|
- |
# Create a graph node for this manpage
|
|
62
|
+ |
# Create a separate graph node for this manpage
|
|
63
|
+ |
# A separate, temporary graph for a manpage that is printed out immediately
|
|
64
|
+ |
# because I haven't got enough RAM for storing thousands of pages.
|
62
|
65
|
|
g_page = Graph()
|
63
|
66
|
|
|
64
|
67
|
|
page_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}/{distro_package}/{filename}'))
|
80
|
83
|
|
# Create a graph node for this package
|
81
|
84
|
|
# Link to the page node
|
82
|
85
|
|
package_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}/{distro_package}'))
|
83
|
|
- |
g_distro.add((package_ref, RDF.type, URIRef(MANPAGE.Package)))
|
84
|
|
- |
g_distro.add((package_ref, MANPAGE.name, Literal(distro_package)))
|
85
|
|
- |
g_distro.add((package_ref, MANPAGE.page, page_ref))
|
|
86
|
+ |
g.add((package_ref, RDF.type, URIRef(MANPAGE.Package)))
|
|
87
|
+ |
g.add((package_ref, MANPAGE.name, Literal(distro_package)))
|
|
88
|
+ |
g.add((package_ref, MANPAGE.page, page_ref))
|
86
|
89
|
|
|
87
|
90
|
|
# Create a graph node for this distro
|
88
|
91
|
|
# Link to the package node
|
89
|
92
|
|
distro_ref = URIRef('dokk:manpages:debian/' + urllib.parse.quote(f'{distro_number}'))
|
90
|
|
- |
g_distro.add((distro_ref, RDF.type, URIRef(MANPAGE.Distribution)))
|
91
|
|
- |
g_distro.add((distro_ref, MANPAGE.name, Literal('debian')))
|
92
|
|
- |
g_distro.add((distro_ref, MANPAGE.codename, Literal(distro_codename)))
|
93
|
|
- |
g_distro.add((distro_ref, MANPAGE.number, Literal(distro_number)))
|
94
|
|
- |
g_distro.add((distro_ref, MANPAGE.package, package_ref))
|
95
|
|
- |
|
96
|
|
- |
print(g_distro.serialize(format='nt'))
|
|
93
|
+ |
g.add((distro_ref, RDF.type, URIRef(MANPAGE.Distribution)))
|
|
94
|
+ |
g.add((distro_ref, MANPAGE.name, Literal('debian')))
|
|
95
|
+ |
g.add((distro_ref, MANPAGE.codename, Literal(distro_codename)))
|
|
96
|
+ |
g.add((distro_ref, MANPAGE.number, Literal(distro_number)))
|
|
97
|
+ |
g.add((distro_ref, MANPAGE.package, package_ref))
|
|
98
|
+ |
|
|
99
|
+ |
# Print out the graph
|
|
100
|
+ |
print(g.serialize(format='nt'))
|