canParse method

  1. @override
bool canParse(
  1. String content
)
override

Determines if the content is likely in Turtle format

This method performs a heuristic analysis of the content to check if it appears to be in Turtle format. It looks for common Turtle syntax markers such as prefix declarations, common RDF prefixes, and triple patterns.

The method uses a lightweight approach that balances accuracy with performance, avoiding a full parse while still providing reasonable detection capability.

Parameters:

  • content The string content to analyze

Returns:

  • true if the content appears to be in Turtle format

Implementation

@override
bool canParse(String content) {
  // Simple heuristics for detecting Turtle format
  final trimmed = content.trim();

  // Check for common Turtle prefixes, predicates or statements
  return trimmed.contains('@prefix') ||
      trimmed.contains('@base') ||
      // Look for triple pattern ending with dot
      RegExp(r'.*\s+.*\s+.*\s*\.$', multiLine: true).hasMatch(trimmed) ||
      // Check for common RDF prefix declarations
      trimmed.contains('prefix rdf:') ||
      trimmed.contains('prefix rdfs:') ||
      trimmed.contains('prefix owl:') ||
      trimmed.contains('prefix xsd:');
}