#Processed by Id: cwm.py,v 1.129 2003/04/08 16:12:43 timbl Exp # using base file: # Notation3 generation by # notation3.py,v 1.138 2003/04/25 19:12:46 sandro Exp # Base was: file:/mnt/hda4/introspector_home/introspector/cvs/introspector-0.4/ontology/introspector.n3 @prefix : . @prefix class: . @prefix dc: . @prefix owl: . @prefix rdf: . : a owl:Ontology; dc:creator , . ## BASICS :Class rdf:comment "Any class of object in the introspector system" . :was-a a :Property; :comment "allows you to rename objects". :comment a rdf:comment; :comment "another, local name for a comment". rdf:comment a :Property; :comment "the standard comment". rdf:type a :Property; :comment "the type of an object". :can-be a :Property; :comment "defines possible values that a type can be". :defined-by a :Property; :comment "Defines the attribute that defines the membership in this class". :defines a :Property; :see-also :defined-by; :comment "tells you what property is set by the value of this field. each value that is derived from the type that is reference here can be taken. each subclass is selected by the value of this field. ". :domain-possible a :Property; :comment "These are the possible domains that can be taken when this field is set". :range-types a :Property; :comment "The possible values that this field can have". :derived-from a :Property; :comment "This fields value is somehow derived from this other field". :domain a :Property; :comment "The domain of this property. what classes it applies to". :range a :Property; :opposite-of :domain; :comment "The range of this property". :domain-instances a :Property; :comment "The primitive types that this type can apply to". :has-been a :Property; :comment "A list of types of objects that this class has applied to". :opposite-of a :Property; :comment "Defines that two classes or properties are ". :same-as a :Property; :comment "Defines that two properties are equivalent". :see_also a :Property; :comment "see also this other property". :was-a a :Property; a :see_also; :comment "This used to be named this.". class:instance a :Property; :comment "The reverse of an *a*". dc:creator a :Property; :comment "the creator of something". ######## # property classes :AlignedObject class:instance :Declaration, :Type . :SizedObject class:instance :Declaration . :DataAttributeClass class:instance :AlignedObject . # types of objects :Const class:instance :integer_cst, :string_cst . :Declaration class:instance :const_decl, :field_decl, :function_decl, :parm_decl, :result_decl, :type_decl, :var_decl . :List class:instance :tree_list . :NameObject class:instance :identifier_node, :type_decl . :NamedObject class:instance :Declaration, :Type . ## :UseCase class:instance :VisitChain, :Visits . :Expr class:instance :addr_expr, :constructor, :modify_expr . ##### :DerivedProperty a :Property. :FunctionArgsProperty a :DerivedProperty. :NamedProperty a :DerivedProperty. :ArrayProperty a :DerivedProperty. :BooleanProperty a :DerivedProperty. :ChainedProperty a :DerivedProperty. :ClassProperty a :DerivedProperty. :LowLevelProperty a :DerivedProperty. :CppProperty a :DerivedProperty. :DeclProperty a :DerivedProperty. :EnumProperty a :DerivedProperty. :FuncProperty a :DerivedProperty. :FunctionProperty a :DerivedProperty. :IntegerProperty a :DerivedProperty. :ListInternalProperty a :DerivedProperty. :ListProperty a :DerivedProperty. :ExprProperty a :DerivedProperty. :PointerProperty a :DerivedProperty. :StructProperty a :DerivedProperty. :TypeProperty a :DerivedProperty. :TypeRefProperty a :DerivedProperty. :VariableProperty a :DerivedProperty. :GeneralProperty a :DerivedProperty. :IntegerValueProperty a :DerivedProperty. :ClassifierProperty a :DerivedProperty. :DeclStmtProperty a :DerivedProperty. :DeclProperty a :DerivedProperty. :StringProperty a :DerivedProperty. :DeclStmtProperty class:instance :decl. :DeclProperty class:instance :line,:filename,:linenumber. :StringProperty class:instance :lngt,:strg. :FunctionArgsProperty class:instance :args,:argt. :ClassifierProperty class:instance :tree-code-ref. :IntegerValueProperty class:instance :high, :low . :IntegerTypeProperty class:instance :min, :max . :NamedProperty class:instance :mngl, :name . :ArrayProperty class:instance :domn, :elts . :BooleanProperty class:instance :qualifier . :ChainedProperty class:instance :chan, :flds, :vfld . :ClassProperty class:instance :base, :bfld, :binf, :fncs . :LowLevelProperty class:instance :bpos . :CppProperty class:instance :clas, :fn, :fncs, :labl, :mngl . :DeclProperty class:instance :artificial, :scpe, :used . :EnumProperty class:instance :csts . :FuncProperty class:instance :prms . :FunctionProperty class:instance :retn . :IntegerProperty class:instance :algn, :cnst, :max, :min, :prec, :size . :ListInternalProperty class:instance :purp, :valu . :ListProperty class:instance :chan, :csts, :flds, :next, :prms, :purp . :PointerProperty class:instance :ptd, :refd . :StructProperty class:instance :bpos . :TypeProperty class:instance :unql . :TypeRefProperty class:instance :ptd, :retn, :type . :VariableProperty class:instance :init . ### :GeneralProperty class:instance :modifier . ####### :SizedObject a :Class . :TypedObject a :Class . :Type a :Class, :AlignedObject, :NamedObject . :Declaration a :NamedObject, :SizedObject, :AlignedObject. :array_type a :Type . :boolean-type a :Type . :complex_type a :Type . :enumeral_type a :Type . :function_type a :Type . :integer_type a :Type . :pointer_type a :Type . :real_type a :Type . :record_type a :Type . :reference_type a :Type . :union_type a :Type . :void_type a :Type . :const_decl a :Declaration . :Type class:instance :array_type, :boolean-type, :complex_type, :enumeral_type, :function_type, :integer_type, :pointer_type, :real_type, :record_type, :reference_type, :union_type, :void_type . # all the primitive properties :algn a :PrimitiveProperty . :args a :PrimitiveProperty . :argt a :PrimitiveProperty . :artificial a :PrimitiveProperty . :base a :PrimitiveProperty . :bfld a :PrimitiveProperty . :binf a :PrimitiveProperty . :body a :PrimitiveProperty . :bpos a :PrimitiveProperty . :chan a :PrimitiveProperty . :clas a :PrimitiveProperty . :cnst a :PrimitiveProperty . :cond a :PrimitiveProperty . :csts a :PrimitiveProperty . :decl a :PrimitiveProperty . :domn a :PrimitiveProperty . :else a :PrimitiveProperty . :elts a :PrimitiveProperty . :expr a :PrimitiveProperty . :filename a :PrimitiveProperty . :flds a :PrimitiveProperty . :fn a :PrimitiveProperty . :fncs a :PrimitiveProperty . :high a :PrimitiveProperty . :init a :PrimitiveProperty . :labl a :PrimitiveProperty . :line a :PrimitiveProperty . :linenumber a :PrimitiveProperty . :lngt a :PrimitiveProperty . :low a :PrimitiveProperty . :max a :PrimitiveProperty . :min a :PrimitiveProperty . :mngl a :PrimitiveProperty . :modifier a :PrimitiveProperty . :name a :PrimitiveProperty . :next a :PrimitiveProperty . :op_0 a :PrimitiveProperty . :op_1 a :PrimitiveProperty . :op_2 a :PrimitiveProperty . :prec a :PrimitiveProperty . :prms a :PrimitiveProperty . :ptd a :PrimitiveProperty . :purp a :PrimitiveProperty . :qualifier a :PrimitiveProperty . :refd a :PrimitiveProperty . :retn a :PrimitiveProperty . :scpe a :PrimitiveProperty . :size a :PrimitiveProperty . :strg a :PrimitiveProperty . :then a :PrimitiveProperty . :tree-code-ref a :PrimitiveProperty . :type a :PrimitiveProperty . :unql a :PrimitiveProperty . :used a :PrimitiveProperty . :valu a :PrimitiveProperty . :vfld a :PrimitiveProperty . # here aer t :Class class:instance :Const,:Expr, :Integer, :List, :Module, :NameObject, :NamedObject, :Node, :SizedObject, :StatementObject, :String, :Type, :TypedObject, :UseCase . :Class class:instance :AlignedObject, :DataAttributeClass, :Class, :Const, :Declaration, :Expr, :Integer, :List, :Module, :NameObject, :NamedObject, :Node, :SizedObject, :StatementObject, :String, :Type, :TypedObject, :UseCase. :DerivedProperty2 class:instance :BooleanProperty , :ClassifierProperty, :DeclStmtProperty , :FunctionArgsProperty,:IntegerValueProperty , :StringProperty , :ArrayProperty,:ChainedProperty, :CppProperty, :DeclProperty, :EnumProperty, :IntegerProperty, :ListInternalProperty,:ListProperty, :NamedProperty, :PointerProperty, :StructProperty,:TypeProperty, :TypeRefProperty,:VariableProperty, :ArrayProperty, :ChainedProperty, :ClassProperty, :CppProperty, :DeclProperty, :EnumProperty, :ExprProperty, :FuncProperty, :FunctionProperty, :GeneralProperty, :IntegerProperty, :IntegerProperty, :ListInternalProperty, :ListProperty, :LowLevelProperty, :NamedProperty, :PointerProperty, :StmntProperty, :StructProperty, :TypeProperty, :TypeRefProperty, :TypeRefProperty, :VariableProperty. ######## :BooleanProperty a :Property. :qualifier a :BooleanProperty; :comment "The qualifier is a resource attached to objects"; :domain :boolean; :range :const, :restrict, :volatile . :range-types :comment "Range types defined new subclasses based on the types "; a :Property. :AlignedObject a :DataAttributeClass ; :defined-by :algn . ## related to sized and typed :unql a :Property, # most types have an unqualified type :TypeProperty; :domain :Type; :range :Type . :algn a :IntegerProperty; :domain :AlignedObject; :range :integer_cst . :size a :IntegerProperty; :domain :SizedObject; :range :integer_cst ; :domain-instances :boolean_type, :enumeral_type, :field_decl, :function_type, :integer_type, :method_type, :parm_decl, :pointer_type, :record_type, :reference_type, :result_decl, :union_type, :var_decl. :DeclProperty a :Property; :domain :Declaration . :artificial a :DeclProperty . :ArrayProperty a :Property; :domain :array_type . :ChainedProperty a :Property . :Const a :Class . :CppProperty a :Property . :EnumProperty a :Property; :domain :enumeral_type . :Expr a :Class . :Integer a :Class . :IntegerProperty a :Property . :List a :Class . :ListInternalProperty a :Property . :ListProperty a :Property . :Module a :Class . :NameObject a :Class . :NamedObject a :Class . :NamedProperty a :Property; :domain :NamedObject . :Node a :Class, :Class; rdf:comment "Any instance of node type in the system" . :PointerProperty a :Property . :Property :was-a rdf:Property; rdf:comment "Any property of an introspector object" . :String a :Class . :StructProperty a :Property . :TypeProperty a :Property . :TypeRefProperty a :Property . :UseCase a :Class; rdf:comment "The use case is an abstract operator" . :VariableProperty a :Property . :VisitChain a :UseCase . :Visits a :UseCase . :addr_expr a :Expr . :body a :Property . :bpos a :StructProperty . :chan a :ChainedProperty, :Property; :domain :Declaration, :field_decl, :tree_list; :range :Node . :cnst a :IntegerProperty; :domain :const_decl; :range :integer_cst . :compound_stmt a :StatementObject . :constructor a :Expr . :csts a :EnumProperty; :domain :enumeral_type; :range :tree_list . :decl_stmt a :StatementObject . :domn a :ArrayProperty; :domain :array_type; :range :Type . :elts a :ArrayProperty; rdf:comment "maybe this needs "; :domain :array_type; :range :integer_cst . :field_decl a :Declaration . :flds a :ChainedProperty; :domain :record_type, :union_type; :range :field_decl . :vfld a :ChainedProperty; :domain :record_type; :range :field_decl . :expr_stmt a :StatementObject . :fn a :CppProperty . :fncs a :CppProperty . :for_stmt a :StatementObject . :function_decl a :Declaration . :high a :Property . :identifier_node a :NameObject . :if_stmt a :StatementObject . :integer_cst a :Const . :labl a :CppProperty . :lngt a :Property; :domain :identifier_node; :range :Integer . :mngl a :CppProperty, :NamedProperty; :range :identifier_node . :modify_expr a :Expr . :name a :NamedProperty; :range :identifier_node . :parm_decl a :Declaration . :prec a :IntegerProperty . :prms a :ListProperty . :ptd a :TypeRefProperty . :purp a :ListInternalProperty . :refd a :PointerProperty; :domain :reference_type; :range :Type . :result_decl a :Declaration . :retn a :TypeRefProperty; :domain :function_type; :range :Type . :scpe a :DeclProperty; :domain :const_decl, :field_decl, :function_decl, :parm_decl, :result_decl, :type_decl, :var_decl; :range :function_decl, :record_type, :union_type . :srcl :domain :Declaration . :srcp :domain :Declaration; :range :Module, :SourceLine . :strg a :Property; :domain :identifier_node; :range :String . :string_cst a :Const . :tree-code-ref a :Property; :domain :Node; :range :Class . :tree_list a :List . :type a :TypeRefProperty; :domain :Decl, :Expr, :Type, :Const; :range :Type . :type_decl a :Declaration, :NameObject . :used a :DeclProperty; :domain :Declaration; :domain-instances :parm_decl, :var_decl ; :range :Integer . :valu a :ListInternalProperty; :domain :List; :range :Class . :var_decl a :Declaration . #ENDS #:const a :Property. :decl a :Property. :flds a :Property. :fn a :Property. :init a :Property. :line a :Property. :mngl a :Property. :name a :Property. :next a :Property. :prms a :Property. :ptd a :Property. :refd a :Property. :type a :Property. :volitile a :Property. :purp a :Property.# purpose in the list :chan a :Property.# next in the list :valu a :Property.# value of the list :modifier a :Property.# this should be joined in as an attribute :scope_stmt a :StatementObject . ####### # :algn a :Property; # :domain # :boolean_type, # types # :enumeral_type, # :function_type, # :integer_type, # :method_type, # :pointer_type, # :record_type, # :reference_type, # :union_type, # :void_type , # :field_decl, ## decls # :parm_decl, # :result_decl, # :var_decl # . :args a :Property; :domain :call_expr, :function_decl; :range :parm_decl, :tree_list . :argt a :Property; :domain :parm_decl; :range :Type. # the base class :base a :ClassProperty; :domain :record_type; :range :record_type . # :bfld a :ClassProperty; :domain :record_type; :range :record_type . :binf a :ClassProperty; :domain :record_type, :union_type; :range :tree_vec . :bpos a :LowLevelProperty; :domain :field_decl; :range :integer_cst . :chan a :ListProperty; :see_also :next; :domain :tree_list; :range :tree_list . :clas a :CppProperty; :domain :method_type; :range :record_type . :cnst a :Property; :comment "the const value"; :domain :const_decl; :range :integer_cst . :cond a :Property; :domain :if_stmt, :while_stmt; :range :call_expr, :gt_expr, :lt_expr, :truth_not_expr . # :const a :Property; # :domain :Type. :csts a :ListProperty; :domain :enumeral_type; :range :tree_list . :decl a :Property; :domain :decl_stmt; :range :Decl, :var_decl . :ExprOrValue :can-be :Expr, :Const; :has-been :call_expr, :component_ref, :init_expr, :integer_cst, :modify_expr . :expr a :Property; :domain :expr_stmt, :return_stmt; :range :ExprOrValue. :filename a :Property; :domain :Decl. :flds a :ListProperty; :domain :record_type, :union_type; :range :const_decl, :field_decl . :fn a :Property; :domain :call_expr; :range :addr_expr, :indirect_ref . :fncs a :ClassProperty; :domain :record_type; :range :function_decl . :init a :Property; :domain :var_decl; :range :ExprOrValue . :line a :Property; :same-as :SourceLine; :same-as :linenumber; :domain :Stmt . :linenumber a :Property; :domain :Decl . :lngt a :Property; :comment "Length of string"; :domain :identifier_node . :mngl a :Property; :domain :Decl; :derived-from :name; :range :identifier_node . :modifier a :GeneralProperty; :domain :Type, :Decl, :identifier_node, :Stmt. :name a :Property; :domain :Type, :Decl; :range :identifier_node, :type_decl . :prec a :IntegerProperty; :domain :enumeral_type, :integer_type . :prms a :FuncProperty; :domain :method_type; :range :tree_list . :ptd a :PointerProperty; :domain :pointer_type; :range :Type; :range-types :function_type, :method_type, :pointer_type, :record_type, :void_type . :purp a :ListProperty; :domain :tree_list; :range :identifier_node . :refd a :PointerProperty; :domain :reference_type; :range :record_type . :tree-code-ref a :Property; :range :tree-code; :domain :addr_expr, :bit_and_expr, :bit_ior_expr, :bit_not_expr, :boolean_type, :call_expr, :component_ref, :compound_stmt, :const_decl, :convert_expr, :decl_stmt, :enumeral_type, :expr_stmt, :field_decl, :function_decl, :function_type, :gt_expr, :identifier_node, :if_stmt, :indirect_ref, :init_expr, :integer_cst, :integer_type, :lt_expr, :method_type, :modify_expr, :ne_expr, :non_lvalue_expr, :nop_expr, :parm_decl, :plus_expr, :pointer_type, :record_type, :reference_type, :result_decl, :return_stmt, :save_expr, :scope_stmt, :tree_list, :tree_vec, :truth_not_expr, :type_decl, :union_type, :var_decl, :void_type, :while_stmt . ## integer properties :low a :Property . :high a :Property . :high a :Property; :opposite-of :low; :domain :integer_cst . :low a :Property; :range :int; :domain :integer_cst . ####### :max a :IntegerProperty . :min a :IntegerProperty . :max a :Property; :opposite-of :min; :domain :Type; :range :integer_cst . :min a :Property; :domain :Type; :range :integer_cst . ##### # :Access a :PrimitiveProperty2 . :Access a :Property; :domain :Declaration; :range :private, :protected, :public . #### :MixedProperty a :PrimitiveProperty2 . :ModifierMixedProperty a :PrimitiveProperty2 . :MixedProperty class:instance :ModifierMixedProperty, :modifier . :ModifierMixedProperty class:instance :inttype_modifier, :record_modifier, :scope_modifier . ### ############################################ ### # :OperandProperty a :PrimitiveProperty2 . :ExprProperty class:instance :OperandProperty . :OperandProperty a :ExprProperty; :domain :Expr; :range :Expr, :Value, :Decl . :op_0 a :OperandProperty; :domain :Expr; :range :Expr . :op_1 a :OperandProperty; :domain :Expr; :range :Expr . :op_2 a :OperandProperty; :domain :Expr; :range :Expr . :OperandProperty class:instance :op_0, :op_1, :op_2 . ############################################ :ModifierMixedProperty a :MixedProperty. :modifier a :MixedProperty; :defines :ModifierMixedProperty; :comment "this property is defined by the subtypes"; :domain-possible :integer_type,:record_type,:scope_stmt; :range-types :begn,:bitfield, :clnp, :end, :extern, :null, :register,:static, :struct, :undefined, :union, :unsigned . :scope_modifier a :ModifierMixedProperty; :domain :scope_stmt; :range :begn, :bitfield, :clnp, :end, :extern, :null, :static. :inttype_modifier a :ModifierMixedProperty; :domain :integer_type; :range :register,:unsigned . :record_modifier a :ModifierMixedProperty; :domain :record_type; :range :struct, :union. ######### :retn a :FunctionProperty; :domain :function_type, :method_type; :range :ScalarType. :integer_type a :ScalarType. :pointer_type a :ScalarType. :reference_type a :ScalarType. :void_type a :ScalarType. :ScalarType class:instance :integer_type, :pointer_type, :reference_type, :void_type . ####### # :SourceLine, # :StmntProperty, :SourceLine a :Property . ######## :StmntProperty a :DerivedProperty. :StmntProperty class:instance :body, :cond, :expr, :init, :next, :then,:else . :StmntProperty a :Property . :cond a :StmntProperty; :domain :for_stmt; :range :Expr . :expr a :StmntProperty; :domain :for_stmt; :range :Expr . :init a :StmntProperty, :VariableProperty; :domain :for_stmt; :range :Expr . :next a :StmntProperty; :domain :Declaration, :StatementObject; :range :Declaration, :StatementObject . :then a :StmntProperty; :domain :if_stmt; :range :StatementObject . :body a :StmntProperty; :domain :compound_stmt, :function_decl, :while_stmt; :range :Statement; :range-types :compound_stmt, :expr_stmt, :scope_stmt. :else a :StmntProperty; :domain :if_stmt; :range :compound_stmt . :next a :StmntProperty, :ListProperty; :domain :Stmt; :range :Stmt. :then a :StmntProperty; :domain :if_stmt; :range :compound_stmt . ####### #### :StatementObject, :StatementObject class:instance :compound_stmt, :decl_stmt, :expr_stmt, :for_stmt, :if_stmt, :scope_stmt . :StatementObject a :Class .