Skip to content

Commit 46791dc

Browse files
committed
solid additions
1 parent 9766e6f commit 46791dc

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

docgeneration.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2197,7 +2197,7 @@ def resolveTemplate(templatename):
21972197

21982198
class OntDocGeneration:
21992199

2200-
def __init__(self, prefixes,prefixnamespace,prefixnsshort,license,labellang,outpath,graph,createIndexPages,createColl,metadatatable,generatePagesForNonNS,createVOWL,ogcapifeatures,iiif,ckan=True,localOptimized=False,imagemetadata=None,startconcept=None,deploypath="",logoname="",templatename="default",offlinecompat=False,exports=["json","ttl"],datasettitle="",publisher="",publishingorg=""):
2200+
def __init__(self, prefixes,prefixnamespace,prefixnsshort,license,labellang,outpath,graph,createIndexPages,createColl,metadatatable,generatePagesForNonNS,createVOWL,ogcapifeatures,iiif,ckan=True,solidexport=True,localOptimized=False,imagemetadata=None,startconcept=None,deploypath="",logoname="",templatename="default",offlinecompat=False,exports=["json","ttl"],datasettitle="",publisher="",publishingorg=""):
22012201
self.prefixes=prefixes
22022202
self.prefixnamespace = prefixnamespace
22032203
self.namespaceshort = prefixnsshort.replace("/","")
@@ -2206,6 +2206,7 @@ def __init__(self, prefixes,prefixnamespace,prefixnsshort,license,labellang,outp
22062206
self.datasettitle=datasettitle
22072207
self.logoname=logoname
22082208
self.ckan=ckan
2209+
self.solidexport=solidexport
22092210
self.publisher=publisher
22102211
self.publishingorg=publishingorg
22112212
self.startconcept=startconcept
@@ -2489,7 +2490,8 @@ def generateOntDocForNameSpace(self, prefixnamespace,dataformat="HTML"):
24892490
with open(outpath + corpusid + '_search.js', 'w', encoding='utf-8') as f:
24902491
f.write("var search=" + json.dumps(labeltouri, indent=2, sort_keys=True))
24912492
f.close()
2492-
IIIFAPIExporter.generateIIIFAnnotations(outpath,imagetoURI)
2493+
if self.iiif:
2494+
IIIFAPIExporter.generateIIIFAnnotations(outpath,imagetoURI)
24932495
if self.createIndexPages:
24942496
for path in paths:
24952497
subgraph=Graph(bind_namespaces="rdflib")
@@ -2506,6 +2508,10 @@ def generateOntDocForNameSpace(self, prefixnamespace,dataformat="HTML"):
25062508
if nslink in sub:
25072509
for tup in self.graph.predicate_objects(sub):
25082510
subgraph.add((sub, tup[0], tup[1]))
2511+
if self.solidexport:
2512+
subgraph.add((URIRef(sub.replace("nslink","")),URIRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),URIRef("http://www.w3.org/ns/ldp#Container")))
2513+
subgraph.add((URIRef(sub.replace("nslink", "")),URIRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),URIRef("http://www.w3.org/ns/ldp#BasicContainer")))
2514+
subgraph.add((URIRef(sub.replace("nslink", "")),URIRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"),URIRef("http://www.w3.org/ns/ldp#Resource")))
25092515
for ex in self.exports:
25102516
if ex in ExporterUtils.exportToFunction:
25112517
if ex not in ExporterUtils.rdfformats:
@@ -2557,6 +2563,7 @@ def generateOntDocForNameSpace(self, prefixnamespace,dataformat="HTML"):
25572563
IIIFAPIExporter.generateIIIFCollections(self.outpath,self.deploypath,iiifmanifestpaths["default"],prefixnamespace)
25582564
if len(featurecollectionspaths)>0 and self.ckan:
25592565
CKANExporter.generateCKANCollection(outpath,self.deploypath,featurecollectionspaths,tree["core"]["data"],self.license)
2566+
if self.solidexport:
25602567
SolidExporter.createSolidSettings(self.graph,outpath,self.deploypath,self.publisher,self.datasettitle,tree["core"]["data"])
25612568
if len(featurecollectionspaths)>0:
25622569
relpath=DocUtils.generateRelativePathFromGivenDepth(0)
@@ -3408,6 +3415,9 @@ def createHTML(self,savepath, predobjs, subject, baseurl, subpreds, graph, searc
34083415
tablecontents += "</tr>"
34093416
if self.licenseuri!=None:
34103417
ttlf.add((subject, URIRef("http://purl.org/dc/elements/1.1/license"), URIRef(self.licenseuri)))
3418+
if self.solidexport!=None:
3419+
ttlf.add((subject, URIRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#"), URIRef("http://www.w3.org/ns/ldp#Resource")))
3420+
ttlf.add((subject, URIRef("http://www.w3.org/1999/02/22-rdf-syntax-ns#"), URIRef("https://www.iana.org/assignments/media-types/text/turtle#Resource")))
34113421
nonnslink=""
34123422
if nonns:
34133423
completesavepath = savepath.replace(":","_")
@@ -3660,6 +3670,7 @@ def createHTML(self,savepath, predobjs, subject, baseurl, subpreds, graph, searc
36603670
parser.add_argument("-of","--offlinecompat",help="built-result is offline compatible",default=False,type=lambda x: (str(x).lower() in ['true','1', 'yes']))
36613671
parser.add_argument("-ogc","--ogcapifeatures",help="create ogc api features collections?",action="store",default=False,type=lambda x: (str(x).lower() in ['true','1', 'yes']))
36623672
parser.add_argument("-iiif","--iiifmanifest",help="create iiif manifests?",action="store",default=True,type=lambda x: (str(x).lower() in ['true','1', 'yes']))
3673+
parser.add_argument("-solid","--solidexport",help="create solid pod deployment?",action="store",default=True,type=lambda x: (str(x).lower() in ['true','1', 'yes']))
36633674
parser.add_argument("-imgmd","--imagemetadata",help="resolve image metadata?",action="store",default=False,type=lambda x: (str(x).lower() in ['true','1', 'yes']))
36643675
parser.add_argument("-ckan","--ckanapi",help="create static ckan api docs?",action="store",default=True,type=lambda x: (str(x).lower() in ['true','1', 'yes']))
36653676
parser.add_argument("-sc","--startconcept",help="the concept suggested for browsing the HTML documentation",action="store",default=None)
@@ -3728,9 +3739,9 @@ def createHTML(self,savepath, predobjs, subject, baseurl, subpreds, graph, searc
37283739
args.prefixns=pres
37293740
print("Detected "+args.prefixns+" as data namespace")
37303741
if fcounter<len(outpath):
3731-
docgen=OntDocGeneration(prefixes,args.prefixns,args.prefixnsshort,args.license,args.labellang,outpath[fcounter],g,args.createIndexPages,args.createCollections,args.metadatatable,args.nonnspages,args.createvowl,args.ogcapifeatures,args.iiifmanifest,args.ckanapi,args.localOptimized,args.imagemetadata,args.startconcept,args.deploypath,args.logourl,args.templatename,args.offlinecompat,dataexports,args.datasettitle,args.publisher,args.publishingorg)
3742+
docgen=OntDocGeneration(prefixes,args.prefixns,args.prefixnsshort,args.license,args.labellang,outpath[fcounter],g,args.createIndexPages,args.createCollections,args.metadatatable,args.nonnspages,args.createvowl,args.ogcapifeatures,args.iiifmanifest,args.ckanapi,args.solidexport,args.localOptimized,args.imagemetadata,args.startconcept,args.deploypath,args.logourl,args.templatename,args.offlinecompat,dataexports,args.datasettitle,args.publisher,args.publishingorg)
37323743
else:
3733-
docgen=OntDocGeneration(prefixes,args.prefixns,args.prefixnsshort,args.license,args.labellang,outpath[-1],g,args.createIndexPages,args.createCollections,args.metadatatable,args.nonnspages,args.createvowl,args.ogcapifeatures,args.iiifmanifest,args.ckanapi,args.localOptimized,args.imagemetadata,args.startconcept,args.deploypath,args.logourl,args.templatename,args.offlinecompat,dataexports,args.datasettitle,args.publisher,args.publishingorg)
3744+
docgen=OntDocGeneration(prefixes,args.prefixns,args.prefixnsshort,args.license,args.labellang,outpath[-1],g,args.createIndexPages,args.createCollections,args.metadatatable,args.nonnspages,args.createvowl,args.ogcapifeatures,args.iiifmanifest,args.ckanapi,args.solidexport,args.localOptimized,args.imagemetadata,args.startconcept,args.deploypath,args.logourl,args.templatename,args.offlinecompat,dataexports,args.datasettitle,args.publisher,args.publishingorg)
37343745
docgen.generateOntDocForNameSpace(args.prefixns,dataformat="HTML")
37353746
except Exception as inst:
37363747
print("Could not parse "+str(fp))

0 commit comments

Comments
 (0)