Skip to content
/ omn Public
forked from w3c/omn

W3C Federated Infrastructures Community Group

Notifications You must be signed in to change notification settings

FITeagle/omn

 
 

Repository files navigation

Federated Infrastructures Ontology

Build Status Coverage Status

Abstract

This repository contains the work conducted in the W3C Federated Infrastructures Community Group. It includes a formal information model for federated infrastructures (omn) and a Java library (omnlib) to translate between our Open-Multinet Ontology, GENI v3 RSpecs (plus extensions), OASIS TOSCA, and the IETF NFV models.

Further information

Java omnlib

The Java library helps developers to work with Open-Multinet related ontologies and includes a translator to convert between RDF, GENI RSpec XMLs, and TOSCA XML.

Using it

CLI

mvn compile
cd omnlib
./src/main/bin/omnlib -o ttl -i ./src/test/resources/geni/request/request_bound.xml

Web Service

Assuming you have a running WildFly instance

 cd omnweb
 mvn clean install
 mvn wildfly:deploy

Then convert the file

curl --data-urlencode content@../omnlib/src/test/resources/geni/request/request_bound.xml http://127.0.0.1:8080/omnweb/convert/request/ttl
curl --data-urlencode content@../omnlib/src/test/resources/geni/request/request_bound.xml http://demo.fiteagle.org:8080/omnweb/convert/request/ttl

Developing it

Using it in your own project

Add this repository to your pom.xml file:

<project>
  ...
  <repositories>
    <repository>
      <id>sonatype</id>
      <url>https://oss.sonatype.org/content/groups/public/</url>
    </repository>
  </repositories>
  ...
  <dependencies>
    <dependency>
      <groupId>info.open-multinet</groupId>
      <artifactId>omnlib</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
  </dependencies>
  ...
</project>

Enhancing the library

  1. Checkout the code
  2. Run "mvn clean compile" to auto generate binding files
  3. Open with IDE (e.g. Eclipse or IntelliJ)

Directory Layout

  • bin: executables
  • data: example data to work with (to help validating and discussing the ontologies)
  • generated: auto generated files based (e.g. documentation, graphical representation, other serializations)
  • import: related ontologies to be reused (second main focus)
  • ontologies: upper ontologies (to main focus)
  • queries: example queries to work with (to help validating and discussing the ontologies)
  • src: omnlib (Java implementation and tests)

Suggested Tools

  • sparql (command line tool from jena to query data)
  • Protégé (graphical ontology editor)
  • Eclipse Xturtle (text based ontology editor with code completion and simple validation)
  • rdf.sh (command line ontology tools)
  • OwlToUml (to visualize simple ontologies as plantuml diagrams)
  • rapper (command line tool to convert and check ontologies)
  • lodlive (user friendly vizualization of a sparql endpoint)
  • yasgui (user friendly query of a sparql endpoint)
  • LODE (documentation generator for OWL files)

How To (rather old approach)

Run example Queries

./bin/runQuery.sh

Example (pre defined): Get the published nodes

./bin/runQuery.sh example2

Example (arbitrary): Get the status of the nodes for FLS

./bin/runQuery.sh advertisement-fp getnodestatus

About

W3C Federated Infrastructures Community Group

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 43.7%
  • Web Ontology Language 42.9%
  • CSS 5.1%
  • HTML 5.0%
  • Ruby 2.6%
  • Perl 0.4%
  • Other 0.3%