[Person-ontology] first contributions

Philippe Martin phmartin at phmartin.info
Fri Oct 5 09:22:36 PDT 2007


Hi everyone,

Content of this email:
1) self-introduction and beliefs;
2) if you need an ontologist, think about me;
3) 1st contribution: the existing Higging ontologies in a 
     concise readable format, and loaded in WebKB-2 (hence,
     browsable and updatable by Web Users), plus some comments
     on the content of these ontologies;
4) 2nd contribution: the alternative approach and ontology 
     usable in WebKB-2 to represent information about persons.


1) My name is Philippe Martin. I am the author of the shared
large scale knowledge server WebKB-2 (www.webkb.org) and its
associated "Multi-Source Ontology" (MSO), one of the ontologies
voted as candidate material by the SUO. I unfortunately have 
not had much time to improve the MSO since 2003 due to the
closing of the DSTC (my ex research center) and my subsequent
unstable (and not that much research-focused) employment.
I still believe in the need for one big shared consistent 
global ontology/KB (otherwise we have a huge number of small
partially redundant, very loosely connected and badly designed
ontologies that are very hard to use/merge ontologies) BUT
- this does NOT mean that people have to agree or even discuss 
  with each other (the protocols achieving this in WebKB-2 do
  not enforce agreements but encourage users to explicit the
  semantic relations between partially redundant or 
  contradictory beliefs from different users);
- this does NOT mean that there is only one physical KB
  (this only means that distribution mechanisms between the KBs
   ensure that each of them is complete with respect to the
   content of the other KBs regarding its own domain/focus).

2) If you know/offer an ontology related senior research position
now or in the short/long term, please send me an email. My CVs and
research outputs are accessible from http://www.phmartin.info

3) The two attached text documents are representations of the 
Higgins ontologies in FL, the most concise format I could
imagine for a notation with "OWL-Full expressivity plus 
contexts/meta-statements" (not surprisingly, the RDF/XML versions
provided on the Higgins site do not permit to get a synthetic view
of the content of these ontologies, and I found the Higgins
explanation pages insufficient to get a synthetic view. 
HTML versions of these documents (with comments and hyperlinks to 
Higgins static pages or WebKB-2 dynamic pages for displaying or
navigating the supertype hierarchy of the ontologies) are at 
http://www.webkb.org/kb/nit/physEntity/animate/higgins_person.html
http://www.webkb.org/kb/nit/physEntity/animate/higgins_top_level.html
I added some supertype relations to avoid the violation of some
relation signatures and to connect to Wordnet/WebKB-2 categories.

4) http://www.webkb.org/kb/nit/physEntity/animate/higgins_person.html
also provides comments and hyperlinks to show that an alternative
to the low-level content and approach of the Higgins ontologies (or
those of Protege since most of Higgins' top-level comes from
http://protege.stanford.edu/plugins/owl/owl-library/2005/08/07/xsp.owl)
is possible, available, and both much simpler and more scalable for 
knowledge entering and sharing (at least from many viewpoints).
Since the low-levelness of RDF/XML seems to be the reason for the
low-level approach of the Higgins ontologies, some questions this
group could study are:
- are all the objects of the Higgins/Protege top-level model 
  really needed?
- how to complement them so that the user does not have to learn
  and use such a low-level model (e.g., how to make kowledge
  entering/display be like in my examples, while keeping the 
  low-level model)?


Philippe (www.phmartin.info)



-------------- next part --------------
//TRANSLATION OF http://www.eclipse.org/higgins/ontologies/2006/person-with-address.owl
//AND            http://www.eclipse.org/higgins/ontologies/2006/person-with-friend
//INTO FL (http://www.webkb.org/doc/F_languages.html#FL)
//BY "pm" (www.phmartin.info)
//AND ADDITIONS OF SOME LINKS (to fix the violation of relation signatures and
//                             to connext to WordNet categories)
//URL: http://www.webkb.org/kb/nit/physEntity/animate/higgins_person.html
//     see this HTML version for comments on this ontology
//Explanations of the Higgins data model: http://wiki.eclipse.org/index.php/Higgins_Data_Model


source: http://www.eclipse.org/higgins/ontologies/2006/higgins (higgins)
        http://www.eclipse.org/higgins/ontologies/2006/person-with-address (pwa)
        http://www.w3.org/2001/XMLSchema (xsd) ;

//------------ Concept definitions:
pwa#Person
  < higgins#DigitalSubject ,   //"<" is a shortcut for "supertype:"
    #person (pm) //the user "pm" added this link to the relevant Wordnet category for a person
    higgins#SubjectRelationship (pm), //supertype added by pm to allow the use of
                                      //  a pwa#Person object as destination of "friend"
  pwa#firstname: 1..* higgins#NormalizedStringSimpleAttribute ,
  pwa#surname: 1 higgins#NormalizedStringSimpleAttribute ,
  pwa#postalAddress: 1..* pwa#PostalAddress ;

pwa#PostalAddress
  < higgins#ComplexAttribute ,
  pwa#country: 0..* higgins#String ,    pwa#state: 1 higgins#String ,
  pwa#city: 1 higgins#String ,  pwa#streetAddress: 1 higgins#String ,
  pwa#postalCode: 0..* higgins#String ;


//------------ Relation types with their signatures:
pwa#firstname (pwa#Person, higgins#NormalizedStringSimpleAttribute) < higgins#attribute;
pwa#surname (pwa#Person, higgins#NormalizedStringSimpleAttribute) < higgins#attribute;
pwa#postalAddress (pwa#Person, pwa#PostalAddress) < higgins#attribute;
pwa#streetAddress (pwa#PostalAddress, higgins#String /*not xsd#string*/) < higgins#attribute;
pwa#city (pwa#PostalAddress, higgins#String) < higgins#attribute;
pwa#state (pm#Higgins_ContextObject_or_DigitalSubject, higgins#String) < higgins#attribute;
pwa#postalCode (pwa#PostalAddress, higgins#String) < higgins#attribute;
pwa#country (pwa#PostalAddress, higgins#String) < higgins#attribute;
pwf#friend (higgins#DigitalSubject , higgins#SubjectRelationship ) < higgins#attribute;


//------------ Example of instance (temporarily in FCG, not FL):
[some pwa#Person,
   pwa#firstname: "Mary" ,  pwa#surname: "Ruddy" ,
   pwa#postalAddress: (some pwa#PostalAddress ,  pwa#country: "USA" ,
                          pwa#city: "Provo" ,  pwa#postalCode: "12345",
                          pwa#streetAddress: "123 Main St."),
   pwf#friend: (some pwa#Person,
                  higgins#contextURI: "http://example.com/robertjones/public-business-card",
		  higgins#subjectCUID: "bob") ](pm);  //statement created by pm
-------------- next part --------------
//TRANSLATION OF http://www.eclipse.org/higgins/ontologies/2006/higgins.owl
//INTO FL (http://www.webkb.org/doc/F_languages.html#FL)
//BY "pm" (www.phmartin.info)
//URL: http://www.webkb.org/kb/nit/physEntity/animate/higgins_top_level.html
//Explanations of this ontology: http://wiki.eclipse.org/Higgins_Ontology
//Explanations of its data model: http://wiki.eclipse.org/index.php/Higgins_Data_Model

source: http://www.eclipse.org/higgins/ontologies/2006/higgins.owl (higgins)
        http://purl.org/dc/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 at phmartin.info (pm); //below, "pm" has added some categories and relations that
                                     // were not in the OWL source of Higgins

default creator: higgins ;  //categories beginning by "#" are from higgins

pm#Higgins_object_or_property
  subtype: pm#Higgins_object  pm#Higgins_property ;


//------------------------- Higgins concept types ---------------------------
pm#Higgins_object
  subtype:  pm#Higgins_Relationship  pm#Higgins_ContextObject_or_DigitalSubject
            #ContextId  pm#Higgins_DigitalSubject_or_Value 
            pm#Higgins_Attribute_or_Value ;

  pm#Higgins_Relationship
    subtype: #ContextRelationship  #SubjectRelationship;

  pm#Higgins_ContextObject_or_DigitalSubject
    subtype:  #ContextObject #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)

    #ContextObject
      rdfs#comment: "There should only be one instance of this class within a given Context.
                     This instance represents the containing Context itself.";

    #DigitalSubject
      #uniqueIdentifier: 1 #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);

  #ContextId
    rdfs#comment: "URI that uniquely identifies a Context (earlier refered to as 
                   a ContextRef or ContextURI";

  pm#Higgins_DigitalSubject_or_Value
    subtype: #DigitalSubject #Value ;

  pm#Higgins_Attribute_or_Value
    subtype: #Value #Attribute ;

    #Attribute
      rdfs#comment: "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);

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

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

      #ComplexValue
        subtype: #SubjectRelationship ;

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


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




//------------------------- Higgins relation types ---------------------------

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

  //Note from http://www.eclipse.org/higgins/ontologies/2006/higgins.owl:
  //  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: #base #fractionDigits #length #maxExclusive #maxInclusive #maxLength 
             #minExclusive #minInclusive #minLength #pattern #totalDigits ;

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

    #simpleMetadata (#Value , #DigitalSubject )
      rdfs#comment: "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: #subjectId #validFrom #validTo #lastModified #syncConflict
               #lastVerifiedFromSource #lastVerifyAttempt #creationTime #simpleValue ;

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

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

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

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

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

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

   #attribute (pm#Higgins_ContextObject_or_DigitalSubject , pm#Higgins_Attribute_or_Value )
     rdfs#comment: "Instances of this property are used to point to one or more values
                   (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: #uniqueIdentifier #relation ;

     #uniqueIdentifier (#DigitalSubject -> #String );

     #relation (pm#Higgins_ContextObject_or_DigitalSubject , #SubjectRelationship )
        rdfs#comment: "A directed relation between two Digital Subjects",
        subtype: #correlation ;

        #correlation (pm#Higgins_ContextObject_or_DigitalSubject , #SubjectRelationship )
          rdfs#comment: "A directed relation between two Digital Subjects believed to 
                         represent the same underlying Entity";

   #complexMetadata (#Value , #DigitalSubject )
     rdfs#comment: "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: #source #creator #timeSpan ;

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


More information about the Person-ontology mailing list