ontology-united 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ef0bf5863b23a554f1dc5a86bd0be1d4307a1de3
4
+ data.tar.gz: 5220f4ed1b6c8515344fe4484eba00cdd525891b
5
+ SHA512:
6
+ metadata.gz: b6a60f8c8ed792e131f0197af0220292a136db44e5d148e36f6caeb4445052f36f94d3f77b5bfd90c666cb545e909038fd1b45912e30775e6410a4448ce23866
7
+ data.tar.gz: ba969589d3eda647f2ecc4b48a2030072082183d75435203c8ee94d6c9f66c4f40c57ecdded28fd8cfd07f1dd5e8799f3088519b67c31f673a1de8e81f8a9d83
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ cache: bundler
3
+ rvm:
4
+ - 2.1.1
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ontology-united.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Tim Reddehase
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,33 @@
1
+ # ontology-united
2
+
3
+ ontology-united is a small DSL (domain specific language) for
4
+ writing [OWL][owl] ontologies.
5
+
6
+ It is mainly intended as a gem to be used as part of
7
+ the [ontohub][ontohub] project to create ontologies for testing in
8
+ order to not rely on fixtures. See the corresponding issue
9
+ (ontohub/ontohub#786).
10
+
11
+ Currently it supports only the [manchester syntax][manchester]
12
+ as serialization
13
+ mechanism and is fairly limited in its owl support.
14
+ However it will be further developed, maintained and extended.
15
+
16
+ [owl]: http://www.w3.org/TR/owl2-overview/
17
+ [ontohub]: https://github.com/ontohub/ontohub
18
+ [manchester]: http://www.w3.org/2007/OWL/wiki/ManchesterSyntax
19
+
20
+ ## Installation
21
+
22
+ Add this line to your application's Gemfile:
23
+
24
+ gem 'ontology-united'
25
+
26
+ And then execute:
27
+
28
+ $ bundle
29
+
30
+ Or install it yourself as:
31
+
32
+ $ gem install ontology-united
33
+
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
7
+
@@ -0,0 +1,9 @@
1
+ module OntologyUnited
2
+ module Convenience
3
+
4
+ def define_ontology(*args, &block)
5
+ OntologyUnited::DSL::OntologyDSL.define(*args, &block)
6
+ end
7
+
8
+ end
9
+ end
@@ -0,0 +1,45 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class BaseDSL
4
+
5
+ class << self
6
+
7
+ attr_writer :stack
8
+ attr_reader :the_attr_readers
9
+ attr_reader :current
10
+
11
+ def attr_reader_with_default(*readers, default: nil)
12
+ raise ArgumentError, 'Default value for reader needed' if default.nil?
13
+ attr_reader *readers
14
+ @the_attr_readers ||= {}
15
+ klass = default.is_a?(Class) ? default : default.class
16
+ readers.each { |reader| @the_attr_readers[reader] = klass }
17
+ end
18
+
19
+ def stack
20
+ @stack ||= []
21
+ end
22
+
23
+ def current
24
+ self.stack.last
25
+ end
26
+
27
+ end
28
+
29
+ def establish_defaults
30
+ self.class.the_attr_readers.each do |var, klass|
31
+ self.instance_variable_set(:"@#{var}", klass.new)
32
+ end
33
+ end
34
+
35
+ def stack
36
+ self.class.stack
37
+ end
38
+
39
+ def current
40
+ self.class.current
41
+ end
42
+
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,88 @@
1
+ require 'tempfile'
2
+ require 'set'
3
+
4
+ module OntologyUnited
5
+ module DSL
6
+ class Ontology < BaseDSL
7
+
8
+ attr_reader_with_default :the_classes, :the_imports,
9
+ :the_sentences, :the_prefixes, default: Set
10
+ attr_reader :name
11
+
12
+ def initialize(name)
13
+ establish_defaults
14
+ @name = name
15
+ end
16
+
17
+ def elements
18
+ the_prefixes + the_imports + the_classes + the_sentences
19
+ end
20
+
21
+ def iri
22
+ create_tempfile if @iri.nil?
23
+ @iri
24
+ end
25
+
26
+ def class(name=nil)
27
+ if name.nil?
28
+ super()
29
+ else
30
+ ontology_class = OntologyClass.new(name)
31
+ the_classes << ontology_class
32
+ ontology_class
33
+ end
34
+ end
35
+
36
+ alias_method :ontology_class, :class
37
+
38
+ def define(*args, &block)
39
+ OntologyDSL.define(*args, &block)
40
+ end
41
+
42
+ def imports(arg, &block)
43
+ if block || arg.is_a?(Ontology)
44
+ ontology = arg
45
+ arg = define(ontology.name, &block)
46
+ end
47
+ the_import = OntologyImport.new(arg)
48
+ the_imports << the_import
49
+ the_import
50
+ end
51
+
52
+ def prefix(prefix, iri=self)
53
+ the_prefix = OntologyPrefix.new(prefix, iri)
54
+ the_prefixes << the_prefix
55
+ the_prefix
56
+ end
57
+
58
+ def sub_class_of(child_ontology_class, parent_ontology_class)
59
+ sentence = OntologySentence.new([
60
+ child_ontology_class,
61
+ 'SubClassOf:',
62
+ parent_ontology_class
63
+ ])
64
+ parent_ontology_class.part_of(sentence)
65
+ the_sentences << sentence
66
+ sentence
67
+ end
68
+
69
+ def to_s(serializer: OntologyUnited::Serializer::DEFAULT.new)
70
+ serializer.serialize_ontology(self)
71
+ end
72
+
73
+ def file
74
+ @file ||= create_tempfile
75
+ end
76
+
77
+ def create_tempfile
78
+ filename = name.match(%r(([^/]+)\.\w+$))[1]
79
+ file = Tempfile.new([filename, '.owl'])
80
+ @iri = "file://#{file.path}"
81
+ file.write(self.to_s)
82
+ file.rewind
83
+ file
84
+ end
85
+
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,23 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class OntologyClass < OntologyEntityBase
4
+
5
+ attr_accessor :prefix
6
+ attr_reader :name
7
+ delegate_equality_to method: :name
8
+
9
+ def initialize(name)
10
+ @name = name
11
+ end
12
+
13
+ def sub_class_of(parent_ontology_class)
14
+ parent.sub_class_of(self, parent_ontology_class)
15
+ end
16
+
17
+ def to_s(serializer: OntologyUnited::Serializer::DEFAULT.new)
18
+ serializer.serialize_class(self)
19
+ end
20
+
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,21 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class OntologyDSL < BaseDSL
4
+
5
+ def self.define(name, &block)
6
+ ontology = Ontology.new(name)
7
+ stack.push(ontology)
8
+ if block
9
+ if block.arity == 1
10
+ block.call(ontology)
11
+ else
12
+ ontology.instance_eval(&block)
13
+ end
14
+ end
15
+ stack.pop
16
+ ontology
17
+ end
18
+
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,52 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class OntologyEntityBase
4
+
5
+ attr_reader :the_calls
6
+
7
+ def self.delegate_equality_to(method: nil, variable: nil)
8
+ define_method :eql? do |obj|
9
+ if method
10
+ self.send(method.to_sym).eql?(obj.send(method.to_sym))
11
+ elsif variable
12
+ own = self.instance_variable_get(:"@#{variable}")
13
+ other = obj.instance_variable_get(:"@#{variable}")
14
+ own.eql?(other)
15
+ end
16
+ end
17
+ define_method :hash do
18
+ if method
19
+ self.send(method).hash
20
+ elsif variable
21
+ self.instance_variable_get(:"@#{variable}")
22
+ end
23
+ end
24
+
25
+ end
26
+
27
+ def parent
28
+ OntologyDSL.current
29
+ end
30
+
31
+ def part_of(element)
32
+ @part_of ||= Set.new
33
+ @part_of << element
34
+ end
35
+
36
+ def part_of?(element)
37
+ @part_of ||= Set.new
38
+ @part_of.member?(element)
39
+ end
40
+
41
+ def called_for_parent_before?(method)
42
+ @the_calls ||= {}
43
+ !! the_calls[[parent, method]]
44
+ end
45
+
46
+ def eql?(object)
47
+ (self <=> object) == 0
48
+ end
49
+
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,20 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class OntologyImport < OntologyEntityBase
4
+
5
+ attr_reader :iri, :ontology, :subject
6
+ delegate_equality_to method: :subject
7
+
8
+ def initialize(arg)
9
+ @iri = arg if arg.is_a?(String)
10
+ @ontology = arg if arg.is_a?(Ontology)
11
+ @subject = arg
12
+ end
13
+
14
+ def to_s(serializer: OntologyUnited::Serializer::DEFAULT.new)
15
+ serializer.serialize_import(self)
16
+ end
17
+
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,37 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class OntologyPrefix < OntologyEntityBase
4
+
5
+ attr_reader :prefix, :iri, :ontology, :subject
6
+ delegate_equality_to method: :prefix
7
+
8
+ def initialize(prefix, arg)
9
+ @prefix = prefix
10
+ @iri = arg if arg.is_a?(String)
11
+ @ontology = arg if arg.is_a?(Ontology)
12
+ @subject = arg
13
+ end
14
+
15
+ def class(name=nil)
16
+ if name.nil?
17
+ super()
18
+ else
19
+ ontology_class = parent.class(name)
20
+ ontology_class.prefix = self
21
+ ontology_class
22
+ end
23
+ end
24
+
25
+ alias_method :ontology_class, :class
26
+
27
+ def apply(ontology_class)
28
+ "#{prefix}:#{ontology_class.name}"
29
+ end
30
+
31
+ def to_s(serializer: OntologyUnited::Serializer::DEFAULT.new)
32
+ serializer.serialize_prefix(self)
33
+ end
34
+
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,18 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class OntologySentence < OntologyEntityBase
4
+
5
+ attr_reader :sentence
6
+ delegate_equality_to method: :sentence
7
+
8
+ def initialize(sentence)
9
+ @sentence = sentence
10
+ end
11
+
12
+ def to_s(serializer: OntologyUnited::Serializer::DEFAULT.new)
13
+ serializer.serialize_sentence(self)
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ module OntologyUnited
2
+ module DSL
3
+ class Error < ::StandardError; end
4
+ class NotImplementedError < Error; end
5
+
6
+ def self.define_ontology
7
+
8
+ end
9
+ end
10
+ end
11
+
12
+ require "ontology-united/dsl/base_dsl"
13
+ require "ontology-united/dsl/ontology_entity_base"
14
+ require "ontology-united/dsl/ontology"
15
+ require "ontology-united/dsl/ontology_class"
16
+ require "ontology-united/dsl/ontology_dsl"
17
+ require "ontology-united/dsl/ontology_import"
18
+ require "ontology-united/dsl/ontology_prefix"
19
+ require "ontology-united/dsl/ontology_sentence"
@@ -0,0 +1,58 @@
1
+ module OntologyUnited::Serializer
2
+ module OWL
3
+ class Manchester < SerializerBase
4
+
5
+ def serialize_ontology(ontology)
6
+ process ontology do
7
+ str = "Ontology: <#{ontology.iri}>\n"
8
+ str << join(ontology.elements, "\n") do |element|
9
+ element.to_s(serializer: self)
10
+ end
11
+ end
12
+ end
13
+
14
+ def serialize_prefix(ontology_prefix)
15
+ process ontology_prefix do
16
+ "Prefix: #{ontology_prefix.prefix}: " <<
17
+ "<#{ontology_prefix.iri || ontology_prefix.ontology.iri}#>"
18
+ end
19
+ end
20
+
21
+ def serialize_import(ontology_import)
22
+ process ontology_import do
23
+ "Import: <#{ontology_import.iri || ontology_import.ontology.iri}>"
24
+ end
25
+ end
26
+
27
+ def serialize_class(ontology_class)
28
+ process ontology_class do
29
+ prefix = ontology_class.prefix
30
+ if prefix
31
+ print_name = prefix.apply(ontology_class)
32
+ else
33
+ print_name = "<#{ontology_class.name}>"
34
+ end
35
+ "#{'Class: ' if class_definition?(ontology_class)}#{print_name}"
36
+ end
37
+ end
38
+
39
+ def serialize_sentence(ontology_sentence)
40
+ opts = {serializer: self}
41
+ process ontology_sentence do
42
+ first_class, middle, second_class = ontology_sentence.sentence
43
+ "#{first_class.to_s(opts)} #{middle} #{second_class.to_s(opts)}"
44
+ end
45
+ end
46
+
47
+ def class_definition?(ontology_class)
48
+ # if no parent is set
49
+ parent_current.nil? ||
50
+ # or the parent is an ontology itself
51
+ ontology?(parent_current) ||
52
+ # or it is the first symbol of a sentence
53
+ sentence?(parent_current) && parent_current.sentence.first == ontology_class
54
+ end
55
+
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,9 @@
1
+ module OntologyUnited
2
+ module Serializer
3
+ module OWL
4
+
5
+ end
6
+ end
7
+ end
8
+
9
+ require "ontology-united/serializer/owl/manchester"
@@ -0,0 +1,47 @@
1
+ module OntologyUnited
2
+ module Serializer
3
+ class SerializerBase
4
+ attr_accessor :current, :parent_current
5
+
6
+ def initialize(current: nil)
7
+ self.current = current
8
+ self.parent_current = nil
9
+ end
10
+
11
+ def process(subject, &block)
12
+ previous_parent = mark!(subject)
13
+ result = block.call
14
+ mark!(parent_current, previous_parent)
15
+ result
16
+ end
17
+
18
+ def mark!(subject, parent=nil)
19
+ previous_parent = parent_current
20
+ parent_current = parent || current
21
+ current = subject
22
+ previous_parent
23
+ end
24
+
25
+ def join(elements, sep)
26
+ elements.reduce('') do |str, raw_element|
27
+ str << sep unless str.empty?
28
+ element = yield raw_element
29
+ str << element
30
+ end
31
+ end
32
+
33
+ def ontology?(subject)
34
+ subject.is_a?(OntologyUnited::DSL::Ontology)
35
+ end
36
+
37
+ def class?(subject)
38
+ subject.is_a?(OntologyUnited::DSL::OntologyClass)
39
+ end
40
+
41
+ def class?(subject)
42
+ subject.is_a?(OntologyUnited::DSL::OntologySentence)
43
+ end
44
+
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,8 @@
1
+ require "ontology-united/serializer/serializer_base"
2
+ require "ontology-united/serializer/owl"
3
+
4
+ module OntologyUnited
5
+ module Serializer
6
+ DEFAULT = OWL::Manchester
7
+ end
8
+ end
@@ -0,0 +1,3 @@
1
+ module OntologyUnited
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,8 @@
1
+ require "ontology-united/version"
2
+
3
+ module OntologyUnited
4
+ end
5
+
6
+ require "ontology-united/dsl"
7
+ require "ontology-united/serializer"
8
+ require "ontology-united/convenience"
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'ontology-united/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "ontology-united"
8
+ spec.version = OntologyUnited::VERSION
9
+ spec.authors = ["Tim Reddehase"]
10
+ spec.email = ["robustus@rightsrestricted.com"]
11
+ spec.summary = %q{small ontology definition dsl}
12
+ spec.description = %q{a small domain specific language for writing owl based ontologies}
13
+ spec.homepage = "https://github.com/0robustus1/ontology-united"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", ">= 1.5.3"
22
+ spec.add_development_dependency "rake", "~> 10.2"
23
+ spec.add_development_dependency "rspec", "~> 2.14"
24
+ spec.add_development_dependency "pry", "~> 0.9"
25
+ end
@@ -0,0 +1,33 @@
1
+ require 'spec_helper'
2
+ require 'uri'
3
+
4
+ describe OntologyUnited do
5
+
6
+ it 'has a version number' do
7
+ expect(OntologyUnited::VERSION).not_to be nil
8
+ end
9
+
10
+ context 'when issueing a standard definition' do
11
+ let(:ontology) do
12
+ OntologyUnited::DSL::OntologyDSL.define('Foo.owl') do
13
+ rr = prefix('rr', self)
14
+ imports define('Bar.owl') do
15
+ rr = prefix('rr', self)
16
+ rr.class('SomeBar')
17
+ end
18
+ rr.class('Bar').sub_class_of rr.class('Foo')
19
+ rr.class('something')
20
+ rr.class('something').sub_class_of rr.class('Foo')
21
+ end
22
+ end
23
+
24
+ it 'should raise no errors' do
25
+ expect { ontology }.not_to raise_error
26
+ end
27
+
28
+ it 'should have a valid iri' do
29
+ expect(ontology.iri).to match(URI.regexp)
30
+ end
31
+ end
32
+
33
+ end
@@ -0,0 +1,60 @@
1
+ require 'spec_helper'
2
+
3
+ describe OntologyUnited::Serializer::OWL::Manchester do
4
+ let(:manchester) { OntologyUnited::Serializer::OWL::Manchester }
5
+ let(:name) { 'OntologyName' }
6
+ let(:list) do
7
+ the_prefix, ontology_class, sentence = nil
8
+ o = OntologyUnited::DSL::OntologyDSL.define("#{name}.owl") do
9
+ the_prefix = prefix('some', self)
10
+ ontology_class = the_prefix.class('Foobar')
11
+ sentence = ontology_class.sub_class_of the_prefix.class('NoBar')
12
+ end
13
+ [o, the_prefix, ontology_class, sentence]
14
+ end
15
+ let(:ontology) { list[0] }
16
+ let(:prefix) { list[1] }
17
+ let(:ontology_class) { list[2] }
18
+ let(:sentence) { list[3] }
19
+
20
+ context 'when serializing an ontology' do
21
+ let(:serialized) { ontology.to_s(serializer: manchester.new) }
22
+
23
+ it 'should contain the prefix definition' do
24
+ expect(serialized).to include(prefix.to_s(serializer: manchester.new))
25
+ end
26
+
27
+ it 'should contain the ontology class definition' do
28
+ expect(serialized).to include(ontology_class.to_s(serializer: manchester.new))
29
+ end
30
+
31
+ it 'should contain the sentence definition' do
32
+ expect(serialized).to include(sentence.to_s(serializer: manchester.new))
33
+ end
34
+ end
35
+
36
+ context 'when serializing an ontology class' do
37
+ let(:serialized) { ontology_class.to_s(serializer: manchester.new) }
38
+
39
+ it 'should be a valid manchester syntax class definition' do
40
+ expect(serialized).to eq("Class: some:Foobar")
41
+ end
42
+ end
43
+
44
+ context 'when serializing a prefix' do
45
+ let(:serialized) { prefix.to_s(serializer: manchester.new) }
46
+
47
+ it 'should be a valid manchester syntax prefix definition' do
48
+ expect(serialized).to match(/^Prefix: some: <[^>]+#>$/)
49
+ end
50
+ end
51
+
52
+ context 'when serializing a sentence' do
53
+ let(:serialized) { sentence.to_s(serializer: manchester.new) }
54
+
55
+ it 'should be a valid manchester syntax sentence definition' do
56
+ expect(serialized).to eq("Class: some:Foobar SubClassOf: Class: some:NoBar")
57
+ end
58
+ end
59
+
60
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'ontology-united'
metadata ADDED
@@ -0,0 +1,129 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ontology-united
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Tim Reddehase
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 1.5.3
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 1.5.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.2'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.2'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.14'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.14'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.9'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.9'
69
+ description: a small domain specific language for writing owl based ontologies
70
+ email:
71
+ - robustus@rightsrestricted.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - ".rspec"
77
+ - ".travis.yml"
78
+ - Gemfile
79
+ - LICENSE.txt
80
+ - README.md
81
+ - Rakefile
82
+ - lib/ontology-united.rb
83
+ - lib/ontology-united/convenience.rb
84
+ - lib/ontology-united/dsl.rb
85
+ - lib/ontology-united/dsl/base_dsl.rb
86
+ - lib/ontology-united/dsl/ontology.rb
87
+ - lib/ontology-united/dsl/ontology_class.rb
88
+ - lib/ontology-united/dsl/ontology_dsl.rb
89
+ - lib/ontology-united/dsl/ontology_entity_base.rb
90
+ - lib/ontology-united/dsl/ontology_import.rb
91
+ - lib/ontology-united/dsl/ontology_prefix.rb
92
+ - lib/ontology-united/dsl/ontology_sentence.rb
93
+ - lib/ontology-united/serializer.rb
94
+ - lib/ontology-united/serializer/owl.rb
95
+ - lib/ontology-united/serializer/owl/manchester.rb
96
+ - lib/ontology-united/serializer/serializer_base.rb
97
+ - lib/ontology-united/version.rb
98
+ - ontology-united.gemspec
99
+ - spec/ontology-united/ontology-united_spec.rb
100
+ - spec/ontology-united/serializer/owl/manchester_spec.rb
101
+ - spec/spec_helper.rb
102
+ homepage: https://github.com/0robustus1/ontology-united
103
+ licenses:
104
+ - MIT
105
+ metadata: {}
106
+ post_install_message:
107
+ rdoc_options: []
108
+ require_paths:
109
+ - lib
110
+ required_ruby_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ required_rubygems_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
120
+ requirements: []
121
+ rubyforge_project:
122
+ rubygems_version: 2.2.2
123
+ signing_key:
124
+ specification_version: 4
125
+ summary: small ontology definition dsl
126
+ test_files:
127
+ - spec/ontology-united/ontology-united_spec.rb
128
+ - spec/ontology-united/serializer/owl/manchester_spec.rb
129
+ - spec/spec_helper.rb