FREE ELECTRONIC LIBRARY - Books, dissertations, abstract

Pages:     | 1 |   ...   | 10 | 11 || 13 | 14 |   ...   | 16 |


-- [ Page 12 ] --

IEXT(IS(soda:subTypeOf)) ⊂ IEXT(IS(rdfs:subClassOf)) Subtyping is a transitive property. This requirement needs to be restated for SODA subtyping since the transitivity of rdfs:subClassOf could have been lost by application of rdfs:subPropertyOf.

xxx soda:subTypeOf yyy. ∧ yyy soda:subTypeOf zzz. ⇒ xxx soda:subTypeOf zzz.

{x,y,y,z} ⊂ IEXT(IS(soda:subTypeOf)) ⇒ x,z ∈ IEXT(IS(soda:subTypeOf)) The only semantic difference between the RDFS and SODA versions of subtyping are that the latter is more strictly typed — it can only be applied to concepts. According to this definition, it is for example possible to assert that some collection is a subtype of some class, but it is then required that the collection have an empty extension.

soda:subTypeOf rdfs:domain soda:Concept.

soda:subTypeOf rdfs:range soda:Concept.

x,y ∈ IEXT(IS(soda:subTypeOf)) ⇒ x ∈ ICEXT(IS(soda:Concept)) x,y ∈ IEXT(IS(soda:subTypeOf) ⇒ y ∈ ICEXT(IS(soda:Concept)) A subtype needs to conform to the structure of a supertype, but this requirement is implicitly given by the subset definition of RDFS subtyping. This means that no special rules are required for the subtype to obtain the type of all its supertypes and all their attributes.

6.3.4 COLLECTIONS In this section, a subset of RDF collection concepts is given additional semantics that correspond to collection as an (ordered) multiset.

soda:MemberAttribute rdfs:subClassOf rdfs:ContainerMembershipProperty.

soda:member rdf:type soda:MemberAttribute.

∀ n ∈ N: soda:_n rdfs:subPropertyOf soda:member.

∀ n ∈ N: soda:_n rdfs:subPropertyOf rdf:_n.

–  –  –

∀ n ∈ N: IEXT(IS(soda:_n)) ⊂ IEXT(IS(rdf:_n)) The following two rules specify the domain and range of membership properties.

xxx soda:member yyy. ⇒ ∃ ccc, ddd: xxx soda:type ccc. ∧ ccc rdf:type soda:Collection.

∧ yyy soda:type ddd. ∧ ddd rdf:type soda:Concept.

x,y ∈ IEXT(IS(soda:member)) ⇒ x ∈ I2EXT(IS(soda:Collection)) ∧ y ∈ I2EXT(IS(soda:Concept)) Every collection concept has exactly one property soda:collectionOf, which indicates the type of objects contained in the collection.

xxx rdf:type soda:Collection. ⇒ ∃! yyy: xxx soda:collectionOf yyy.

soda:collectionOf rdfs:domain soda:Collection.

soda:collectionOf rdfs:range soda:Concept.

x ∈ ICEXT(IS(soda:Collection)) ⇒ ∃! y: x,y ∈ IEXT(IS(soda:collectionOf)) x,y ∈ IEXT(IS(soda:collectionOf)) ⇒ x ∈ ICEXT(IS(soda:Collection)) x,y ∈ IEXT(IS(soda:collectionOf) ⇒ y ∈ ICEXT(IS(soda:Concept)) All elements of a collection need to have the prescribed type.

xxx soda:member yyy. ∧ xxx soda:type ccc. ∧ ccc soda:collectionOf ddd. ⇒ yyy soda:type ddd.

x,y ∈ IEXT(IS(soda:member) ∧ x,c ∈ IEXT(IS(soda:type)) ∧ c,d ∈ IEXT(IS(soda:collectionOf)) ⇒ y,d ∈ IEXT(IS(soda:type)) 6.3.5 OBJECT ATTRIBUTES Attributes of an instance point to different parts of the instance's data — references to other objects, aggregated tuple values or collections and elementary data types, or literals. The attributes of an object are given by its type, although an object can also have additional attributes.

Both classes and tuples can have attributes, and an attribute must indicate its domain.

aaa rdf:type soda:Attribute. ⇒ ∃ ccc: aaa rdfs:domain ccc. ∧ ccc rdf:type (soda:Class ∪ soda:Tuple).

a ∈ ICEXT(IS(soda:Attribute) ⇒ ∃ c: a,c ∈ IEXT(IS(rdfs:domain)) ∧ c ∈ ICEXT(IS(soda:Class)) ∪ ICEXT(IS(soda:Tuple)) An attribute of a given instance can either be a reference to an object, or a tuple or collection, or a literal value. Every attribute has to specify its range.

–  –  –

a ∈ ICEXT(IS(soda:Attribute) ⇒ ∃ c: a,c ∈ IEXT(IS(rdfs:range)) ∧ c ∈ ICEXT(IS(soda:Concept)) This rule is at the core of strict SODA typing. A given instance must have all the attributes that its type prescribes. An exception to this is an undefined reference to a class instance.

xxx soda:type ccc. ∧ ccc rdf:type (soda:Class ∪ soda:Tuple).

∧ aaa rdf:type soda:Attribute. ∧ aaa rdfs:domain ccc.

∧ ccc rdf:type (soda:Collection ∪ soda:Tuple ∪ soda:Datatype). ⇒ ∃ yyy: xxx aaa yyy.

x ∈ I2EXT((IS(soda:Class)) ∪ I2EXT(IS(soda:Tuple)) ∧ a ∈ ICEXT(IS(soda:Attribute)) ∧ x,c ∈ IEXT(IS(soda:type)) ∧ a,c ∈ IEXT(IS(rdfs:domain)) ∧ c ∈ ICEXT(IS(soda:Collection)) ∪ ICEXT(IS(soda:Tuple)) ∪ ICEXT(IS(soda:Datatype)) ⇒ ∃ y: x,y ∈ IEXT(a) The following rule formalizes what was already mentioned elsewhere — there should not be multiple attribute triples with the same subject and predicate. Such cases must be transformed to collections.

xxx aaa yyy. ∧ xxx aaa zzz. ∧ aaa rdf:type soda:Attribute. ⇒ IS(yyy) = IS(zzz) x,y ∈ IEXT(a) ∧ x,z ∈ IEXT(a) ∧ a ∈ ICEXT(IS(soda:Attribute)) ⇒ y = z


The difference between classes and the other concepts is that collections, tuples and literals are always parts of an aggregated object — they do not have OIDs and cannot participate in relationships.

The expression of this fact is that in a RDF graph, there is always one and only one reference to the instances of these non-class concepts, because within an object, the structure of its data is always a tree graph. In most cases, this can be conveniently expressed using a blank node since beside the enclosing object, nothing needs to refer to it.

xxx soda:type ccc. ∧ ccc rdf:type (soda:Tuple ∪ soda:Collection ∪ soda:Datatype).

∧ yyy aaa xxx. ∧ zzz bbb xxx. ∧ {a, b} rdf:type (soda:Attribute ∪ soda:MemberAttribute). ⇒ IS(xxx) = IS(yyy) ∀n∈N: x ∈ I2EXT(IS(soda:Tuple)) ∪ ICEXT(IS(soda:Collection)) ∪ ICEXT(IS(soda:Datatype)) ∧ y,x ∈ IEXT(a) ∧ z,x ∈ IEXT(b) ∧ {a, b} ⊂ ICEXT(IS(soda:Attribute)) ∪ ICEXT(IS(soda:MemberAttribute)) ⇒ x = y Collections and tuples (and, obviously, literals) cannot exist in the database without an enclosing object (an instance of a class) that refers to them.

∀ n ∈ N: xxx soda:type ccc. ∧ ccc rdf:type (soda:Tuple ∪ soda:Collection ∪ soda:Datatype ). ⇒ ∃ yyy, aaa: yyy aaa xxx.

∀ n ∈ N: x ∈ I2EXT(IS(soda:Tuple)) ∪ I2EXT(IS(soda:Collection)) ∪ I2EXT(IS(soda:Datatype)) ⇒ ∃ y, a:

y,x ∈ IEXT(a) Collections, tuples and literals also need to avoid being parts of each other because that would create something like an infinite data recursion. Since there is only one attribute referring to each of them, there needs to be a "path" of attributes from some class concept to these concepts (Figure 6.2).

Semantic Web as an Object-oriented Database 55 xx0 soda:type yy. ∧ yy rdf:type (soda:Collection ∪ soda:Tuple ∪ soda:Datatype).

⇒ ∃ n ≥ 1, xx1...xxn, yy1...yyn, aa1...aan: ∀i ∈ {1...n}:

xxn aan xxn-1. ∧ … ∧ xx2 aa2 xx1. ∧ xx1 aa1 xx0. ∧ aai rdf:type (soda:Attribute ∪ soda:MemberAttribute). ∧ xxn soda:type zzz. ∧ zzz rdf:type soda:Class.

x0 ∈ I2EXT(IS(soda:Collection)) ∪ I2EXT(IS(soda:Tuple)) ∪ I2EXT(IS(soda:Datatype)) ⇒ ∃ n≥1, x1…xn, a1…an: ∀i∈{1…n}: xi,xi-1 ∈ IEXT(ai) ∧ ai ∈ ICEXT(IS(soda:Attribute)) ∪ ICEXT(IS(soda:MemberAttribute)) ∧ xn ∈ I2EXT(IS(soda:Class))

–  –  –

This example is intended to demonstrate the whole process of building a RDF-based object-oriented database, and contains the following steps (see Figure 6.3). First, a UML class diagram shows an overview of the problem domain. Second, the data model is clearly defined using the CDL language to show what the schema would look like in a normal object-oriented database. Third, the description is transformed to a RDF-based schema of a corresponding SODA model (with semantics essentially identical to the CDL description). Fourth part contains part of RDF graph with several instances of the data that conform to the given schema. Fifth part concludes the whole example with extending the model to encompass several useful vocabularies for the Semantic Web.


We need to create an information system for a simple content management application — an online magazine that publishes on the Web. The publishing team is made up of several authors who contribute articles and photographs. We need to store some basic information about these authors (like their names and addresses) and some metadata about the files they produced (URL of the files, article abstracts and image thumbnails). All of this information should be accessible to the managers of the whole project as well as other computers that can use some of the metadata to search, index or publish our content.

The selection of elements for implementing this example is aimed at demonstrating a number of concepts defined in the SODA model, while some relationships and attributes were intentionally omitted to keep the whole section simple.

6.4.2 UML DIAGRAM OF THE OM SCHEMA The UML class diagram [OMG03] in Figure 6.4 shows the model in a way that should be simple to understand, but there are several semantic nuances and unusual features that deserve more explanation and are properly formalized in the CDL and RDF schemas below: the hasAddress aggregation relationship is simply an attribute of Author, but in this form the structure of this attribute is clearly displayed; the choice of attribute names corresponds with the RDF way of naming associations (hasName) instead of roles (Name); and many attributes which naturally belong in the model were omitted for the sake of brevity. The Products association class is actually a collection that represents a 1:N relationship from Author to Product, physically embedded in the Author class, with a hasImgNum attribute that says how many of the products in this collection by one author are images.

Semantic Web as an Object-oriented Database 57

–  –  –

6.4.3 CDL DEFINITION OF THE OM SCHEMA Since the SODA model is based on CDL (see section 3.5), this CDL definition captures the exact semantics of the resulting schema. Namespaces for concepts, properties and types are omitted for

brevity, along with the [Mandat] (mandatory) directive for all properties:

–  –  –

6.4.4 SODA MODEL OF THE OM SCHEMA This section presents the RDF/S schema of the example using N-Triples notation, with the usual regular expression abbreviation for sets of similar triples. When creating a SODA model, the designer always needs to choose a namespace for representing the concepts he is creating. This example will use the following namespace: xmlns:om="http://www.example.com/om#". The rdf: and soda: namespaces were already defined in chapter 6.3.

The following description defines typing and subclassing information for all OM concepts and attributes, assigning their urirefs clear semantics. Author and Product are classes — their instances will have a system-assigned uriref, which is also required of Image and Article because these concepts subclass Product. Instances of Address will be tuples represented by blank nodes with three attributes each. The Products collection used to model 1:N relationships must also specify the type of items it stores (soda:collectionOf).

{ om:Author, om:Product } rdf:type1 soda:Class.

om:Address rdf:type soda:Tuple.

om:Products rdf:type soda:Collection.

om:Products soda:collectionOf om:Product.

{ om:Image, om:Article } soda:subTypeOf om:Product.

{ om:hasName, om:hasAddress, om:created, om:createdBy, om:hasStreet, om:hasNum, om:hasCity, om:hasTitle, om:hasLocation, om:hasThumb, om:hasAbstract } rdfs:subClassOf soda:Attribute.

All the urirefs that were defined as SODA attributes must also give their domains and ranges. From this point the concepts are completely defined with typed member attributes and relationships. The ranges of literals are typed by XML Schema Datatypes ([BM00]).

{ om:hasName, om:hasAddress, om:created } rdfs:domain om:Author.

{ om:hasStreet, om:hasNum, om:hasCity } rdfs:domain om:Address.

{ om:hasTitle, om:hasLocation, om:createdBy } rdfs:domain om:Product.

om:hasImgNum rdfs:domain om:Products.

om:hasThumb rdfs:domain om:Image.

om:hasAbstract rdfs:domain om:Article.

{ om:hasName, hasStreet, om:hasCity, om:hasTitle, hasAbstract } rdfs:range xsd:String.

Pages:     | 1 |   ...   | 10 | 11 || 13 | 14 |   ...   | 16 |

Similar works:

«Arno Böhler, Christian Herzog, Alice Pechriggl (Hg.) Korporale Performanz KörperKulturen Arno Böhler (Univ.-Doz. Mag. Dr. phil.) lehrt Philosophie an der Universität Wien. Er ist Leiter des FWF-Forschungsprojekts »Generating Bodies« (TRP12-G21) und Mitbegründer des Festivals »Philosophy On Stage«. Christian Herzog (Mag. phil.), Mitarbeiter im Projekt »Generating Bodies« und Lehrbeauftragter an der Alpen-Adria-Universität Klagenfurt. Alice Pechriggl (Univ.-Prof.in Dr.in phil.) lehrt...»

«DIPLOMARBEIT Titel der Diplomarbeit: „Zwischen Ver-hüllung und Ent-hüllung. Zur Sexualität im europäischen Roman des 18. Jahrhunderts“ Verfasser Florian Gantner angestrebter akademischer Grad Magister der Philosophie (Mag.phil.) Wien, 2009 Studienkennzahl lt. Studienblatt: A 393 Studienrichtung lt. Studienblatt: Vergleichende Literaturwissenschaft Betreuer: Ao. Prof. Dr. Norbert Bachleitner Inhaltsverzeichnis: Einleitung 7 1 Grundlagen 9 1.1 Bürgertum und Sexualität 9 1.1.1...»

«Editions and Translations of the Philosophical Works of Cicero http://www.ontology.co/biblio/cicero-philosophical-works.htm Editions and Translations of the Philosophical Works of Cicero LIST OF THE PHILOSOPHICAL AND RHETORICAL WORKS OF CICERO Cicero gives a list of his philosophical works in the preface to the second book of his De divinatione: After serious and long continued reflection as to how I might do good to as many people as possible and thereby prevent any interruption of my service...»

«GeorG Friedrich händel ~ Saul A uthentic Classical Concerts zu veröffentlichen, heisst für uns, herausragende Aufführungen und Konzerte für die Nachwelt festzuhalten und zu vermitteln. Denn Künstler, Publikum, Werk und Raum treten in einen intimen Dialog, der in Form und Ausdruck in seiner Atmosphäre einmalig und unwiederbringlich ist. Diese Symbiose, die Spannung der Aufführung dem Hörer in all ihren Facetten möglichst intensiv erlebbar zu machen, indem wir die Konzerte direkt in...»

«Aacken (Acken), NN, Kaufmann in Königsberg. I,441; II,59. Abaelard siehe Abélard Abano, Pietro da (1250-1316), ital. Arzt, Philosoph und Astrologe -Conciliator differentiarum philosophorum et praecibue medicorum. Mantua 1472 [darin: De balneis]. IV,351; 355. Abauzit, Firmin (1679-1767), Altertumsforscher u. Theologe, in Genf siehe Aubert de Versé Abbt, Thomas (1738-1766), 1760 a.o. Prof. der Philosophie in Frankfurt/Oder, 1761 Prof. der Mathematik in Rinteln, 1765 schaumb.-lipp. Hof-,...»

«Argumentationstheorie und Logik Christoph Lumer Universität Osnabrück FB 2 Philosophie D-49069 Osnabrück Deutschland (Erschienen in: In: Geert-Lueke Lueken (Hg.): Formen der Argumentation. Leipzig: Leipziger Universitätsverlag 2000. S. 53-71.) 1. Thema des Beitrages Ziel meines Beitrags ist, das Verhältnis von philosophischer Argumentationstheorie und philosophischer Logik genauer zu bestimmen. (Den Zusatz philosophisch werde ich im folgenden meist weglassen.) Dazu werde ich so vorgehen,...»

«Forensik zwischen Krimi und Sachbuch Falltexte – Paratexte – Kontexte Inauguraldissertation zur Erlangung des Doktorgrades der Philosophie an der Ludwig-Maximilians-Universität München vorgelegt von Ingrida Povidisa-Nerowski aus Riga, Lettland Erstgutachter: Prof. Dr. Christian Begemann Zweitgutachter: Prof. Dr. Oliver Jahraus Datum der mündlichen Prüfung: 25. Mai 2012 Einleitung 4 I. Das Phänomen Forensik – „Ein populärer Irrtum“ 15 II. Forschungsaspekte zum forensischen Krimi...»

«Reflexionen über Entfremdungserscheinungen in Christa Wolfs Medea. Stimmen Yildiz Aydin Reflexionen über Entfremdungserscheinungen in Christa Wolfs Medea. Stimmen Von der Philosophischen Fakultät der Rheinisch-Westfälischen Technischen Hochschule Aachen zur Erlangung des akademischen Grades einer Doktorin der Philosophie genehmigte Dissertation von Yildiz Aydin, M.A. Berichter: Universitätsprofessor Dr. Dieter Breuer Universitätsprofessorin Dr. Monika Fick Tag der mündlichen Prüfung:...»

«EINFÜHRUNG: ZWISCHEN TRANSFER UND VERGLEICH Hans-Jürgen Lüsebrink, Manfred Schmeling und Christiane Solte-Gresser 1. GRENZÜBERSCHREITUNG ALS METHODISCHE HERAUSFORDERUNG Im Zuge der Globalisierung nimmt das Bewusstsein für kulturwissenschaftliche Fragestellungen zu. Der gesellschaftliche Tatbestand beschleunigter kultureller Austauschprozesse hat zu erhöhter methodischer Reflexivität geführt. Die Forschung zu Kulturbeziehungen und die Theorien zum Kulturkontakt haben ihre Paradigmen...»

«FORMS AND FUNCTIONS OF NARRATION AND FOCALIZATION IN SOME SELECTED POEMS OF LORD BYRON: A NARRATOLOGICAL ANALYSIS Inaugural-Dissertation zur Erlangung des Doktorgrades der Philosophie des Fachbereiches 05 der Justus-Liebig-Universität Gießen vorgelegt von Pepertua Kininla Lola Nkamanyang aus Douala (Kamerun) Dekanin: Prof. Dr. Monika Wingender 1. Berichterstatter: Prof. Dr. Ansgar Nünning (University of Giessen, Germany) 2. Berichterstatter: Prof. Olayinka M. Njikam Savage (University of...»

<<  HOME   |    CONTACTS
2016 www.book.dislib.info - Free e-library - Books, dissertations, abstract

Materials of this site are available for review, all rights belong to their respective owners.
If you do not agree with the fact that your material is placed on this site, please, email us, we will within 1-2 business days delete him.