You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
i had a problem with the transmision of german characters (umlaut were ok, but sz not). the solution i found is to make the select query have a bytestring body and to decode the bytestring into a text.
i cannot attach the connection.hs file with the changes (i am not experience with git, using mostly svn). the change for the select query is
-- |Connect to remote 'EndPoint' and find all possible bindings for the
-- 'Variable's in the 'SelectQuery' action.
selectQuery :: Database.HSparql.Connection.EndPoint -> Query SelectQuery -> IO (Maybe [[BindingValue]])
selectQuery ep q = do
let uri = ep ++ "?" ++ urlEncodeVars [("query", createSelectQuery q)]
h1 = mkHeader HdrAccept "application/sparql-results+xml"
h2 = mkHeader HdrUserAgent "hsparql-client"
request = Request { rqURI = fromJust $ parseURI uri
, rqHeaders = [h1,h2]
, rqMethod = GET
, rqBody = (""::B.ByteString)
-- only string or bytestring has instances
-- possibly the other queries should be changed similarly
}
response <- simpleHTTP request >>= getResponseBody
-- af
-- putStrLn . unwords $ ["before structureContent bytestring", show response]
let response' = E.decodeUtf8 response
-- putStrLn . unwords $ ["before structureContent text", T.unpack response']
return $ structureContent response'
if this approach is ok, then it is probably a good idea to change the other query types similarly.
comments? better solution? (how to push?)
andrew (frank@geoinfo.tuwien.ac.at)
The text was updated successfully, but these errors were encountered:
i had a problem with the transmision of german characters (umlaut were ok, but sz not). the solution i found is to make the select query have a bytestring body and to decode the bytestring into a text.
i cannot attach the connection.hs file with the changes (i am not experience with git, using mostly svn). the change for the select query is
-- |Connect to remote 'EndPoint' and find all possible bindings for the
-- 'Variable's in the 'SelectQuery' action.
selectQuery :: Database.HSparql.Connection.EndPoint -> Query SelectQuery -> IO (Maybe [[BindingValue]])
selectQuery ep q = do
let uri = ep ++ "?" ++ urlEncodeVars [("query", createSelectQuery q)]
h1 = mkHeader HdrAccept "application/sparql-results+xml"
h2 = mkHeader HdrUserAgent "hsparql-client"
request = Request { rqURI = fromJust $ parseURI uri
, rqHeaders = [h1,h2]
, rqMethod = GET
, rqBody = (""::B.ByteString)
-- only string or bytestring has instances
-- possibly the other queries should be changed similarly
}
response <- simpleHTTP request >>= getResponseBody
-- af
-- putStrLn . unwords $ ["before structureContent bytestring", show response]
let response' = E.decodeUtf8 response
-- putStrLn . unwords $ ["before structureContent text", T.unpack response']
return $ structureContent response'
if this approach is ok, then it is probably a good idea to change the other query types similarly.
comments? better solution? (how to push?)
andrew (frank@geoinfo.tuwien.ac.at)
The text was updated successfully, but these errors were encountered: