1 / 27

Describing Individuals in OWL: Abox and Tbox

Learn about describing individuals in OWL, including the differences between individuals and instances, encoding instance files, instantiating individuals, and describing existing individuals.

terrencea
Download Presentation

Describing Individuals in OWL: Abox and Tbox

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 15

  2. 15 Describing Individuals • OWL Individuals • Ontological Primitive Layer • Mostly described with RDF • Instances of user-defined ontological classes • Abox (values), not Tbox (schema)

  3. 15.1 Determining an Individual • Sometimes it is difficult to determine if a given resource is an • Individual • Instance, or • Class A file with individuals: “an instance file” = Abox Individuals: an instance of a concept

  4. 15.1.1 Individual vs. Instance • Subtle difference - individual and instance • Instance is broader term • Anything can have an instance • All individuals are instances, but not vice-versa • A user defined class is an instance of owl:Class • Individuals are • Concrete instantiations rather than just concepts • Similar to records in an RDBMS • Similar to objects in object-oriented systems • “That pie over there” versus “key lime pie”

  5. 15.1.2 Class vs. Individual • Can be tricky to decide if a particular concept is • “subclass of” another concept (class) or • “instance of” another concept (individual) • Answer can vary between different applications • OWL Full can consider an individual to be a class • Sometimes individual is “prototype” for class • Guidelines • Individuals should represent actual or virtual objects in the domain of interest • Groups of objects should be class concept sets • If information is treated as data, define it as an individual • If information is used to understand semantics of other data, define it as a class

  6. 15.1.3 Leaves of a Taxonomy • Concepts are organized into taxonomies (trees) • Most specific concepts (leaves) are possible candidates to be individuals • Another test: if values different but properties same • Identify lowest level of granularity • Consider • If A “is a type of” B, then A is a subclass of B • If A “is an instance of” B, then A is an individual of class B

  7. 15.2 Encoding an Instance File • When possible, separate individuals (Abox) from ontologies (Tbox) by storing in different files • File with individuals: “instance file”/“artifact file” • Ontology files modified infrequently (schema) • Instance files modified frequently (records) • RDF sufficient for representing most statements about individuals • Minimize use of OWL in instance files • Software treats Abox and Tbox the same • Instance files have same format as ontology files (header, body, footer)

  8. 15.3 Instantiating Individuals • Use markup tools when possible! • Easier and • Verifies statement compliance with ontology • Instances • Created using rdf:ID attribute • Associated with a class using • rdf:type attribute and/or • typedNode syntax

  9. 15.3.1 Naming Individuals • Individuals referenced using URIrefs • Assigned using rdf:ID attribute • Referenced w/ rdf:about or rdf:resource attributes • Individuals can sometimes be “anonymous” • No explicit rdf:ID specified • No “unique names assumption” • Same object may be referenced by >1 URIref • Best practice • Reuse existing “keys” in rdf:ID • E.g. use employee number as part of rdf:ID identifier to identify a particular employee

  10. 15.3.2 Joining a Class • An individual asserts membership in a class with • rdf:type attribute and/or • typedNode syntax • Individuals can be members of multiple classes

  11. 15.3.2.1 Instantiating Using RDF Descriptions • rdf:Description (8.3.4.1) creates an individual • rdf:ID “names” individual with URIref • Not required • rdf:type attribute assigns individual to class • Syntax • <rdf:Description rdf:ID="instanceReference"> <rdf:type rdf:resource="Class"/></rdf:Description>

  12. 15.3.2.2 Instantiating Using Class Name • Class typedNode syntax (8.3.6.1.5) creates an individual • Can only specify one class this way • Can specify additional classes using rdf:type • Syntax • <Class rdf:ID="instanceReference"></Class> • Example • <Restaurant rdf:ID="KnightOwlRestaurant"> <rdf:type="#SmallBusiness"/></Restaurant> • “The Knight Owl is a restaurant and a small business”

  13. 15.4 Describing an Individual • Individuals can be described • Where “created” using rdf:ID • Later using rdf:about • Properties for individuals are defined the same way as making statements about resources (8.3.3)

  14. 15.4.1 Associating Property Values at Instantiation • Properties can be assigned when instance is created using rdf:ID • Syntax • <ClassName rdf:ID="identifier">instanceReferences</ClassName> • Example • <Restaurant rdf:ID="KnightOwlRestaurant"> <rest:type>Diner</rest:type> <locator:phone>407-555-1212</locator:phone></Restaurant>

  15. 15.4.2 Describing Existing Individuals • Properties can be assigned for an existing individual after creation using rdf:about • Syntax • <ClassName rdf:ID="identifier"> instanceReferences</ClassName> • Example • <Restaurant rdf:about="#KnightOwlRestaurant"> <rest:type>Diner</rest:type> <locator:phone>407-555-1212</locator:phone></Restaurant>

  16. 15.4.3 Automating Descriptions of Individuals • Since individuals represent “data”, instance files tend to be much larger than ontology files • RDF/XML text format not going to replace databases anytime soon • Instead, instance files are “views” or “snapshots” • Most applications will automatically generate ontology-compliant instance files • batch mode or “on-the-fly” as needed

  17. 15.5 Relating Individuals • OWL provides properties to relate individuals to each other • Equivalent individuals • owl:sameAs • Different individuals • owl:differentFrom • Different groups of individuals • owl:AllDifferent with owl:distinctMembers

  18. 15.5.1 Equivalent Individuals • owl:sameAs property • Specifies that two URIrefs refer to same individual • Merges information from different applications • Extremely powerful! • Allows “semantic joins” of data across disparate, often unrelated data sources…no database required! • Domain & Range: Instance of owl:Thing • Syntax • <ClassName rdf:ID="subjIndividualURIref"> <owl:sameAs rdf:resource="equivIndividualURIref"/></ClassName> • Example • <Restaurant rdf:ID="restaurant123"> <owlSameAs rdf:resource="#KnightOwlRestaurant"></Restaurant>

  19. 15.5.2 Differentiating Individuals • OWL does not follow unique names assumption • Every object might be the same as every other! • owl:DifferentFrom property • Opposite of owl:sameAs • Defines pairwise disjointness of two individuals • Better way to handle lots of individuals coming up • Domain & Range: Instance of owl:Thing • Syntax • <owl:differentFrom rdf:resource="diffIndividURIref"/> • Example • <rest:Restaurant rdf:ID="KnightOwlRestaurant"> <owl:differentFrom rdf:resource="#Restaurant124"/></rest:Restaurant>

  20. 15.5.3 Differentiating Groups of Individuals • owl:AllDifferent class • Asserts that all contained individuals are unique • Uses owl:distinctMembers property to enumerate list of disjoint individuals • Syntax • <owl:AllDifferent> <owl:distinctMembers rdf:parseType="Collection"> members </owl:distinctMembers></owl:AllDifferent> • Example • <owl:AllDifferent> <owl:distinctMembers rdf:parseType="Collection"> <traffic:Light rdf:about="Red"/> <traffic:Light rdf:about="Yellow"/> <traffic:Light rdf:about="Green"/> </owl:distinctMembers></owl:allDifferent>

  21. 15.6 Describing Individuals Summary • Individuals • Described using RDF/XML • Should be compliant with an OWL ontology • May have multiple URIrefs • Members of user-defined classes • Described at instantiation or any time later • Can be related by equivalence or disjointness • Groups of individuals can be declared disjoint

  22. Chapter 16

  23. 16 OWL Lite Summary • OWL ontologies • Specified in datafiles using RDF/XML • Header specifies namespaces, versioning, imports • Describe classes, properties, and relationships • OWL classes • Defined with owl:Class • owl:Thing (root class) & owl:Nothing (empty class) • OWL properties • Relate objects to datatypes, objects, annotations • Relate ontologies to each other

  24. 16 OWL Lite Summary cont’d • OWL property attributes • Global restrictions (e.g. Functional) • Global inter-property relationships (e.g. inverseOf) • Inference shortcuts (eg. Transitive) • Local restrictions on classes(values, cardinality) • OWL classes also created via derivation • Subclasses, equivalency, intersections of classes • Individuals • Instances of user-defined classes • Described at instantiation or later • Can be declared equivalent or different

  25. Group Construct Group Construct Class/Property Equivalency owl:equivalentClass Property Type Restrictions owl:allValuesFrom owl:equivalentProperty owl:someValuesFrom Individual Equivalency owl:sameAs owl:intersectionOf owl:differentFrom Cardinality Restrictions owl:minCardinality (0 or 1) owl:AllDifferent/ owl:distinctMembers owl:maxCardinality (0 or 1) owl:cardinality (0 or 1) Property Characteristics owl:inverseOf Derived Classes rdfs:subClassOf owl:TransitiveProperty owl:equivalentClass owl:SymmetricProperty Header Ontology Information owl:imports owl:FunctionalProperty owl:priorVersion owl:inverseFunctionalProperty owl:backwardCompatibleWith owl:incompatibleWith 16.1 OWL Lite Constructs

  26. 16.2 OWL Lite Restrictions • OWL Lite • Subset of OWL Full • Goal • Lessen tool requirements • Provide basic functionality • Maintain simplicity • Maintain decidability • Restrictions • Values, resources, constructsonly belong to 1 OWL concept • All classes must be typed as OWL classes • All properties must be typed as OWL properties (object, datatype, annotation, or ontology) • Starred items in diagram cannot be mixed (must be disjoint)

  27. Category OWL Full Construct Restriction Category OWL Full Construct Restriction Class/Type rdf:type Object of statements must be named classes or restrictions Local Property Restrictions owl:allValuesFrom Objects must be named classes or named datatypes Cardinality owl:minCardinality Value limited to 0 or 1 owl:someValuesFrom Objects must be named classes or named datatypes owl:maxCardinality Value limited to 0 or 1 owl:cardinality Value limited to 0 or 1 Global Property Restrictions rdfs:domain Objects must be named classes Set Operators owl:intersectionOf Used only on lists with length >1 containing only named classes and restrictions rdfs:range Objects must be named classes owl:inverse FunctionalProperty Cannot be defined for datatype properties Derived Classes owl:equivalentClass Subjects must be named classes Objects must be named classes rdfs:subclassOf Subjects must be named classes Objects must be named classes 16.2 OWL Lite Restrictions cont’d

More Related