genTTLStr function
Serialise key/value pairs keyValuePairs
in TTL format where
Subject: Web ID Predicate: Key Object: Value
Implementation
Future<String> genTTLStr(
List<({String key, dynamic value})> keyValuePairs) async {
assert(keyValuePairs.isNotEmpty);
assert({for (final p in keyValuePairs) p.key}.length ==
keyValuePairs.length); // No duplicate keys
final webId = await getWebId();
assert(webId != null);
final g = Graph();
final f = URIRef(webId!);
final ns = Namespace(ns: appTerms);
for (final p in keyValuePairs) {
g.addTripleToGroups(f, ns.withAttr(p.key), p.value);
}
g.serialize(abbr: 'short');
return g.serializedString;
}