Cross Reference: /ontohub/app/models/ontology.rb
ontology.rb revision 77ccd99c84e9f4689ffa28fc7f0870ab5d4803bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
0075dcb5aeeee4864fe9f64db82c8a8202bbe6d6henning muellerclass Ontology < ActiveRecord::Base
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale # Ontohub Library Includes
432ee743a5f1c5688c73446b5977b06ed97fb67cJulian Kornberger include Commentable
418f6b8fb54a23686e8a384a65903df27e59c03bhenning mueller include Permissionable
d0e19b833d7f9c691a36342c365029720c095742henning mueller include Metadatable
d0e19b833d7f9c691a36342c365029720c095742henning mueller
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale # Ontology Model Includes
7a522a1916e13f0cdbf191f633a4fc2523444038Daniel Couto Vale include Ontology::Import
ec96c6e3605c2e9eb5c0113e4e1b07b3b5228c8chenning mueller include Ontology::States
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale include Ontology::Versions
22e260fcd85642794d99c2ffaa333f2ef6ed7828Daniel Couto Vale include Ontology::Entities
22e260fcd85642794d99c2ffaa333f2ef6ed7828Daniel Couto Vale include Ontology::Sentences
9f820b8418985826ffbe714a8c509ff34db315a7Julian Kornberger include Ontology::Links
d95c0de1fbdb66e2aa8d2dc223ad554413f1dc87Julian Kornberger include Ontology::Distributed
77ccd99c84e9f4689ffa28fc7f0870ab5d4803bdIngo Becker include Ontology::Oops
cad2121a9e9a87317333b202956ce7478efcc257henning mueller
e165d93c5dc7e3989fdbde84d77e7ffdd40d73e2Daniel Vale belongs_to :language
0cd37f42517da8081f1e90a0fdfbb82a526c1704henning mueller belongs_to :logic, counter_cache: true
3eedfb6dd90308259bcfeddaa2cc883c1219df76henning mueller
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale attr_accessible :iri, :name, :description, :logic_id
ec96c6e3605c2e9eb5c0113e4e1b07b3b5228c8chenning mueller
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale validates_presence_of :iri
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale validates_uniqueness_of :iri, :if => :iri_changed?
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale validates_format_of :iri, :with => URI::regexp(ALLOWED_URI_SCHEMAS)
c089c2e01fd049de4c25af718af1a26b8846c890Julian Kornberger
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale strip_attributes :only => [:name, :iri]
93601837822998e6b847baa46d986f7cfc21d46fDaniel Couto Vale
341f09a83aa18635a9b1651a988a81d0d5a55d6fJulian Kornberger scope :search, ->(query) { where "iri #{connection.ilike_operator} :term OR name #{connection.ilike_operator} :term", :term => "%" << query << "%" }
d8b7df2cba9b3621f0464cdd2b07ed255ae590e0henning mueller scope :done_sorted_by_entities_count, where(state: 'done').order('ontologies.entities_count desc')
93601837822998e6b847baa46d986f7cfc21d46fDaniel Couto Vale
7ef46b1adca473f664769a44a378e9f08385d3a0Julian Kornberger def to_s
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale name? ? name : iri
7ef46b1adca473f664769a44a378e9f08385d3a0Julian Kornberger end
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger # title for links
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger def title
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale name? ? iri : nil
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger end
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale def symbols
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale entities
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale end
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale def symbols_count
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale entities_count
a2cfedf970eadd36fa2b5e81c2e8a24396a86792Daniel Couto Vale end
ffddc54fc6bb11130abd3281dcd95159c7f3ce7fJulian Kornberger
0075dcb5aeeee4864fe9f64db82c8a8202bbe6d6henning muellerend