ratingsToTurtle static method

String ratingsToTurtle(
  1. Map<String, double> ratings
)

Converts ratings map to TTL format using proper RDF triples.

Implementation

static String ratingsToTurtle(Map<String, double> ratings) {
  final triples = <URIRef, Map<URIRef, dynamic>>{};

  // Create the ratings list resource.

  final ratingsResource = localNS.withAttr('ratings');
  triples[ratingsResource] = {
    rdfType: movieListType,
    nameProperty: Literal('User Ratings'),
  };

  // Add individual rating definitions.

  for (final entry in ratings.entries) {
    final ratingResource = localNS.withAttr('rating${entry.key}');
    triples[ratingResource] = {
      rdfType: ratingType,
      movieId: Literal(entry.key, datatype: XSD.int),
      value: Literal('${entry.value}', datatype: XSD.double),
    };
  }

  // Define namespace bindings - only bind our custom namespaces.

  final bindNamespaces = {'': localNS};

  return tripleMapToTurtle(triples, bindNamespaces: bindNamespaces);
}