W3C home > Mailing lists > Public > public-owl-wg@w3.org > July 2009

RE: OWL dot OWL file

From: Michael Schneider <schneid@fzi.de>
Date: Tue, 21 Jul 2009 14:20:42 +0200
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0015465A6@judith.fzi.de>
To: "Ian Horrocks" <ian.horrocks@comlab.ox.ac.uk>
Cc: "W3C OWL Working Group" <public-owl-wg@w3.org>
Hi again!

To be a little more explicit, here is my proposed list of triples for

NOT included is the ontology header, the labels per term, and the additional
OWL 2 Full stuff. 

And it's not yet in RDF/XML. But the triples are better readable, anyway,


# ===================
# === OWL CLASSES ===
# ===================

owl:AllDifferent rdf:type rdfs:Class .
owl:AllDifferent rdfs:subClassOf rdfs:Resource .

owl:AllDisjointClasses rdf:type rdfs:Class .
owl:AllDisjointClasses rdfs:subClassOf rdfs:Resource .

owl:AllDisjointProperties rdf:type rdfs:Class .
owl:AllDisjointProperties rdfs:subClassOf rdfs:Resource .

owl:Annotation rdf:type rdfs:Class .
owl:Annotation rdfs:subClassOf rdfs:Resource .

owl:AnnotationProperty rdf:type rdfs:Class .
owl:AnnotationProperty rdfs:subClassOf rdf:Property .

owl:AsymmetricProperty rdf:type rdfs:Class .
owl:AsymmetricProperty rdfs:subClassOf rdf:Property .

owl:Axiom rdf:type rdfs:Class .
owl:Axiom rdfs:subClassOf rdfs:Resource .

owl:Class rdf:type rdfs:Class .
owl:Class rdfs:subClassOf rdfs:Class .

owl:DataRange rdf:type rdfs:Class .
owl:DataRange rdfs:subClassOf rdfs:Datatype .

owl:DatatypeProperty rdf:type rdfs:Class .
owl:DatatypeProperty rdfs:subClassOf rdf:Property .

owl:DeprecatedClass rdf:type rdfs:Class .
owl:DeprecatedClass rdfs:subClassOf rdfs:Class .

owl:DeprecatedProperty rdf:type rdfs:Class .
owl:DeprecatedProperty rdfs:subClassOf rdf:Property .

owl:FunctionalProperty rdf:type rdfs:Class .
owl:FunctionalProperty rdfs:subClassOf rdf:Property .

owl:InverseFunctionalProperty rdf:type rdfs:Class .
owl:InverseFunctionalProperty rdfs:subClassOf rdf:Property .

owl:IrreflexiveProperty rdf:type rdfs:Class .
owl:IrreflexiveProperty rdfs:subClassOf rdf:Property .

owl:NamedIndividual rdf:type rdfs:Class .
owl:NamedIndividual rdfs:subClassOf rdfs:Resource .

owl:NegativePropertyAssertion rdf:type rdfs:Class .
owl:NegativePropertyAssertion rdfs:subClassOf rdfs:Resource .

owl:Nothing rdf:type owl:Class .
owl:Nothing rdfs:subClassOf owl:Thing .

owl:ObjectProperty rdf:type rdfs:Class .
owl:ObjectProperty rdfs:subClassOf rdf:Property .

owl:Ontology rdf:type rdfs:Class .
owl:Ontology rdfs:subClassOf rdfs:Resource .

owl:OntologyProperty rdf:type rdfs:Class .
owl:OntologyProperty rdfs:subClassOf rdf:Property .

owl:ReflexiveProperty rdf:type rdfs:Class .
owl:ReflexiveProperty rdfs:subClassOf rdf:Property .

owl:Restriction rdf:type rdfs:Class .
owl:Restriction rdfs:subClassOf rdfs:Class .

owl:SymmetricProperty rdf:type rdfs:Class .
owl:SymmetricProperty rdfs:subClassOf rdf:Property .

owl:Thing rdf:type owl:Class .

owl:TransitiveProperty rdf:type rdfs:Class .
owl:TransitiveProperty rdfs:subClassOf rdf:Property .

# ======================
# ======================

owl:allValuesFrom rdf:type rdf:Property .
owl:allValuesFrom rdfs:domain owl:Restriction .
owl:allValuesFrom rdfs:range rdfs:Class .

owl:annotatedProperty rdf:type rdf:Property .
owl:annotatedProperty rdfs:domain rdfs:Resource .
owl:annotatedProperty rdfs:range rdfs:Resource .

owl:annotatedSource rdf:type rdf:Property .
owl:annotatedSource rdfs:domain rdfs:Resource .
owl:annotatedSource rdfs:range rdfs:Resource .

owl:annotatedTarget rdf:type rdf:Property .
owl:annotatedTarget rdfs:domain rdfs:Resource .
owl:annotatedTarget rdfs:range rdfs:Resource .

owl:assertionProperty rdf:type rdf:Property .
owl:assertionProperty rdfs:domain owl:NegativePropertyAssertion .
owl:assertionProperty rdfs:range rdf:Property .

owl:backwardCompatibleWith rdf:type owl:OntologyProperty .
owl:backwardCompatibleWith rdf:type owl:AnnotationProperty .
owl:backwardCompatibleWith rdfs:domain owl:Ontology .
owl:backwardCompatibleWith rdfs:range owl:Ontology .

owl:bottomDataProperty rdf:type owl:DatatypeProperty .
owl:bottomDataProperty rdfs:domain owl:Thing .
owl:bottomDataProperty rdfs:range rdfs:Literal .

owl:bottomObjectProperty rdf:type owl:ObjectProperty .
owl:bottomObjectProperty rdfs:domain owl:Thing .
owl:bottomObjectProperty rdfs:range owl:Thing .

owl:cardinality rdf:type rdf:Property .
owl:cardinality rdfs:domain owl:Restriction .
owl:cardinality rdfs:range xsd:nonNegativeInteger .

rdfs:comment rdf:type owl:AnnotationProperty .
rdfs:comment rdfs:domain rdfs:Resource .
rdfs:comment rdfs:range rdfs:Literal .

owl:complementOf rdf:type rdf:Property .
owl:complementOf rdfs:domain rdfs:Class .
owl:complementOf rdfs:range rdfs:Class .

owl:datatypeComplementOf rdf:type rdf:Property .
owl:datatypeComplementOf rdfs:domain rdfs:Datatype .
owl:datatypeComplementOf rdfs:range rdfs:Datatype .

owl:deprecated rdf:type owl:AnnotationProperty .
owl:deprecated rdfs:domain rdfs:Resource .
owl:deprecated rdfs:range rdfs:Resource .

owl:differentFrom rdf:type rdf:Property .
owl:differentFrom rdfs:domain rdfs:Resource .
owl:differentFrom rdfs:range rdfs:Resource .

owl:disjointUnionOf rdf:type rdf:Property .
owl:disjointUnionOf rdfs:domain rdfs:Class .
owl:disjointUnionOf rdfs:range rdf:List .

owl:disjointWith rdf:type rdf:Property .
owl:disjointWith rdfs:domain rdfs:Class .
owl:disjointWith rdfs:range rdfs:Class .

owl:distinctMembers rdf:type rdf:Property .
owl:distinctMembers rdfs:domain owl:AllDifferent .
owl:distinctMembers rdfs:range rdf:List .

owl:equivalentClass rdf:type rdf:Property .
owl:equivalentClass rdfs:domain rdfs:Class .
owl:equivalentClass rdfs:range rdfs:Class .

owl:equivalentProperty rdf:type rdf:Property .
owl:equivalentProperty rdfs:domain rdf:Property .
owl:equivalentProperty rdfs:range rdf:Property .

owl:hasKey rdf:type rdf:Property .
owl:hasKey rdfs:domain rdfs:Class .
owl:hasKey rdfs:range rdf:List .

owl:hasSelf rdf:type rdf:Property .
owl:hasSelf rdfs:domain owl:Restriction .
owl:hasSelf rdfs:range rdfs:Resource .

owl:hasValue rdf:type rdf:Property .
owl:hasValue rdfs:domain owl:Restriction .
owl:hasValue rdfs:range rdfs:Resource .

owl:imports rdf:type owl:OntologyProperty .
owl:imports rdfs:domain owl:Ontology .
owl:imports rdfs:range owl:Ontology .

owl:incompatibleWith rdf:type owl:OntologyProperty .
owl:incompatibleWith rdf:type owl:AnnotationProperty .
owl:incompatibleWith rdfs:domain owl:Ontology .
owl:incompatibleWith rdfs:range owl:Ontology .

owl:intersectionOf rdf:type rdf:Property .
owl:intersectionOf rdfs:domain rdfs:Class .
owl:intersectionOf rdfs:range rdf:List .

owl:inverseOf rdf:type rdf:Property .
owl:inverseOf rdfs:domain rdf:Property .
owl:inverseOf rdfs:range rdf:Property .

rdfs:isDefinedBy rdf:type owl:AnnotationProperty .
rdfs:isDefinedBy rdfs:domain rdfs:Resource .
rdfs:isDefinedBy rdfs:range rdfs:Resource .

rdfs:label rdf:type owl:AnnotationProperty .
rdfs:label rdfs:domain rdfs:Resource .
rdfs:label rdfs:range rdfs:Literal .

owl:maxCardinality rdf:type rdf:Property .
owl:maxCardinality rdfs:domain owl:Restriction .
owl:maxCardinality rdfs:range xsd:nonNegativeInteger .

owl:maxQualifiedCardinality rdf:type rdf:Property .
owl:maxQualifiedCardinality rdfs:domain owl:Restriction .
owl:maxQualifiedCardinality rdfs:range xsd:nonNegativeInteger .

owl:members rdf:type rdf:Property .
owl:members rdfs:domain rdfs:Resource .
owl:members rdfs:range rdf:List .

owl:minCardinality rdf:type rdf:Property .
owl:minCardinality rdfs:domain owl:Restriction .
owl:minCardinality rdfs:range xsd:nonNegativeInteger .

owl:minQualifiedCardinality rdf:type rdf:Property .
owl:minQualifiedCardinality rdfs:domain owl:Restriction .
owl:minQualifiedCardinality rdfs:range xsd:nonNegativeInteger .

owl:onClass rdf:type rdf:Property .
owl:onClass rdfs:domain owl:Restriction .
owl:onClass rdfs:range rdfs:Class .

owl:onDataRange rdf:type rdf:Property .
owl:onDataRange rdfs:domain owl:Restriction .
owl:onDataRange rdfs:range rdfs:Datatype .

owl:onDatatype rdf:type rdf:Property .
owl:onDatatype rdfs:domain rdfs:Datatype .
owl:onDatatype rdfs:range rdfs:Datatype .

owl:oneOf rdf:type rdf:Property .
owl:oneOf rdfs:domain rdfs:Class .
owl:oneOf rdfs:range rdf:List .

owl:onProperty rdf:type rdf:Property .
owl:onProperty rdfs:domain owl:Restriction .
owl:onProperty rdfs:range rdf:Property .

owl:onProperties rdf:type rdf:Property .
owl:onProperties rdfs:domain owl:Restriction .
owl:onProperties rdfs:range rdf:List .

owl:priorVersion rdf:type owl:OntologyProperty .
owl:priorVersion rdf:type owl:AnnotationProperty .
owl:priorVersion rdfs:domain owl:Ontology .
owl:priorVersion rdfs:range owl:Ontology .

owl:propertyChainAxiom rdf:type rdf:Property .
owl:propertyChainAxiom rdfs:domain rdf:Property .
owl:propertyChainAxiom rdfs:range rdf:List .

owl:propertyDisjointWith rdf:type rdf:Property .
owl:propertyDisjointWith rdfs:domain rdf:Property .
owl:propertyDisjointWith rdfs:range rdf:Property .

owl:qualifiedCardinality rdf:type rdf:Property .
owl:qualifiedCardinality rdfs:domain owl:Restriction .
owl:qualifiedCardinality rdfs:range xsd:nonNegativeInteger .

owl:sameAs rdf:type rdf:Property .
owl:sameAs rdfs:domain rdfs:Resource .
owl:sameAs rdfs:range rdfs:Resource .

rdfs:seeAlso rdf:type owl:AnnotationProperty .
rdfs:seeAlso rdfs:domain rdfs:Resource .
rdfs:seeAlso rdfs:range rdfs:Resource .

owl:someValuesFrom rdf:type rdf:Property .
owl:someValuesFrom rdfs:domain owl:Restriction .
owl:someValuesFrom rdfs:range rdfs:Class .

owl:sourceIndividual rdf:type rdf:Property .
owl:sourceIndividual rdfs:domain owl:NegativePropertyAssertion .
owl:sourceIndividual rdfs:range rdfs:Resource .

owl:targetIndividual rdf:type rdf:Property .
owl:targetIndividual rdfs:domain owl:NegativePropertyAssertion .
owl:targetIndividual rdfs:range rdfs:Resource .

owl:targetValue rdf:type rdf:Property .
owl:targetValue rdfs:domain owl:NegativePropertyAssertion .
owl:targetValue rdfs:range rdfs:Literal .

owl:topDataProperty rdf:type owl:DatatypeProperty .
owl:topDataProperty rdfs:domain owl:Thing .
owl:topDataProperty rdfs:range rdfs:Literal .

owl:topObjectProperty rdf:type rdf:ObjectProperty .
owl:topObjectProperty rdfs:domain owl:Thing .
owl:topObjectProperty rdfs:range owl:Thing .

owl:unionOf rdf:type rdf:Property .
owl:unionOf rdfs:domain rdfs:Class .
owl:unionOf rdfs:range rdf:List .

owl:versionInfo rdf:type owl:AnnotationProperty .
owl:versionInfo rdfs:domain rdfs:Resource .
owl:versionInfo rdfs:range rdfs:Resource .

owl:versionIRI rdf:type owl:OntologyProperty .
owl:versionIRI rdfs:domain owl:Ontology .
owl:versionIRI rdfs:range owl:Ontology .

owl:withRestrictions rdf:type rdf:Property .
owl:withRestrictions rdfs:domain rdfs:Datatype .
owl:withRestrictions rdfs:range rdf:List .

>-----Original Message-----
>From: public-owl-wg-request@w3.org [mailto:public-owl-wg-request@w3.org]
>On Behalf Of Michael Schneider
>Sent: Tuesday, July 21, 2009 12:33 PM
>To: Ian Horrocks
>Cc: W3C OWL Working Group
>Subject: RE: OWL dot OWL file
>A few days ago I have started working on my list of axiomatic triples
>the RDF-Based Semantics, but then decided to additionally work on
>owl(2).owl, at least to see whether some reasonable
>is possible. So I have analyzed owl.owl for its common and specific
>features, see below for the result (boring list, I know, but better than
>trying to understand owl.owl from scratch, I guess. :)) Based on this
>analysis, I have created a proposal on (a) how an owl2.owl could look
>and (b) how this would be related to my axiomatic triples. See below!
>Comments welcome!
>== Analysis of owl.owl ==
>These are the different features of owl.owl:
>0) General:
>0.1) Ontology Header
>0.1.1) imports RDFS ontology
>0.1.2) builds rdfs:isDefinedBy relations to OWL Semantics spec, the OWL
>testcases, and the OWL Features.
>0.1.3) States in a comment that importing this ontology will render
>to be OWL Full.
>0.1.4) Has owl:versionInfo with date of recommendation (2004-02-10).
>0.2) There is a rdfs:label for every definition of an OWL term.
>1) Covered Vocabulary Terms:
>1.1) Provides schema definitions for all vocabulary terms in the OWL
>namespace (classes and properties).
>1.2) _No_ re-definitions for RDF/RDFS vocabulary terms.
>1.3) _No_ definitions for the mandatory datatypes of OWL (xsd:string,
>2) Expressed Semantic Relationships:
>2.1) Definition for classes:
>2.1.1) always provides rdf:type axiom: generally rdfs:Class, but
>of owl:Nothing, owl:Thing
>2.1.2) generally provides rdfs:subClassOf axiom to upper class.
> The subclass axiom is omitted whenever sub class of
> The super class of the "syntactic category" owl:Class is
> _No_ explicit superclass is defined for owl:DataRange.
> The super class of owl:ObjectProperty, owl:DatatypeProperty,
>owl:OntologyProperty and owl:AnnotationProperty is rdf:Property.
> The superclass of owl:FunctionalProperty is rdf:Property, while
>owl:SymmetricProperty it is owl:ObjectProperty.
>2.1.3) special: definition of owl:Nothing and owl:Thing use OWL terms
>owl:complementOf and owl:unionOf to express additional semantics
>2.2) For properties:
>2.2.1) always provides rdf:type axiom: generally rdf:Property, but also
>owl:AnnotationProperty and owl:OntologyProperty.
> For ontology properties, the typing triple for
>is in addition to rdf:Property.
> Only for owl:versionInfo there is an additional typing triple
>owl:AnnotationProperty in *addition* to rdf:Property (elsewhere there is
>only a typing triple for owl:AnnotationProperty).
>2.2.2) generally provides rdfs:domain and rdfs:range axioms.
> The range (domain) axiom is omitted whenever the range (or
>is rdfs:Resource.
> If the domain or range is the class of classes, then it is
>sometimes it is rdfs:Class (e.g. owl:someValuesFrom), and sometimes it
>owl:Class (e.g. owl:disjointWith).
> If the domain or range is the class of properties, then it is
>rdf:Property, never owl:ObjectProperty (e.g. owl:onProperty).
> For ontology properties the domain and range are both
> For multi-argument constructs s.a. owl:unionOf the range is
>2.2.3) special: owl:equivalentClass specified as sub property of
>rdfs:subClassOf. analog for owl:equivalentProperty.
>3) Missing OWL Full Semantic Relationships:
>3.1) _No_ equivalences are defined for:
>3.1.1) owl:Thing and rdfs:Resource
>3.1.2) owl:Class and rdfs:Class (but the former is explicitly defined to
>a subclass of the latter)
>3.1.3) owl:ObjectProperty and rdf:Property (but the former is explicitly
>defined to be a subclass of the latter)
>3.2) _No_ additional hierarchy relationships are defined for:
>3.2.1) owl:DatatypeProperty and owl:ObjectProperty
>3.2.2) owl:OntologyProperty and owl:ObjectProperty
>3.2.3) owl:AnnotationProperty and owl:ObjectProperty
>3.2.4) owl:DataRange and owl:Class
>== Discussion ==
>For owl2.owl:
>I believe we should be more consequently go for a "clean" RDF Schema.
>are a few strange things happening in owl.owl that I think should be
>* The use of OWL axioms (owl:complementOf, (2.1.3)) to "define"
>and owl:Nothing. In fact, the OWL terms used there are highly
>and do not really define what they are intended to define. Also, there
>only very few uses of this, why not elsewhere? Why at all?
>* Similar, terms s.a. owl:equivalentClass should not be "defined" with
>terms via a sub property relationship (2.2.3).
>* I would propose to keep with RDFS terms as often as possible. For
>there are cases where the super class or domain/range of some defined
>class term is owl:Class, and other cases where it is rdfs:Class. Most of
>these terms are not really owl:Classes, so I would suggest to generally
>rdfs:Class. The only exception is owl:Thing, owl:Nothing,
>(top|bottom)(Object|Data)Property, and the annotation properties, since
>these are "real" classes and properties even in DL.
>Beyond the RDFS-ishness that cannot be avoided, there shouldn't be any
>additional Full-ishnesses like the equivalence of owl:Class with
>This would then just be as in owl.owl (3). But maybe someone else has
>another opinion?
>owl.owl omits the treatment datatypes, and this is probably a reasonable
>idea in our case as well, given that we have >30 of them. :)
>Maybe, for completeness, we should always give the full specification
>datatype and subclass for classes, and with type, domain and range for
>properties, even if the type, domain or range is rdfs:Resource? It's
>omitted in owl.owl, which I found more confusing then helpful.
>What I have in mind will be slightly incompatible with owl.owl, but will
>make things more regular (while there's semantically no difference). And
>don't think that strict compatibility with owl.owl is an issue here.
>Ok, here is my proposal, for both owl2.owl and the axiomatic triples in
>RDF-Based Semantics:
>== Proposal ==
>=== owl2.owl ===
>* We reuse/update the content of the ontology header (0.1), but we need
>think a bit about the references made by rdfs:isDefinedBy statements.
>* We use labels for each definitions, as in (0.2).
>* There will only be definitions for the OWL 2 vocabulary, i.e.
>** no repetitions of RDF(S) vocabulary (1.2)
>*** exception: the RDFS annotation properties, since they need to be
>as annotation properties
>** no definitions for datatypes, not even from the OWL namespace (1.3)
>** no definitions for facets
>* Classes will generally have type rdfs:Class, and a subclass, being one
>the RDF(S) classes.
>** Exceptions: owl:Thing, owl:Nothing
>*** Type is owl:Class
>*** Superclass of owl:Nothing is owl:Thing
>*** No superclass is given for owl:Thing
>* Properties will generally have type rdf:Property, and domain and range
>being one of the RDF(S) classes.
>** Exceptions: (top|bottom)(Object|Data)Property
>*** Type of (top|bottom)ObjectProperty is owl:ObjectProperty.
>*** Type of (top|bottom)DataProperty is owl:DatatypeProperty.
>*** Domain of (top|bottom)(Object|Data)Property is owl:Thing.
>*** Range of (top|bottom)ObjectProperty is owl:Thing .
>*** Range of (top|bottom)DataProperty is rdfs:Literal .
>** Exception: Property restriction vocabulary terms have domain
>owl:Restriction (as in owl.owl).
>** Exception: Multi-argument constructs, such as owl:unionOf, have range
>rdf:List (as in owl.owl).
>** Exception: Ontology properties have type owl:OntologyProperty, and
>domain/range owl:Ontology (as in owl.owl).
>*** we omit the additional (redundant) rdf:type rdf:Property triple.
>** Exception: Annotation properties have type owl:AnnotationProperty (as
>* No kind of axioms beyond this schema:
>** no "pseudo" OWL axioms, deviating from owl.owl (2.1.3)
>** no definition of OWL properties in terms of RDF(S) properties,
>from owl.owl (2.2.3)
>** no OWL Full equivalences, following owl.owl (3.1)
>** no OWL Full hierarchy relationships, following owl.owl (3.2)
>=== Axiomatic Triples in the RDF-Based Semantics ===
>Differences to owl.owl:
>* There will be no use of RDF/XML, but single triples are written, as
>throughout the document.
>* There will be no ontology header, only the relevant axiomatic triples.
>* There will be no labels.
>* There will be additional triples for the "missing OWL Full Semantics
>Relationships" (3).
>* There will be additional typing and subclass triples for the datatypes
>OWL 2 (1.3).
>* There will be additional typing and domain/range triples for the
>facets of
>OWL 2.
>The additional stuff will be separated editorially in a form that allows
>easy selection of the owl2.owl part by copy and paste, for those who
>=== END ===
>>-----Original Message-----
>>From: public-owl-wg-request@w3.org [mailto:public-owl-wg-
>>On Behalf Of Ian Horrocks
>>Sent: Tuesday, July 21, 2009 7:47 AM
>>To: W3C OWL Working Group
>>Subject: OWL dot OWL file
>>I believe that what we were referring to in our discussion last week,
>>and what Holger is asking for [1], is what in OWL 1 was called the
>>"RDF Schema of OWL" [2]. As is explained in Section 1.7 [3]:
>>"This schema provides information about the OWL vocabulary that could
>>be a useful reference point for ontology builders and tool
>>developers. The restrictions provided by the schema on the OWL
>>classes and properties are informative and not complete. Also, this
>>schema does not make distinctions between OWL Full, OWL DL and OWL
>>The idea is to use RDFS to describe the structure of OWL syntax --
>>i.e., it aims to be a kind of "meta-schema". For example, it
>>specifies the range and domain of the properties used in the OWL
>>syntax. Unfortunately, RDFS isn't even close to being capable of
>>describing the structure completely, so the schema is highly
>>incomplete, and so of limited utility. However, I don't immediately
>>see the harm in updating it slightly for OWL 2 given that we have had
>>more than one request. I believe that this is what was proposed by
>>several people during the teleconf. Presumably we would arrange for
>>this updated version to be served from [4]?
>>Note that this shouldn't be confused with Michael's suggestion to
>>augment the RDF-based semantics with a set of axiomatic triples
>>(which is, IMHO, a reasonable but completely unrelated proposal).
>>[1] http://lists.w3.org/Archives/Public/public-owl-comments/2009Jul/
>>[2] http://www.w3.org/TR/owl-ref/#appB
>>[3] http://www.w3.org/TR/owl-ref/#AppendixList
>>[4] http://www.w3.org/2002/07/owl#
>Dipl.-Inform. Michael Schneider
>Research Scientist, Dept. Information Process Engineering (IPE)
>Tel  : +49-721-9654-726
>Fax  : +49-721-9654-727
>Email: michael.schneider@fzi.de
>WWW  : http://www.fzi.de/michael.schneider
>FZI Forschungszentrum Informatik an der Universität Karlsruhe
>Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
>Tel.: +49-721-9654-0, Fax: +49-721-9654-959
>Stiftung des bürgerlichen Rechts, Az 14-0563.1, RP Karlsruhe
>Vorstand: Prof. Dr.-Ing. Rüdiger Dillmann, Dipl. Wi.-Ing. Michael Flor,
>Prof. Dr. Dr. h.c. Wolffried Stucky, Prof. Dr. Rudi Studer
>Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus

Received on Tuesday, 21 July 2009 12:21:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:42:00 UTC