DAML Homework Assignment 1 "Quick Look"
*DRAFT* version, still under development
This page presents an initial look at the DAML ontologies and content pages
developed by DAML program participants for
DAML Homework Assignment 1.
A summary of all pages is available
here.
All submitted ontologies have been added to the
DAML Ontology Library.
Statistics
50 ontologies submitted to date (3 groups haven't submitted yet).
Those ontologies define 646+ classes and 812+ properties
(several ontologies don't parse yet using RDF API
-- I'm contacting those groups).
45 content roots were submitted.
About 10,000 DAML statements were submitted.
Use of Language Features
- daml-ont:List
- SRI *.daml
- Teknowledge Palo Alto Ontology.daml
- BAH personal-info.daml
- multiple inheritance
- CMU atlas-employment_categories.daml#Research
- subPropertyOf
- Teknowledge LA ResearchProjectOntology.daml
- DRC *.daml
- daml:restrictedBy
- Stanford DB swrc-onto-2000-09-10.daml
- CMU atlas-date.daml
- SRI *.daml
- Literal typing
- CMU atlas-date.daml uses http://www.daml.org/2000/10/daml-num.daml#Integer
- BBN projects-20000911.daml uses http://www.w3.org/TR/1999/PR-rdf-schema-19990303#Literal [old URI for RDFS, currently RDF API]
- SRI *.daml uses http://www.w3.org/2000/01/rdf-schema#Literal
- BAH personal-info.daml and Stanford DB swrc-onto-2000-09-10.daml uses http://www.w3.org/TR/xmlschema-2/#string [new URI for RDFS]
- Stanford KSL ksl-daml-desc.daml defines and uses Classes #STRING and #INTEGER
[Doesn't this imply that these are Resources rather than Literals?]
- UMBC talk-ont.daml defines and uses Classes #String and #Integer
[Doesn't this imply that these are Resources rather than Literals?]
- equivalentTo
- UMBC talk-ont.daml
- LM M&DS ubot-ont.daml
- SRI *.daml
- Teknowledge Palo Alto Ontology.daml
- oneOf
- DRC *.daml
- Teknowledge LA ResearchProjectOntology.daml
- CMU *.daml
- reification
Key Mechanisms Used
Key issues that had to be addressed by each group included naming and linking.
Examples of naming are available in the
DAML Project Directory.
Lessons Learned
The following issues were addressed by 2 or more of the groups
in their lessons learned:
- lists: BAH, SRI, Stanford KSL, Teknowledge Palo Alto
- UML: GRCI, LM M&DS
- naming: Stanford DB, BBN, UMBC
- placement: UMBC, BBN, ...
- documentation/examples:
Emerging Best Practices
- Adopt RDF capitalization conventions:
- use full words
- capitalize first letter for classes, lowercase first letter for properties
- capitalize first letter of each subsequent word
- no _'s or other punctuation.
- Separate Class/Property definitions from instances.
- Almost everyone did this.
- Teknowledge Palo Alto Ontology.daml defines SoftwareDevelopmentBusiness, BusinessUnit, and Person instances as part of their ontology.
- Probably want some naming convention to distinguish DAML files containing DAML ontologies from those containing content
- BBN projects-20000911.daml
- ISI *.o.daml, *.d.daml
- DRC *-ont.daml
- Use subProperties rather than properties on intermediate objects to distinguish roles, etc.
- Teknowledge LA ResearchProjectOntology.daml#isPrincipalInvestigator subproperty of #inProject.
- Use ID to name instances.
- Use domain/range constraints and/or restrictedBy for Properties.
Problems
This section lists errors and other problems found in the submissions.
The intent is not to critize,
but to highlight potential mis-understandings
and/or deficiences in the current DAML language.
- homework/assignment.html has bad syntax for associating an Action instance
with an ActionItem (what was I thinking?).
SRI *-homepage.daml may have copied this in associating researcher:department, org:name, and contactinfo with Researchers
- BAH personal-info.daml uses cardinality and maxCardinality as attributes of
rdfs:Property
- CMU atlas-cmu.daml uses disjoin within Organization;
presumably this should be disjointUnionOf.
Note: daml-ex.daml uses disjointFrom, which is not defined in daml-ont.daml.
- GRCI ProjectOntology.daml uses 'String' and 'Integer' as Property range's
- Teknowledge LA ResearchProjectOntology.daml uses subproperty rather than subPropertyOf
- UMBC talk-ont.daml originally had Property definitions within Class definitions, and was not parsable by RDF API
- UMBC classification.daml uses daml:ID which results in genidNNN Classes from RDF API
- CMU content pages use a hybrid abbreviated syntax
<atlas:property="value">
that isn't well-formed XML
Other Issues
- Some Researchers in SRI *-homepage.daml don't have IDs,
making them hard to reference later.
- No general means to embed RDF in HTML for IE 5?
- Teknowledge LA uses ResearchProjectOntology.daml/Class rather than uri#Class
- absolute vs. relative URIs
- several projects (BBN, ISI) used relative URIs to refer to their ontologies
- RDF API doesn't make relative URIs absolute -- a higher level needs to do that
- the use of non-standard URI protocols
(or was ":" just intended as a separator?)
in Stanford DB URIs such as
person:sde
complicates converting relative URIs to absolute URIs
(java.net.URI interprets "person:" prefix as an unknown
protocol)
Kudos
- GRCI
demonstrated
how to use the same content
for both DAML statements and HTML rendering,
eliminating duplication and potential inconsistencies.
- BAH generated their content dynamically using Java Servlets
- LM M&DS reused the SHOE ontologies,
manually converting portions of them to DAML
$Id: quicklook1.html,v 1.11 2000/11/17 04:57:57 mdean Exp $