IDM in-a-box Roland.Hedberg@adm.umu.se
<owl:Class rdf:about="#OMThing"> <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> <?xml version="1.0"?> <rdfs:subClassOf> <rdf:RDF <owl:Restriction> xmlns="http://www.swami.se/om2.owl#" <owl:cardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >1</owl:cardinality> xmlns:xsd="http://www.w3.org/2001/XMLSchema#" <owl:onProperty> xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" <owl:DatatypeProperty rdf:ID="omid"/> xmlns:owl="http://www.w3.org/2002/07/owl#" </owl:onProperty> xml:base="http://www.swami.se/om2.owl"> </owl:Restriction> <owl:Ontology rdf:about=""/> </rdfs:subClassOf> <owl:Class rdf:ID="Organization"> </owl:Class> <rdfs:subClassOf> <owl:Class rdf:ID="Person"> <owl:Class rdf:ID="Collection"/> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" </rdfs:subClassOf> >A physical person</rdfs:comment> </owl:Class> <rdfs:subClassOf rdf:resource="#OMThing"/> <owl:Class rdf:ID="CourseInstance"> </owl:Class> <rdfs:subClassOf> <owl:Class rdf:ID="Owner"> <owl:Class rdf:ID="OMThing"/> <rdfs:subClassOf> </rdfs:subClassOf> <owl:Class rdf:ID="Relation"/> </owl:Class> </rdfs:subClassOf> <owl:Class rdf:ID="Service"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" <rdfs:subClassOf> >one owns other</rdfs:comment> <owl:Class rdf:about="#OMThing"/> </owl:Class> </rdfs:subClassOf> <owl:Class rdf:ID="Role"> </owl:Class> <rdfs:subClassOf rdf:resource="#Relation"/> <owl:Class rdf:ID="Machine"> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" <rdfs:subClassOf> >One has the role type at other</rdfs:comment> <owl:Class rdf:about="#OMThing"/> </owl:Class> </rdfs:subClassOf> <owl:Class rdf:ID="Course"> <rdfs:subClassOf> <rdfs:subClassOf rdf:resource="http://www.w3.org/2002/07/owl#Thing"/> <owl:Restriction> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" <owl:onProperty> >A course</rdfs:comment> <owl:DatatypeProperty rdf:ID="ipv"/> <rdfs:subClassOf rdf:resource="#OMThing"/> </owl:onProperty> </owl:Class> <owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" <owl:Class rdf:ID="User"> >1</owl:minCardinality> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" </owl:Restriction> >A user</rdfs:comment> </rdfs:subClassOf> <rdfs:subClassOf rdf:resource="#OMThing"/> <rdfs:subClassOf> </owl:Class> <owl:Restriction> <owl:Class rdf:about="#Collection"> <owl:onProperty> <rdfs:comment rdf:datatype="http://www.w3.org/2001/XMLSchema#string" <owl:DatatypeProperty rdf:about="#ipv"/> >A collection of things</rdfs:comment> </owl:onProperty> <rdfs:subClassOf rdf:resource="#OMThing"/> <owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#int" </owl:Class> >2</owl:maxCardinality> <owl:Class rdf:ID="Group"> </owl:Restriction> <rdfs:subClassOf rdf:resource="#Collection"/> </rdfs:subClassOf> </owl:Class> </owl:Class>
What we would like to produce!
Some might want this!
We might end up with!
Who are we ? • Swami • Linköpings Universitet • Stockholms Universitet • Umeå Universitet
Basic ideas
• Cecily. Do you suggest, Miss Fairfax, that I entrapped Ernest into an engagement? How dare you? This is no time for wearing the shallow mask of manners. When I see a spade I call it a spade. • Gwendolen. [Satirically.] I am glad to say that I have never seen a spade. It is obvious that our social spheres have been widely different.
1.This is no time for wearing the shallow mask of manners 2.Dit is geen tijd voor het dragen van het ondiepe masker van manieren 3.Ce n'est pas un temps pour le port du masque superficiel des manières 4. Δεν είναι ένας χρόνος για το λιμάνι της superficiel μάσκας των τρό π ων 5.It is not one year for the harbour of superficiel mask of ways -Babels fish
• Common set of ontologies • Need to agree on representation
• Concept of Assembly Line
“Neither rain, nor sleet nor snow nor dark of night shall stay this courier from his appointed rounds.”
So OpenMetaDir is based on • Ontologies to describe message content. • Handling short messages about events. • Using rules to decide who can publish, who might receive and the path in between. • Allowing messages to be transformed on- the-fly. • reliable transfer of messages.
Ontologies (wikipedia) Ontologies are used in artificial intelligence, the semantic web, software engineering and information architecture as a form of knowledge representation about the world or some part of it. Ontologies generally describe: • Individuals : the basic or "ground level" objects • Classes : sets, collections, or types of objects • Attributes : properties, features, characteristics, or parameters that objects can have and share • Relations : ways that objects can be related to one another
Provisioning Registry Information Model (PRIM) • Relation ‣ Owner ‣ Role • Collection ‣ Group ‣ Organization • Thing ‣ Person ‣ User ‣ Machine ‣ Service ‣ Course
Transferring objects 1. Source A populates an object with information (java,python,perl(?)). 2. passes the object on to OM2 3. magic happens 4. Receiver X receives an object
Under the hood
The message bus • Going to support at least • SOAP/WS-RM • REST/HTTP • XMPP
The directory service • NAPTR based DNS lookup • HTTP GET of node description
The assembly line • Content-based routing • Operational logic • Transformation logic
The registry • RDF database • SPARQL • WS and LDAP read-only interfaces
The GUI • For human interactions with the registry • Ontology based
Export to LDAP • SPML (possibly) based provisioning
In-a-box
Questions!
Recommend
More recommend