Add Dataset variations.
diff --git a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
index 59c1364..aa206fa 100644
--- a/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
+++ b/jena-fuseki2/jena-fuseki-embedded/src/main/java/org/apache/jena/fuseki/embedded/FusekiEmbeddedServer.java
@@ -36,6 +36,7 @@
 import org.apache.jena.fuseki.server.DataService ;
 import org.apache.jena.fuseki.server.OperationName ;
 import org.apache.jena.fuseki.servlets.FusekiFilter ;
+import org.apache.jena.query.Dataset ;
 import org.apache.jena.sparql.core.DatasetGraph ;
 import org.eclipse.jetty.server.HttpConnectionFactory ;
 import org.eclipse.jetty.server.Server ;
@@ -173,11 +174,22 @@
         }
 
         /* Add the dataset with given name and a default set of services including update */  
+        public Builder add(String name, Dataset ds) {
+            return add(name, ds.asDatasetGraph()) ;
+        }
+
+        /* Add the dataset with given name and a default set of services including update */  
         public Builder add(String name, DatasetGraph dsg) {
             return add(name, dsg, true) ;
         }
 
         /* Add the dataset with given name and a default set of services. */  
+        public Builder add(String name, Dataset ds, boolean allowUpdate) {
+            return add(name, ds.asDatasetGraph(), allowUpdate) ;
+        }
+            
+        
+        /* Add the dataset with given name and a default set of services. */  
         public Builder add(String name, DatasetGraph dsg, boolean allowUpdate) {
             DataService dSrv = FusekiBuilder.buildDataService(dsg, allowUpdate) ; 
             return add(name, dSrv) ;
@@ -191,6 +203,13 @@
         /* Add an operation, specifing it's endpoint name.
          * This adds endpoints to any existing data service already setup by the builder.   
          */
+        public Builder add(String name, Dataset ds, OperationName opName, String epName) {
+            return add(name, ds.asDatasetGraph(), opName, epName) ; 
+        }
+
+            /* Add an operation, specifing it's endpoint name.
+         * This adds endpoints to any existing data service already setup by the builder.   
+         */
         public Builder add(String name, DatasetGraph dsg, OperationName opName, String epName) {
             DataService dSrv = map.get(name) ;
             if ( dSrv == null ) {
@@ -203,15 +222,20 @@
 
         private Builder add$(String name, DataService dataService) {
             name = DataAccessPoint.canonical(name) ;
-            DataService dSrv = map.get(name) ;
-            if ( dSrv != null ) {
-                DatasetGraph dsg1 = dSrv.getDataset() ;
-                DatasetGraph dsg2 = dataService.getDataset() ;
-                if ( dsg1 != dsg2 ) // Object identity
-                    throw new FusekiConfigException("Attempt to add a DataService for a different dataset: "+name) ;
-                dSrv.getOperations() ;
-            } else
-                map.put(name, dataService) ;
+            if ( map.containsKey(name) )
+                throw new FusekiConfigException("Attempt to add a DataService for a different dataset: "+name) ;
+            map.put(name, dataService) ;
+            
+            // Merge endpoints : too complicated 
+//            DataService dSrv = map.get(name) ;
+//            if ( dSrv != null ) {
+//                DatasetGraph dsg1 = dSrv.getDataset() ;
+//                DatasetGraph dsg2 = dataService.getDataset() ;
+//                if ( dsg1 != dsg2 ) // Object identity
+//                    throw new FusekiConfigException("Attempt to add a DataService for a different dataset: "+name) ;
+//                dSrv.getOperations() ;
+//            } else
+//                map.put(name, dataService) ;
             return this ;
         }
         
diff --git a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
index 8341342..cbc0adb 100644
--- a/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
+++ b/jena-fuseki2/jena-fuseki-embedded/src/test/java/org/apache/jena/fuseki/embedded/TestEmbeddedFuseki.java
@@ -37,10 +37,7 @@
 import org.apache.jena.fuseki.server.DataService ;
 import org.apache.jena.fuseki.server.OperationName ;
 import org.apache.jena.graph.Graph ;
-import org.apache.jena.query.QueryExecution ;
-import org.apache.jena.query.QueryExecutionFactory ;
-import org.apache.jena.query.ResultSet ;
-import org.apache.jena.query.ResultSetFormatter ;
+import org.apache.jena.query.* ;
 import org.apache.jena.riot.RDFDataMgr ;
 import org.apache.jena.riot.RDFFormat ;
 import org.apache.jena.riot.RDFLanguages ;
@@ -73,6 +70,18 @@
         server.stop() ;
     }
     
+    @Test public void embedded_01a() {
+        Dataset ds = DatasetFactory.createTxnMem() ;
+        FusekiEmbeddedServer server = FusekiEmbeddedServer.create().add("/ds", ds).build() ;
+        assertTrue(DataAccessPointRegistry.get().isRegistered("/ds")) ;
+        server.start() ;
+        query("http://localhost:3330/ds/query", "SELECT * { ?s ?p ?o}", qExec-> {
+            ResultSet rs = qExec.execSelect() ; 
+            assertFalse(rs.hasNext()) ;
+        }) ;
+        server.stop() ;
+    }
+
     @Test public void embedded_02() {
         DatasetGraph dsg = dataset() ;
         FusekiEmbeddedServer server = FusekiEmbeddedServer.make(3330, "/ds2", dsg) ;