[Fencommits] fenserve: try using Raptor and Turtle in FenServe; now I get raptor errors
Benja Fallenstein
benja.fallenstein at gmail.com
Sun Mar 25 18:14:33 EEST 2007
Fri Mar 23 16:52:03 EET 2007 Benja Fallenstein <benja.fallenstein at gmail.com>
* try using Raptor and Turtle in FenServe; now I get raptor errors
diff -rN -u old-fenserve/FenServe.hs new-fenserve/FenServe.hs
--- old-fenserve/FenServe.hs 2007-03-25 18:14:33.000000000 +0300
+++ new-fenserve/FenServe.hs 2007-03-25 18:14:33.000000000 +0300
@@ -78,7 +78,7 @@
deriving (Show, Read)
emptyState :: Ptr
-emptyState = runStormIO (writeData "" $ Dir (IRI "") []) Map.empty
+emptyState = runStormIO (writeData "ex:" $ Dir (IRI "ex:") []) Map.empty
type Ptr = (Node, Pool)
type FenServe = StateT Node StormIO
@@ -165,16 +165,16 @@
bID :: Node -> BlockId
bID (IRI ('b':'l':'k':':':s)) = BlockId $ takeWhile (/= '#') s
bID node = error $ "Not a block IRI: " ++ show node
-
+
readGraph :: StormMonad m => BlockId -> m Graph
-readGraph bid = do triples <- readBlock bid; let uri = bURI bid
- let triples' = everywhere (mkT $ absolutizeNode uri) triples
- return $ toGraph (IRI uri) (triples' :: Set Triple)
+readGraph bid = do bytes <- getBlock bid; let uri = bURI bid
+ let (ts, nss) = unsafePerformIO $
+ Raptor.bytesToTriples "turtle" bytes uri
+ return $ raptorToGraph ts nss uri
writeGraph :: StormMonad m => Graph -> m BlockId
-writeGraph g = let triples = fromGraph g; uri = iriStr $ defaultGraph g
- triples' = everywhere (mkT $ relativizeNode uri) triples
- in writeBlock (triples' :: Set Triple)
+writeGraph g = do let (ts,nss) = graphToRaptor g; uri = iriStr $ defaultGraph g
+ addBlock $ unsafePerformIO $ Raptor.triplesToBytes ts nss uri
readData :: (FromRDF a, StormMonad m) => Node -> m a
readData node = do graph <- readGraph (bID node)
More information about the Fencommits
mailing list