parsing csv information

This commit is contained in:
Biniam Abraha Masa 2024-05-24 10:59:00 +02:00
parent 7939e029e7
commit 835e4e8b9a
7 changed files with 328 additions and 48 deletions

View File

@ -19,13 +19,6 @@
<attribute name="test" value="true"/> <attribute name="test" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>

View File

@ -62,7 +62,11 @@
<artifactId>slf4j-api</artifactId> <artifactId>slf4j-api</artifactId>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.5.2</version>
</dependency>

View File

@ -3,6 +3,7 @@ package org.gcube.vremanagement;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
public class App { public class App {
@ -10,12 +11,20 @@ public class App {
// Create here the CSV and XML managers object to parse and sync the XML with the CSV file // Create here the CSV and XML managers object to parse and sync the XML with the CSV file
//CsvManager csvManager = new CsvManager("/home/biniam/eclipse-workspace/vre-removed-publisher/src/main/resources/updated_VREDecommisioned-240326.csv"); //CsvManager csvManager = new CsvManager("/home/biniam/eclipse-workspace/vre-removed-publisher/src/main/resources/updated_VREDecommisioned-240326.csv");
String filePath = "src/main/resources"; String filePath = "src/main/resources";
String filename = "doc.xml"; String filename = "src/main/resources/doc.xml";
XmlManager xmlManager = new XmlManager(filePath+File.separator+filename); String csvFilename = "src/main/resources/updated_VREDecommisioned-240326.csv";
XmlManager xmlManager = new XmlManager(filename);
CsvManager csvManager= new CsvManager(csvFilename);
// Parse CSV and XML files // Parse CSV and XML files
//csvManager.parse();
csvManager.parse();
xmlManager.parse(); xmlManager.parse();
List<HashMap<String, String>> csvData = csvManager.readCSV(csvFilename);
csvManager.printCSVData(csvData);
xmlManager.appendNewDataToXML(csvData,filename);
// Parse XML to HashMap // Parse XML to HashMap
// HashMap<String, ArrayList<Gateway>> gatewayMap = xmlManager.parseToHashMap(); // HashMap<String, ArrayList<Gateway>> gatewayMap = xmlManager.parseToHashMap();
@ -46,14 +55,20 @@ public class App {
}*/ }*/
// methods to query and print information // methods to query and print information
// xmlManager.getGatewaysInfo(); //xmlManager.getGatewaysInfo();
//xmlManager.getVosInfo("AGINFRAPlus Detached Gateway"); //xmlManager.getVosInfo("AGINFRAPlus Detached Gateway");
//xmlManager.getVosInfo("PARTHENOS Detached Gateway"); //xmlManager.getVosInfo("PARTHENOS Detached Gateway");
xmlManager.getVosInfo("BlueBridge Gateway"); //xmlManager.getVosInfo("BlueBridge Gateway");
//xmlManager.getVosInfo("D4Science.org Detached Gateway"); //xmlManager.getVosInfo("D4Science.org Detached Gateway");
//xmlManager.getVosInfo("EOSC-Secretariat Detached Gateway"); //xmlManager.getVosInfo("EOSC-Secretariat Detached Gateway");
//xmlManager.findVo("BlueBridge Gateway", "FARM"); //xmlManager.findVo("BlueBridge Gateway", "FARM");
//xmlManager.findVre("D4Science.org Detached Gateway", "D4OS", "CNROutreach"); //xmlManager.findVre("D4Science.org Detached Gateway", "D4OS", "CNROutreach");
// methods to query and print information for csv
//csvManager.getGatewaysInfo();
} }
} }

View File

@ -1,65 +1,119 @@
package org.gcube.vremanagement; package org.gcube.vremanagement;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader; import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import com.opencsv.CSVParser; import com.opencsv.CSVReader;
import com.opencsv.exceptions.CsvValidationException;
public class CsvManager implements VreRemPubInterface { public class CsvManager implements VreRemPubInterface {
private String filePath; private String filePath;
private ArrayList<String[]> dataList; private HashMap<String, Gateway> gatewaysMap;
public CsvManager(String filePath) { public CsvManager(String filePath) {
this.filePath = filePath; this.filePath = filePath;
System.out.println("CSV manager created!"); this.gatewaysMap = new HashMap<>();
this.dataList = new ArrayList<>();
} }
//CSVMANGAE
public List<HashMap<String, String>> readCSV(String filePath) {
List<HashMap<String, String>> csvData = new ArrayList<>();
try (CSVReader reader = new CSVReader(new FileReader(filePath))) {
String[] headers;
try {
headers = reader.readNext();
String[] nextLine;
while ((nextLine = reader.readNext()) != null) {
HashMap<String, String> row = new HashMap<>();
for (int i = 0; i < headers.length; i++) {
row.put(headers[i], nextLine[i]);
}
csvData.add(row);
}
} catch (CsvValidationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@Override
public void parse() {
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
String[] values = line.split(",");
dataList.add(values);
}
System.out.println("CSV file parsed successfully.");
// Optionally, print the data here
System.out.println("Parsed CSV data: " + dataList);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
return csvData;
} }
public static void printCSVData(List<HashMap<String, String>> csvData) {
if (csvData.isEmpty()) {
System.out.println("No data to display.");
return;
}
// Define the headers in the desired order
String[] orderedHeaders = {
"Ticket #", "Status", "Subject", "VRE Names", "VO", "Gateways",
"Ticket Closed", "Start Time", "End Time", "Managers", "Description"
};
// Print headers
for (String header : orderedHeaders) {
System.out.print(header + "\t");
}
System.out.println();
// Print rows
for (HashMap<String, String> row : csvData) {
for (String header : orderedHeaders) {
System.out.print(row.getOrDefault(header, "") + "\t");
}
System.out.println();
}
}
@Override @Override
public void update() { public void update() {
// Implement update logic if needed // Implement update logic if needed
} }
@Override
public void find() {
// Implement find logic if needed
}
@Override
public void read() {
// Implement read logic if needed
}
@Override
public void write() {
// Implement write logic if needed
}
@Override @Override
public void find() { public void parse() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
@Override
public void read() {
// TODO Auto-generated method stub
}
@Override
public void write() {
// TODO Auto-generated method stub
}
// Other methods...
} }

View File

@ -44,6 +44,26 @@ public class Vres {
public String getEndDate() { public String getEndDate() {
return endDate; return endDate;
} }
// Setter methods
public void setName(String name) {
this.name = name;
}
public void setDescription(String description) {
this.description = description;
}
public void setManager(String manager) {
this.manager = manager;
}
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public void setEndDate(String endDate) {
this.endDate = endDate;
}
// Method to print VRE information // Method to print VRE information
public void printInfo() { public void printInfo() {

View File

@ -11,6 +11,10 @@ import java.util.stream.Collectors;
import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.commons.collections.bag.SynchronizedSortedBag; import org.apache.commons.collections.bag.SynchronizedSortedBag;
import org.w3c.dom.Document; import org.w3c.dom.Document;
@ -134,6 +138,176 @@ public class XmlManager implements VreRemPubInterface {
e.printStackTrace(); e.printStackTrace();
} }
} }
public void appendNewDataToXML(List<HashMap<String, String>> data, String filePath) {
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc;
File xmlFile = new File(filePath);
if (xmlFile.exists()) {
doc = docBuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
} else {
doc = docBuilder.newDocument();
Element rootElement = doc.createElement("Data");
doc.appendChild(rootElement);
}
Element root = doc.getDocumentElement();
for (HashMap<String, String> rowData : data) {
String gatewayName = rowData.get("Gateways");
String gatewayDescription = rowData.get("Description");
Gateway gateway = gatewaysMap.get(gatewayName);
if (gateway == null) {
gateway = new Gateway(gatewayName, gatewayDescription);
gatewaysMap.put(gatewayName, gateway);
appendGatewayToXML(doc, root, gateway);
}
String voKey = rowData.get("vo_key");
String voName = rowData.get("vo_name");
String voScope = rowData.get("vo_scope");
/*Vos vos = findVosInGateway(gateway, voKey);
if (vos == null) {
vos = new Vos(voKey, voScope, voName);
gateway.addVos(vos);
appendVosToXML(doc, gateway, vos);
}
String vreKey = rowData.get("vre_key");
String vreName = rowData.get("VRE names");
String vreDescription = rowData.get("vre_description");
String vreManager = rowData.get("Managers");
String vreStartDate = rowData.get("Start Time");
String vreEndDate = rowData.get("End Time");
Vres vres = findVresInVos(vos, vreKey);
if (vres == null) {
vres = new Vres(vreKey, vreName, vreDescription, vreManager, vreStartDate, vreEndDate);
vos.addVres(vres);
//appendVresToXML(doc, vos, vres);
}*/
}
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(filePath));
transformer.transform(source, result);
System.out.println("New data appended to " + filePath);
} catch (Exception e) {
e.printStackTrace();
}
}
private Vos findVosInGateway(Gateway gateway, String voKey) {
for (Vos vos : gateway.getVosList()) {
if (vos.getKey().equals(voKey)) {
return vos;
}
}
return null;
}
private Vres findVresInVos(Vos vos, String vreKey) {
for (Vres vres : vos.getVresList()) {
if (vres.getKey().equals(vreKey)) {
return vres;
}
}
return null;
}
private void appendGatewayToXML(Document doc, Element root, Gateway gateway) {
Element gatewayElement = doc.createElement("gateway");
root.appendChild(gatewayElement);
Element name = doc.createElement("name");
name.appendChild(doc.createTextNode(gateway.getName()));
gatewayElement.appendChild(name);
Element description = doc.createElement("description");
description.appendChild(doc.createTextNode(gateway.getDescription()));
gatewayElement.appendChild(description);
}
private void appendVosToXML(Document doc, Gateway gateway, Vos vos) {
Element gatewayElement = findGatewayElement(doc, gateway.getName());
Element vosElement = doc.createElement("vos");
gatewayElement.appendChild(vosElement);
Element key = doc.createElement("key");
key.appendChild(doc.createTextNode(vos.getKey()));
vosElement.appendChild(key);
Element name = doc.createElement("name");
name.appendChild(doc.createTextNode(vos.getName()));
vosElement.appendChild(name);
Element scope = doc.createElement("scope");
scope.appendChild(doc.createTextNode(vos.getScope()));
vosElement.appendChild(scope);
}
private void appendVresToXML(Document doc, Vos vos, Vres vres) {
Element vosElement = findVosElement(doc, vos.getKey());
Element vresElement = doc.createElement("vres");
vosElement.appendChild(vresElement);
Element key = doc.createElement("key");
key.appendChild(doc.createTextNode(vres.getKey()));
vresElement.appendChild(key);
Element name = doc.createElement("name");
name.appendChild(doc.createTextNode(vres.getName()));
vresElement.appendChild(name);
Element description = doc.createElement("description");
description.appendChild(doc.createTextNode(vres.getDescription()));
vresElement.appendChild(description);
Element managers = doc.createElement("managers");
managers.appendChild(doc.createTextNode(vres.getManager()));
vresElement.appendChild(managers);
Element startDate = doc.createElement("startdate");
startDate.appendChild(doc.createTextNode(vres.getStartDate()));
vresElement.appendChild(startDate);
Element endDate = doc.createElement("enddate");
endDate.appendChild(doc.createTextNode(vres.getEndDate()));
vresElement.appendChild(endDate);
}
private Element findGatewayElement(Document doc, String gatewayName) {
NodeList gatewayList = doc.getElementsByTagName("gateway");
for (int i = 0; i < gatewayList.getLength(); i++) {
Element gatewayElement = (Element) gatewayList.item(i);
String name = gatewayElement.getElementsByTagName("name").item(0).getTextContent().trim();
if (name.equals(gatewayName)) {
return gatewayElement;
}
}
return null;
}
private Element findVosElement(Document doc, String voKey) {
NodeList vosList = doc.getElementsByTagName("vos");
for (int i = 0; i < vosList.getLength(); i++) {
Element vosElement = (Element) vosList.item(i);
String key = vosElement.getElementsByTagName("key").item(0).getTextContent().trim();
if (key.equals(voKey)) {
return vosElement;
}
}
return null;
}
public void getGatewaysInfo() { public void getGatewaysInfo() {
System.out.println("Name of the Gateway:"); System.out.println("Name of the Gateway:");
gatewaysMap.keySet().stream().filter(gatewayName -> gatewayName.endsWith("Gateway")) gatewaysMap.keySet().stream().filter(gatewayName -> gatewayName.endsWith("Gateway"))

View File

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?><genericResources>
<genericResources>
<Resource version="0.4.x"> <Resource version="0.4.x">
<ID>68322b8f-b916-44b9-9c93-bad8cceb9106</ID> <ID>68322b8f-b916-44b9-9c93-bad8cceb9106</ID>
<Type>GenericResource</Type> <Type>GenericResource</Type>
@ -1096,4 +1095,25 @@
</Body> </Body>
</Profile> </Profile>
</Resource> </Resource>
</genericResources> <gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway><gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway><gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway><gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway><gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway><gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway><gateway><name>https://aginfra.d4science.org</name><description>This VRE supports outbreak investigators in identifying suspect food items at the first steps of an investigation, by providing access to a set of available records of past outbreaks where the same pathogen type has been identified. The objective is to foster a targeted and risk-based sampling strategy of suspect foods that accelerates the process of identifying the source of an ongoing outbreak. Data will be stored and presented in a searchable database, and provided by and shared among the members of the VRE. The database will live from the contribution of the VRE members (i.e. be populated with records of previous outbreaks) at the same time as it serves their purpose: an outbreak investigator can use the database to search for records of past outbreaks where a specific foodborne pathogen type (e.g. serotype, PFGE, MLVA, MLST, …) has been identified, and obtain information on the location, setting, cases and the food source of those outbreaks. It represents a tool from the VRE community to the VRE community.
The VRE contains basic functionalities such as a workspace for sharing items of interest (e.g. outbreak-related scientific publications or reports), a social networking area for supporting the discussions among its members about ongoing outbreaks or retrospective analyses of past outbreaks, and a calendar to real-time sharing of the occurrence of an outbreak. It is also additionally equipped with features that allow the analysis and visualization (graphical and geospatial) of the data shared. </description></gateway><gateway><name>https://blue-cloud.d4science.org</name><description>The Virtual Laboratory supporting the Ocean Hackathon event (https://www.campusmer.fr/Home-4185-0-0-0.html).</description></gateway><gateway><name>https://ariadne.d4science.org</name><description>This Virtual Research Environment is used as a collaborative environment by the members of the NEMIS_LAB working in the ARIADNEplus Project.</description></gateway><gateway><name>https://services.d4science.org</name><description>The BiOnym Virtual Research Environment</description></gateway><gateway><name>https://i-marine.d4science.org</name><description>Produce a collaborative environment to maintain a global knowledge base of stocks and fisheries. It satisfies the need for intelligent identification of stocks and fisheries, the assessment of their status over time, and deep linking to the data sources and assessment history.</description></gateway><gateway><name>http://eosc-secretariat.d4science.org</name><description>The EOSC Secretariat addresses the need for the set-up of an operational framework supporting the overall governance of the European Open Science Cloud. This Virtual Research Environment is conceived to support the activities related to Stakeholders engagement. </description></gateway><gateway><name>https://parthenos.d4science.org</name><description>Parthenos Lab Description</description></gateway><gateway><name>https://bluebridge.d4science.org</name><description>This VRE will support the Online training course on oceanography made in collaboration with the Technical University of Denmark.
It is equipped with the Online Training and the Social Networking applications.</description></gateway><gateway><name>https://tools.openaire.eu/</name><description>This VRE is dedicated to the participants of the first OpenAIRE datathon, to find input datasets and instructions, for Q&amp;A with the organizers and to deposit their results by the end of the Datathon.</description></gateway></genericResources>