[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