From b709e4ff1a10c26fc965ea9f9fc0d46b2cc7d9d5 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 19 Mar 2020 17:55:11 +0100 Subject: lv2specgen: Add list of subclasses to class documentation --- lv2specgen/lv2specgen.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'lv2specgen') diff --git a/lv2specgen/lv2specgen.py b/lv2specgen/lv2specgen.py index d4d360a..fbecb23 100755 --- a/lv2specgen/lv2specgen.py +++ b/lv2specgen/lv2specgen.py @@ -460,7 +460,7 @@ def rdfsClassInfo(term, m): global classdomains doc = "" - # Find subClassOf information + # Find superclasses superclasses = set() for st in findStatements(m, term, rdfs.subClassOf, None): if not isBlank(getObject(st)): @@ -474,6 +474,20 @@ def rdfsClassInfo(term, m): doc += getProperty(getTermLink(superclass), first) first = False + # Find subclasses + subclasses = set() + for st in findStatements(m, None, rdfs.subClassOf, term): + if not isBlank(getObject(st)): + uri = getSubject(st) + subclasses |= set([uri]) + + if len(subclasses) > 0: + doc += "\nSuperclass of" + first = True + for superclass in sorted(subclasses): + doc += getProperty(getTermLink(superclass), first) + first = False + # Find out about properties which have rdfs:domain of t d = classdomains.get(str(term), "") if d: -- cgit v1.2.1