The Higgins top-level model

Dr Ph. MARTIN, October 4th 2007

This file shows a translation in the FL notation of the OWL version of the Higgins top-level model. On the Higgins site, you can find explanations on this ontology and explanations on its data model. To avoid the violation of relation signatures I had to add some relation: see the string "(pm)" after the destination of certain relations below.

This file is required by the FT translation of the Higgins' Person ontology.

This file, and hence the knowledge representations it includes (see the statements in courrier font), have been loaded into the knowledge base (KB) of WebKB-2. Thus, these representations can be navigated (e.g., click on the hyperlinked categories below), queried and complemented by any Web user via WebKB-2.


Table of contents



Sources / Creators / Namespaces

source: http://www.eclipse.org/higgins/ontologies/2006/higgins (higgins)
        http://dublincore.org/elements/1.1/ (dc)
        http://www.w3.org/2002/07/owl (owl)
        http://www.w3.org/1999/02/22-rdf-syntax-ns (rdf)
        http://www.w3.org/2000/01/rdf-schema (rdfs)
        http://www.w3.org/2001/XMLSchema (xsd)
        spamOnly@phmartin.info (pm); //below, "pm" has added some categories and relations that
                                     // were not in the OWL source of Higgins


Concept types

pm#Higgins_object
  supertype: dolce#particular ,
  subtype:  pm#Higgins_Relationship  pm#Higgins_ContextObject_or_DigitalSubject
            higgins#ContextId  pm#Higgins_DigitalSubject_or_Value 
            pm#Higgins_Attribute_or_Value ;

  pm#Higgins_Relationship
    subtype: higgins#ContextRelationship  higgins#SubjectRelationship;

  pm#Higgins_ContextObject_or_DigitalSubject
    subtype:  higgins#ContextObject higgins#DigitalSubject
              higgins#ComplexAttribute (pm); //not in the OWL source but needed for the
                  // Person ontology (may be it is a subtype of one of the prevous two)

    higgins#ContextObject (^There should only be one instance of this class within a given Context. This instance represents the containing Context itself.^);

    higgins#DigitalSubject
      higgins#uniqueIdentifier: 1 higgins#String ,
      subtype: //the following subtype added by pm to satisfy relation signatures below
               xsd#boolean (pm)  xsd#date (pm)  xsd#dateTime (pm)  xsd#normalizedString (pm) 
               xsd#string (pm) xsd#base64Binary (pm)  xsd#integer (pm)  xsd#decimal (pm)
               xsd#nonNegativeInteger (pm)  xsd#positiveInteger (pm)  xsd#nonPositiveInteger (pm)
               xsd#negativeInteger (pm)  xsd#float (pm)  xsd#double (pm)  xsd#long (pm) 
               xsd#int (pm)  xsd#short (pm)  xsd#byte (pm)  xsd#unsignedLong (pm)
               xsd#unsignedInt (pm)  xsd#unsignedShort (pm)  xsd#unsignedByte (pm)
               xsd#hexBinary (pm)  xsd#time (pm)  xsd#date (pm)  xsd#gYear (pm)
               xsd#gYearMonth (pm)  xsd#gMonthDay (pm)  xsd#gDay (pm)  xsd#gMonth (pm)
               xsd#anyURI (pm)  xsd#token (pm)  xsd#NMTOKEN (pm)  xsd#language (pm) 
               xsd#Name (pm)  xsd#NCName (pm);

  higgins#ContextId (^URI that uniquely identifies a Context (earlier refered to as a ContextRef or ContextURI^);

  pm#Higgins_DigitalSubject_or_Value
    subtype: higgins#DigitalSubject higgins#Value ;

  pm#Higgins_Attribute_or_Value
    subtype: higgins#Value higgins#Attribute ;

    higgins#Attribute (^Instances of this class are used as the domain of higgins:metadata properties that, taken together, are considered to be the metadata about a higgins:attribute sub-property.^)
      subtype: higgins#ComplexAttribute (pm) //these subtypes were not in the OWL source
               higgins#NormalizedStringAttribute (pm);

      higgins#NormalizedStringAttribute
        subtype: higgins#NormalizedStringSimpleAttribute (pm);

    higgins#Value
      higgins#syncConflict: 0..1 xsd#boolean ,
      higgins#lastModified: 0..1 xsd#dateTime ,
      subtype: higgins#SimpleValue  higgins#ComplexValue  higgins#TimeSpan (pm);

      higgins#SimpleValue
        higgins#simpleValue: 1..* higgins#DigitalSubject ,
        subtype: higgins#String higgins#Base64Binary higgins#NormalizedString higgins#DateTime 
                 higgins#Boolean higgins#Decimal higgins#Integer higgins#NegativeInteger 
                 higgins#NonNegativeInteger higgins#PositiveInteger higgins#NonPositiveInteger 
                 higgins#Float higgins#Double higgins#Long higgins#Int higgins#Short higgins#Byte
                 higgins#UnsignedLong higgins#UnsignedInt higgins#UnsignedShort
                 higgins#UnsignedByte higgins#HexBinary higgins#Time higgins#Date
                 higgins#GYear higgins#GYearMonth higgins#GMonthDay higgins#GDay higgins#GMonth
                 higgins#AnyURI higgins#Token higgins#Language higgins#NMTOKEN
                 higgins#Name higgins#NCName ;

      higgins#ComplexValue
        subtype: higgins#SubjectRelationship ;

        higgins#SubjectRelationship  higgins#contextId: 1 pm#HigginsRelationship ,
                                     higgins#subjectId: 1 xsd#normalizedString ;

      higgins#TimeSpan  higgins#validFrom: 0..1 xsd#date ,
                        higgins#validTo: 0..1 xsd#date ;



Relations types

pm#Higgins_property (?, ?)
  supertype: pm#relation_coming_from_an_ontology ,
  subtype: pm#Higgins_annotation_property  pm#Higgins_datatype_property
           pm#Higgins_object_property ;

  //Note from http://www.eclipse.org/higgins/ontologies/2006/higgins:
  //  The following have been copy verbatim from 
  //  http://protege.stanford.edu/plugins/owl/owl-library/2005/08/07/xsp.owl
  //  These allow us to express the semantics of XML Schema within a
  //  Higgins-based ontology RDF file.

  pm#Higgins_annotation_property (?, ?)
    subtype: higgins#base higgins#fractionDigits higgins#length higgins#maxExclusive
             higgins#maxInclusive higgins#maxLength 
             higgins#minExclusive higgins#minInclusive higgins#minLength higgins#pattern
             higgins#totalDigits ;

  pm#Higgins_datatype_property (?, ?)
    subtype: higgins#simpleMetadata ;

    higgins#simpleMetadata (higgins#Value , higgins#DigitalSubject ) (^Used as the super-Property of some DatatypeProperties whose domain is higgins#ValeAndMetadata or higgins#DigitalSubject to indicate that these properties are considered to be metadata about the ValueAndMetadata (or DigitalSubject)^)
      subtype: higgins#subjectId higgins#validFrom higgins#validTo higgins#lastModified
               higgins#syncConflict
               higgins#lastVerifiedFromSource higgins#lastVerifyAttempt higgins#creationTime
               higgins#simpleValue ;

      higgins#subjectId (higgins#SubjectRelationship , xsd#normalizedString )
        subtype: higgins#subjectCUID (pm); //needed for the "friend" example

      higgins#validFrom (higgins#TimeSpan , xsd#date );
      higgins#validTo (higgins#TimeSpan , xsd#date );
      higgins#lastModified (higgins#Value , xsd#dateTime ) ;
      higgins#syncConflict (higgins#Value , xsd#boolean );
      higgins#lastVerifiedFromSource (higgins#Value , xsd#date );
      higgins#lastVerifyAttempt (higgins#Value , xsd#date ) ;
      higgins#creationTime (higgins#Value , xsd#date) ;

      higgins#simpleValue (higgins#SimpleValue , higgins#DigitalSubject )
        subtype: higgins#string higgins#normalizedString higgins#base64Binary higgins#integer 
                 higgins#dateTime higgins#boolean higgins#decimal higgins#nonNegativeInteger
                 higgins#positiveInteger  higgins#nonPositiveInteger higgins#negativeInteger
                 higgins#float higgins#double higgins#long higgins#int higgins#short higgins#byte
                 higgins#unsignedInt higgins#unsignedLong higgins#unsignedShort 
                 higgins#unsignedByte higgins#hexBinary
                 higgins#time higgins#date higgins#gYear higgins#gYearMonth higgins#gMonthDay
                 higgins#gDay  higgins#gMonth
                 higgins#anyURI higgins#token higgins#nMTOKEN higgins#language higgins#name
                 higgins#nCName ;

        higgins#string (higgins#String , xsd#string );  //pm: not xsd#String 
        higgins#normalizedString (higgins#NormalizedString , xsd#normalizedString) ;
        higgins#base64Binary (higgins#Base64Binary, xsd#base64Binary );
        higgins#integer (higgins#Integer , xsd#integer );
        higgins#dateTime (higgins#DateTime , xsd#dateTime );
        higgins#boolean (higgins#Boolean , xsd#boolean );
        higgins#decimal (higgins#Decimal , xsd#decimal );
        higgins#nonNegativeInteger (higgins#NonNegativeInteger , xsd#nonNegativeInteger );
        higgins#positiveInteger (higgins#PositiveInteger , xsd#positiveInteger );
        higgins#nonPositiveInteger (higgins#NonPositiveInteger , xsd#nonPositiveInteger );
        higgins#negativeInteger (higgins#NegativeInteger , xsd#negativeInteger );
        higgins#float (higgins#Float , xsd#float );
        higgins#double (higgins#Double , xsd#double );
        higgins#long (higgins#Long , xsd#long );
        higgins#int (higgins#Int , xsd#int );
        higgins#short (higgins#Short , xsd#short );
        higgins#byte (higgins#Byte , xsd#byte );
        higgins#unsignedLong (higgins#UnsignedLong , xsd#unsignedLong );
        higgins#unsignedInt (higgins#UnsignedInt , xsd#unsignedInt );
        higgins#unsignedShort (higgins#UnsignedShort , xsd#unsignedShort );
        higgins#unsignedByte (higgins#UnsignedByte , xsd#unsignedByte );
        higgins#hexBinary (higgins#HexBinary , xsd#hexBinary );
        higgins#time (higgins#Time , xsd#time );
        higgins#date (higgins#Date , xsd#date );
        higgins#gYear (higgins#GYear , xsd#gYear );
        higgins#gYearMonth (higgins#GYearMonth , xsd#gYearMonth );
        higgins#gMonthDay (higgins#GMonthDay , xsd#gMonthDay );
        higgins#gDay (higgins#GDay , xsd#gDay );
        higgins#gMonth (higgins#GMonth , xsd#gMonth );
        higgins#anyURI (higgins#AnyURI , xsd#anyURI );
        higgins#token (higgins#Token , xsd#token );
        higgins#nMTOKEN (higgins#NMTOKEN , xsd#NMTOKEN );
        higgins#language (higgins#Language , xsd#language );
        higgins#name (higgins#Name , xsd#Name );
        higgins#nCName (higgins#NCName , xsd#NCName );

  pm#Higgins_object_property (?, ?)
   subtype: higgins#contextRelationship higgins#contextId
            higgins#attribute  higgins#complexMetadata ;

   higgins#contextRelationship (higgins#ContextObject , higgins#ContextRelationship );
   higgins#contextId (pm#Higgins_Relationship , higgins#ContextId )
     subtype: higgins#contextURI (pm); //needed for the "friend" example

   higgins#attribute (pm#Higgins_ContextObject_or_DigitalSubject ,
                      pm#Higgins_Attribute_or_Value ) (^Instances of this property are used to point to one or more values (i.e. cases where (i.e. cases where the range is higgins:Value). One instance (at most) may also be used to point to a holder of metadata (an instance of higgins:Attribute) about the entire set of values.^)
     subtype: higgins#uniqueIdentifier higgins#relation ;

     higgins#uniqueIdentifier (higgins#DigitalSubject -> higgins#String );

     higgins#relation (pm#Higgins_ContextObject_or_DigitalSubject , higgins#SubjectRelationship ) (^A directed relation between two Digital Subjects^)
        subtype: higgins#correlation ;

        higgins#correlation (pm#Higgins_ContextObject_or_DigitalSubject , higgins#SubjectRelationship ) (^A directed relation between two Digital Subjects believed to represent the same underlying Entity^);

   higgins#complexMetadata (pm#Higgins_DigitalSubject_or_Value , ?) (^Used as the super-Property of some ObjectProperties of higgins:ValueAndMetadata or higgins:DigitalSubject to indicate that these properties are considered to be metadata about the ValueAndMetadata (or DigitalSubject)^)
     subtype: higgins#source higgins#creator higgins#timeSpan ;

     higgins#source (higgins#Value , higgins#SubjectRelationship );
     higgins#creator (higgins#Value , higgins#SubjectRelationship );
     higgins#timeSpan (pm#Higgins_DigitalSubject_or_Value , higgins#TimeSpan );