Typing and declarations -- a summary

Hello,

My previous two e-mails were quite long, and they touch on problems that are somehow connected, but in a quite an intricate way.
Therefore, I wanted to summarize possible solutions and their pros and cons in a separate e-mail. This gives us the opportunity to
vote for a solution at the telco. I included the combinations that I deem realistic.


Q1. T2 for typing, D1 for declarations
--------------------------------------

Summary: We put typing triples in each document whether an entity is used,
         and we use owl11:declaredAs for declarations.

Pros:
=====

1. Ease of implementation: Each ontology can be parsed separately, which, I believe, will dramatically reduce the number of bugs.

2. Better performance: No need to go through the whole import closure twice.

Cons:
=====

1. More complex vocabulary.

2. Propagation of information as described by Alan Ruttenberg. Not everybody agrees that this is really an issue.


Aside: this is the current solution in OWL 1.1


Q2. T3 for typing, D2 for declarations
--------------------------------------

Summary: We require declarations for each entity used in any ontology, which are encoded
         using rdf:type. Typing triples are not replicated across the imports, but are
         placed only in the ontology where an entity is used.

Pros:
=====

1. Simpler vocabulary: I can see the intuitive appeal of this solution.

2. No propagation of information. Not everybody agrees that this is really an issue.

Cons:
=====

1. Problems for implementations: As I already described, hunting for triples across imported ontologies is really difficult. Feel
the wrath of the developers' community :-)

2. Performance problems: It might be necessary to go through the import closure twice.

3. Fragility: Assume that O imports O' and reuses some of the vocabulary of O'. Assume also that the user makes O not import O'.
Oops, the ontology O suddenly changed into a non-OWL-DL ontology. Hence, users might not be able to even load O into Protégé to fix
the problem.



Q3. Orthogonal issue: Allow T1 for punning
------------------------------------------

Regardless of our choices for Q1 and Q2, we might still use T1 to allow for punning.


Q4. Orthogonal issue: Allow B to support streamed parsing
---------------------------------------------------------

Regardless of our choices for the other issues, we might use B to make the ontologies parsable in the streaming mode.



I am open to comments on this. Perhaps we could have a preliminary vote on this at the next telco.

Regards,

	Boris

Received on Saturday, 15 December 2007 20:18:04 UTC