Module: Muml_Parameter

Defined in:
lib/ontomde-uml2/cardinality.rb,
lib/ontomde-uml2/umlx.rb,
lib/ontomde-uml2/kb/protege.rb,
lib/ontomde-uml2/autoImplement.rb

Overview

Provides helpers to help map a UML model to a Relationnal database.

Instance Method Summary collapse

Instance Method Details

#prot_writeNTriple_parameter(owner) ⇒ Object



219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/ontomde-uml2/kb/protege.rb', line 219

def prot_writeNTriple_parameter(owner)
  o=self
#    e=owner
#    write("<#{o.prot_uri}> <#{NS_RDF_2000}rdf-schema#domain> <#{e.prot_uri}> .\n");
#    append_comment
#    o.uml_type.each { |t|
#      if (t.kind_of?(Cuml_PrimitiveType))
#        write("<#{o.prot_uri}> <#{NS_RDF_2000}rdf-schema#range> <#{t.prot_uri}> .\n")
#        write(%{<#{o.prot_uri}> <http://protege.stanford.edu/system#range> "#{t.prot_primitive_type}" .\n})
#      elsif t.kind_of?(Cuml_Enumeration)
#        write("<#{o.prot_uri}> <#{NS_RDF_2000}rdf-schema#range> <#{NS_RDF_2000}rdf-schema#Literal> .\n")
#        write(%{<#{o.prot_uri}> <http://protege.stanford.edu/system#range> "symbol" .\n})
#        t.uml_ownedLiteral.each {|c|
#          write(%{<#{o.prot_uri}> <http://protege.stanford.edu/system#allowedValues> "#{c}" .\n})
#        }
#      else
#       write("<#{o.prot_uri}> <#{NS_RDF_2000}rdf-schema#range> <#{t.prot_uri}> .\n")
#      end
#    }
  write("<#{o.prot_uri}> <#{NS_RDF_1999}22-rdf-syntax-ns#type> <http://protege.stanford.edu/kb#UML_SLOT> .\n")
  write("<#{o.prot_uri}> <http://protege.stanford.edu/kb#UML_LABEL> \"#{o.prot_label} (#{owner.prot_label} from #{owner.umlx_owner_one.prot_label})\".\n")
  write("<#{o.prot_uri}> <#{NS_UML_CLASS}#UML_URI> \"#{UriNamespace.instance.unalias(o.rdf_uri)}\" .\n")
  write("<#{o.prot_uri}> <#{RDF_LABEL_URI}> \"#{o.uml_name.to_s.nt_escape}\" .\n")

  cardUp=umlx_upperValueIsOne? ? "1" : "*"
  cardLow=umlx_lowerValueIsZero? ? "0" : "1"

#    if ! uml_qualifier.empty?
#      #qualifiers changes cardinality semantics
#      cardLow="0"
#      cardUp="*"
#    end

  #if isComposition
  # log.debug "est une composition"
  # cardLow="1"
  #end

  if cardLow!="0"
    write("<#{o.prot_uri}> <http://protege.stanford.edu/system#minCardinality> \"#{cardLow}\" .\n")
  end

  if cardUp!="-1"
    write("<#{o.prot_uri}> <http://protege.stanford.edu/system#maxCardinality> \"#{cardUp}\" .\n")
  end    
end

#umlx_copyToAttributeProperty(oa) ⇒ Object

copy elements to the attribute property in Muml_Classifier module



82
83
84
85
86
87
88
# File 'lib/ontomde-uml2/umlx.rb', line 82

def umlx_copyToAttributeProperty(oa)
  oa.uml_upperValue=self.uml_upperValue
  oa.uml_lowerValue=self.uml_lowerValue
  oa.uml_type=self.uml_type
  oa.uml_isOrdered=self.uml_isOrdered
  oa.uml_isUnique=self.uml_isUnique
end

#umlx_oneSide?Boolean

Is this property such an extremity of an SQL mapping ? (lowerValue<=1 && upperValue==1)

Returns:

  • (Boolean)


5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/ontomde-uml2/cardinality.rb', line 5

def umlx_oneSide?
  #assoc = uml_association_one0
  #return false if assoc.nil?
  lowerValue = self.uml_lowerValue_one0
  if !lowerValue.nil?
    return false if lowerValue.umlx_to_i>1
  end
  upperValue = self.uml_upperValue_one0
  if !upperValue.nil?
    return false if upperValue.umlx_to_i!=1
  end
  return true
end

#umlx_signatureObject

Returns parameter signature Examples: String[], int, …



194
195
196
# File 'lib/ontomde-uml2/autoImplement.rb', line 194

def umlx_signature
  return self.uml_type
end