Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions Dockerfile.amd64
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Use an official Ubuntu base image
FROM ubuntu:20.04
SHELL ["/bin/bash", "-c"]

# Set the working directory to /app
WORKDIR /app

# Install OpenJDK and Maven
RUN apt-get update && \
apt-get install -qq -y openjdk-11-jdk maven curl unzip zip

# Install SDKMAN
RUN curl -s "https://get.sdkman.io" | bash

# Source SDKMAN initialization script and install Scala
RUN /bin/bash -c "source /root/.sdkman/bin/sdkman-init.sh && sdk version && sdk install scala 2.13.8"

# Set JAVA_HOME and update PATH - niyati would change arm to fit correct architecture (.x86_64/)
ENV JAVA_HOME /usr/lib/jvm/java-1.11.0-openjdk-amd64
RUN export JAVA_HOME

RUN echo "alias build='mvn -U clean install -Dlicense.skip=true -P scala-213'" >> ~/.bashrc

RUN echo "alias tests='mvn clean test -Dlicense.skip=true -P scala-213'" >> ~/.bashrc

# Copy the current directory contents into the container at /app
COPY . /app

# Define environment variable
ENV NAME World
30 changes: 30 additions & 0 deletions Dockerfile.arm64
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Use an official Ubuntu base image
FROM ubuntu:20.04
SHELL ["/bin/bash", "-c"]

# Set the working directory to /app
WORKDIR /app

# Install OpenJDK and Maven
RUN apt-get update && \
apt-get install -qq -y openjdk-11-jdk maven curl unzip zip

# Install SDKMAN
RUN curl -s "https://get.sdkman.io" | bash

# Source SDKMAN initialization script and install Scala
RUN /bin/bash -c "source /root/.sdkman/bin/sdkman-init.sh && sdk version && sdk install scala 2.13.8"

# Set JAVA_HOME and update PATH - niyati would change arm to fit correct architecture (.x86_64/)
ENV JAVA_HOME /usr/lib/jvm/java-1.11.0-openjdk-arm64
RUN export JAVA_HOME

RUN echo "alias build='mvn -U clean install -Dlicense.skip=true -P scala-213'" >> ~/.bashrc

RUN echo "alias tests='mvn clean test -Dlicense.skip=true -P scala-213'" >> ~/.bashrc

# Copy the current directory contents into the container at /app
COPY . /app

# Define environment variable
ENV NAME World
File renamed without changes.
71 changes: 71 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# openCypher_ersp

<!-- TABLE OF CONTENTS -->
<details open="open">
<summary>Table of Contents</summary>
<ol>
<li>
<a href="#summary">Summary</a>
</li>
<li><a href="#instructions">Instructions</a></li>
<li><a href="#credits">Credits</a></li>
<li><a href="#license">License</a></li>
<li><a href="#contact">Contact</a></li>
</ol>
</details>

<!-- ABOUT THE PROJECT -->

## Summary

The original codebase is sourced from openCypher.

We are looking into a way to incorporate queries related to graph embeddings.

For example (note: this is not specific to Cypher):
```
FOR researcher IN ‘academics’
FILTER researcher.department == ‘computer science’

FOR collaborator IN 1 . . 3 OUTBOUND researcher GRAPH ‘collaborationGraph’

FILTER SIMILAR_TO(collaborator, ‘researchInterests’, researcher, 10)

RETURN { researcherName: researcher.name, collaboratorName: collaborator.name }
```
<!-- Instructions -->
## Instructions
### For Reproduction:
1. Begin on local machine (or CSIL).
2. If Docker is installed, continue to step 2. If not, please install [Docker](https://www.docker.com/) locally.
3. If you have an ARM64 architecture:
1. From the directory, use the command ```docker build -t oc -f Dockerfile.arm64 .```
- Do not be alarmed if this takes 2-3 minutes to initialize.
4. If you have an Intel (x86_64) architecture:
1. From the directory, use the command ```docker build -t oc -f Dockerfile.amd64 .```
- Do not be alarmed if this takes 2-3 minutes to initialize.
5. Then, ```docker run -it oc```. You will open in an Ubuntu terminal in Linux.
6. Next, we need to build the **maven** project. This is done using the command ```build```. Do not be surprised if this takes several minutes to run.
7. Test the build using ```tests```.
8. For more information, see [Neo4j](https://neo4j.com/developer/contributing-code/).


<!-- Credits -->
## Credits
This work is purely research and built on top of [openCypher](https://github.com/opencypher/openCypher).

<!-- LICENSE -->
## License

Distributed under the Apache License 2.0. See `LICENSE` for more information.

<!-- CONTACT -->
## Contact

Will Corcoran - wcorcoran@ucsb.edu

Wyatt Hamabe - whamabe@ucsb.edu

Niyati Mummidivarapu - niyati@ucsb.edu

Danish Ebadulla - danish_ebadulla (at) umail (dot) ucsb (dot) edu
Loading