rdf4h icon indicating copy to clipboard operation
rdf4h copied to clipboard

Invalid RDF format when writing to file

Open koslambrou opened this issue 4 years ago • 0 comments

Problem: Invalid Turtle RDF when writing to file.

Sample code:

{-# LANGUAGE OverloadedStrings          #-}

module Main where

import Data.RDF
import           Text.RDF.RDF4H.TurtleParser
import           Text.RDF.RDF4H.TurtleSerializer
import System.Exit
import qualified Data.Map as Map
import qualified Data.Text as Text
import System.IO

main = do
  writeRdfToFileTest

writeRdfToFileTest = do
  let t1 = Triple (unode "/void/Dataset") (unode "http://www.w3.org/1999/02/22-rdf-syntax-ns#type") (unode "http://rdfs.org/ns/void#DatasetDescription")
  let triples = [t1]
  let graph = mkRdf triples Nothing (PrefixMappings Map.empty) :: RDF TList

  let graphFpath = Text.unpack "rdftest.ttl"
  withFile
    graphFpath
    WriteMode
    (\h -> hWriteRdf (TurtleSerializer Nothing (prefixMappings graph)) h graph)

Actual file content:

/void/Dataset <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://rdfs.org/ns/void#DatasetDescription> .

This is invalid Turtle syntax.

koslambrou avatar Jan 03 '21 13:01 koslambrou