AddingformalsemanticstotheWeb
buildingontopofRDFSchema
JeenBroekstra
1
,MichelKlein
2
,StefanDecker
3
,DieterFensel
2
,IanHorrocks
4
1
AIdministratorNederlandb.v.,Amersfoort,TheNetherlands,e-mail:jeen.broekstra@aidministrator.nl
2
DepartmentofComputerScience,VrijeUniversiteit,Amsterdam,TheNetherlands,e-mail:{mcaklein,dieter}@cs.vu.nl
3
DepartmentofComputerScience,StanfordUniversity,Stanford,USA,e-mail:stefan@db.stanford.edu
4
DepartmentofComputerScience,UniversityofManchester,UK,e-mail:horrocks@cs.man.ac.uk
4thSeptember2000
Abstract RDFSchemaprovidesmeanstodefinevocabulary,
structureandconstraintsforexpressingmetadataaboutWeb
resources.However,formalsemanticsfortheprimitivesde-
finedinRDFSchemaarenotprovided,andtheexpressivity
oftheseprimitivesisnotenoughforfull-fledgedontologi-
calmodelingandreasoning.Toperformthesetasks,anaddi-
tionallayerontopofRDFSchemaisneeded.Inthispaper,
wewillshowhowRDFSchemacanbeextendedinsucha
waythatafullknowledgerepresentationlanguagecanbeex-
pressedinit,thusenrichingitwiththerequiredadditional
expressivityandthesemanticsofthislanguage.Wedothis
bydescribingtheontologylanguageOILasanextensionof
RDFSchema.First,wegiveashortintroductiontobothRDF
SchemaandOIL.WethenproceedtodefineaSchematoex-
pressOILontologiesinRDF,wheretheaimistouseexist-
ingRDFterminologywherepossible,andextendingRDF(S)
wherenecessary.TheresultisanRDFSchemadefinitionof
OILprimitives,whichallowsonetoexpressanyOILontol-
ogyinRDFsyntax,thusenablingtheaddedbenefitsofOIL,
suchasreasoningsupportandformalsemantics,tobeusedon
theWeb.Weconcludethatourmethodofextendingisequally
applicabletootherknowledgerepresentationformalisms.
1 Introduction
RDFSchemaprovidesmeanstodefinevocabulary,structure
andconstraintsforexpressingmetadataaboutWebresources.
However,formalsemanticsfortheprimitivesdefinedinRDF
Schemaarenotprovided,andtheexpressivityoftheseprimi-
tivesisnotenoughforfull-fledgedontologicalmodelingand
reasoning.Toperformthesetasks,anadditionallayerontop
ofRDFSchemaisneeded.TimBerners-Leecallsthislayered
architecturetheSemanticWeb[Berners-Lee,1998].
AtthelowestleveloftheSemanticWeb(seefigure1)a
genericmechanismforexpressingmachinereadableseman-
ticsofdataisrequired.TheResourceDescriptionFramework
Logical layer
Schema layer
Data layer
Formal semantics and reasoning support
- OIL
Definition of vocabulary
- RDF Schema
Simple data model and syntax for meta data
- RDF
Figure1.Thethree-layeredarchitectureoftheSemanticWeb
(RDF) [Lassila andSwick, 1999] is this foundation for pro-
cessing metadata, providinga simple data model and astan-
dardized syntax for metadata. Basically, it provides the lan-
guage forwritingdownfactual statements. The nextlayeris
the schema layer (provided by the RDF Schema specifica-
tion[BrickleyandGuha,2000]).Wewillshowhowaformal
knowledge representation language canbe used as the third,
logical, layer. We will illustrate this by defining the ontol-
ogy languageOIL [Fenseletal., 2000,Horrocks etal.,2000]
asanextensionofRDFSchema.
OIL (Ontology Inference Layer), a major spin-off from
theISTprojectOn-To-Knowledge
1
,isaWeb-basedrepresen-
tationand inference layerforontologies, which unifies three
importantaspects providedbydifferentcommunities:formal
semantics andefficientreasoningsupportas providedbyDe-
On-To-Knowledge: Content-driven
Knowledge-Management Tools
through Evolving Ontologies (IST-1999-10132). Project partners are the
VrijeUniversiteitAmsterdam(VU);theInstituteAIFB,UniversityofKarl-
sruhe,Germany; AIdministrator,theNetherlands; British Telecom Labora-
tories,UK;SwissLife,Switzerland;CognIT,Norway;andEnersearch,Swe-
den.http://www.ontoknowledge.org/
Pdf create bookmarks - add, remove, update PDF bookmarks in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your C# Project with Rapid PDF Internal Navigation Via Bookmark and Outline
create pdf bookmarks from word; how to bookmark a pdf page
Pdf create bookmarks - VB.NET PDF bookmark library: add, remove, update PDF bookmarks in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Your VB.NET Project with Rapid PDF Internal Navigation Via Bookmark and Outline
how to create bookmark in pdf automatically; create pdf bookmark
2
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
scriptionLogics,epistemologicalrichmodelingprimitivesas
providedby the Frame community, and a standard proposal
for syntactical exchange notations as provided by the Web
community.
The content of the paperis organizedas follows. In sec-
tion 2 we provide a short introduction to RDF and RDF
Schema. Section 3 provides a very brief introduction into
OIL. Section4 illustrates indetail howRDF Schema can be
extended,usingOILasanexampleknowledgerepresentation
language. Finally, we provide some conclusions and recom-
mendations insection5.
2 RDF andRDFSchema
Inthis sectionwewilldiscussthemainfeatures ofRDFand
RDFSchema (orRDFS for short) andwe will critically re-
viewsomeoftheirdesigndecisions.
2.1 IntroductiontoRDF
Aprerequisite forthe Semantic Web is machine-processable
semantics of the information. The Resource Description
Framework(RDF)[Lassila andSwick, 1999]is afoundation
forprocessingmetadata;itprovides interoperabilitybetween
applications thatexchangemachine-understandableinforma-
tionontheWeb. Basically, RDFdefinesadatamodelforde-
scribing machine processable semantics of data. The basic
data modelconsists ofthreeobjecttypes:
– Resources:AresourcemaybeanentireWebpage;apart
ofa Webpage;a whole collectionofpages; or anobject
that is not directly accessible via the Web; e.g. a printed
book.Resourcesarealways namedbyURIs.
– Properties:Apropertyisaspecificaspect,characteristic,
attribute, orrelationusedtodescribearesource.
– Statements: A specific resource together with a named
property plus the value ofthatpropertyfor thatresource
isanRDFstatement.
Thesethreeindividualpartsofa statementarecalled,respec-
tively,thesubject, thepredicate,andtheobject. Inanutshell,
RDF defines object-property-value-triples as basic model-
ing primitives and introduces a standard syntax for them.
AnRDFdocument will define properties in terms ofthe re-
sources to whichtheyapply. AsRDFstatements are also re-
sources, statements can be recursively applied tostatements
allowingtheirnesting.
2.2 IntroductiontoRDFSchema
The modeling primitives offered by RDF are very
basic
2
. Therefore, the RDF Schema specification
[BrickleyandGuha,2000] defines further modeling prim-
itives in RDF. Examples are class, subclass relationship,
2
Actually theycorrespond tobinary predicatesofgroundterms,where,
however,thepredicatesmaybeusedasterms,aswell.
domain and rangerestrictions for property, andsubproperty.
Withtheseextensions, RDFSchemacomesclosertoexisting
ontologylanguages.
Despitethesimilarityintheirnames,RDFSchemafulfills
adifferentrole thanXML Schema does. XML Schema, and
alsoDTDs,prescribestheorderandcombinationoftagsinan
XML document. Incontrast, RDFSchema onlyprovides in-
formationabout the interpretationofthe statements given in
anRDFdata model, butit does not constrainthesyntactical
appearance ofan RDF description. Therefore, the definition
ofOILinRDFSthatwillbepresentedinthis document will
not provide constraints onthe structureofanactual OIL on-
tology.
Inthissectionwewillbrieflydiscusstheoverallstructure
ofRDFSanditsmainmodelingprimitives.
2.2.1 ThedatamodelofRDFSchema
Figure2pictures the subclass-ofhierarchyofRDFSandfig-
ure 3 pictures the instance-of relationships of RDFS primi-
tives according to [BrickleyandGuha,2000]. The ‘rdf’pre-
fix refers to the RDF name space (i.e., primitives with this
prefix are already defined in RDF) and ‘rdfs’ refers to new
primitives defined by RDFS. Note that RDFS uses a non-
standard object-meta model: the properties rdfs:subClassOf,
rdf:type, rdfs:domain and rdfs:range are usedboth as primi-
tive constructs in the definition of the RDF schema specifi-
cationandasspecificinstancesofRDFproperties. Thisdual
rolemakesitpossibletoviewe.g.rdfs:subClassOfasanRDF
property just likeotherpredefinedornewly introducedRDF
properties, but introduces a self referentiality into the RDF
schema definition, which makes it ratherunique when com-
paredtoconventionalmodelandmeta modelingapproaches,
andmakestheRDFschemaspecificationverydifficulttoread
andtoformalize, cf. [Nejdletal.,2000].
2.2.2 ThemodelingprimitivesofRDFSchema
In this section, we will discuss the mainclasses, properties,
andconstraintsinRDFS.
rdfs:Resource
rdfs:Class
rdfs:ConstraintResource
rdf:Property
rdfs:ConstraintProperty
rdfs:ContainerMembershipProperty
Figure2.Thesubclass-ofhierarchyofmodelingprimitivesinRDFS.
– Core classes are rdfs:Resource, rdf:Property3, and
rdfs:Class. Everything that is described by RDF ex-
pressions is viewed to be an instance of the class
3
Note,thatinthissenseapropertyisaninstanceofaclass.
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; 'create optimizing options
how to bookmark a pdf document; creating bookmarks in pdf files
VB.NET PDF File Split Library: Split, seperate PDF into multiple
how to split a PDF file into multiple ones by PDF bookmarks or outlines Valid value for each index: 1 to (Page Count - 1). ' Create output PDF file path
acrobat split pdf bookmark; bookmarks in pdf
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
3
rdfs:Resource
rdf:Property
rdfs:ContainerMembershipProperty
rdfs:ConstraintProperty
rdfs:Literal
rdfs:ConstraintResource
rdfs:Class
Figure3.Theinstance-ofrelationshipsofmodelingprimitivesinRDFS.
rdfs:Resource. The class rdf:Property is the class
of all properties used to characterize instances of
rdfs:Resource, i.e., each slot / relation is an instance of
rdf:Property. Finally, rdfs:Class is used to define con-
cepts inRDFS, i.e., eachconcept mustbe an instanceof
rdfs:Class.
– Core properties are rdf:type, rdfs:subClassOf, and
rdfs:subPropertyOf. The rdf:type relation models
instance-of relationships between resources and classes.
Aresource may be an instance of more than one class.
The rdfs:subClassOf
4
relation models the subsumption
hierarchy between classes and is supposed to be tran-
sitive. Again, a class may be subclass of several other
classes, however, a class can neither be a subclass of
its own nor a subclass of its own subclasses, i.e., the
inheritance graph is cycle-free. The rdfs:subPropertyOf
relation models the subsumption hierarchy between
properties. If some property P
2
is a rdfs:subPropertyOf
another property P
1
, and if a resource R has a P
2
property with a value V, this implies that the resource
R also has a P
1
property with value V. Again, the
inheritancegraphissupposedtobecycle-free.
– Core
constraints
are
rdfs:ConstraintResource,
rdfs:ConstraintProperty, rdfs:range, and rdfs:domain.
rdfs:ConstraintResource defines the class of all
constraints. rdfs:ConstraintProperty is a subset of
rdfs:ConstraintResource and rdf:Property covering all
properties that are used to define constraints. At the
moment,ithastwoinstances:rdfs:rangeandrdfs:domain
thatare usedtorestrictrangeanddomainofproperties.It
isnotpermittedtoexpresstwo ormore range constraints
on a property. For domains this is not enforced and is
interpretedastheunionofthedomains.
3 OIL
In this section we will give a very brief description
of the OIL language; more details can be found in
[Horrocksetal., 2000]. A smallexample ontologyinOIL is
providedinfigure4.Thislanguagehasbeendesignedsothat:
It is not really
clear from the RDFS specification whether
rdfs:subClassOfcanbeappliedtordf:Property.Thisseemspossiblebecause
thelatterisalsoaninstanceofrdfs:Class.
1. it provides most of the modeling primitives commonly
usedinframe-basedandDescriptionLogic(DL)oriented
Ontologies;
2. ithasa simple, cleanandwelldefinedfirst-orderseman-
tics;
3. automatedreasoningsupport, (e.g., classconsistencyand
subsumption checking) can be provided. The FaCT sys-
tem[Bechhoferetal., 1999], aDL reasonerdevelopedat
theUniversityofManchester, canbe(andhasbeen)used
tothisend[Stuckenschmidt,2000].
It is envisaged that this core language will be extended in
the futurewithsetsofadditional primitives, withthe proviso
thatfullreasoningsupportmaynotbeavailableforontologies
usingsuchprimitives.
Anontology in OIL is represented via an ontology con-
tainer andan ontologydefinition part. Forthe container, we
adoptthecomponents definedbyDublinCoreMetadataEle-
mentSet, Version1.1
5
.
Theontology-definitionpartconsistofanoptionalimport
statement,anoptionalrule-baseandclassandslotdefinitions.
Aclassdefinition(class-def)associatesaclassnamewith
aclass description. This class descriptionin turnconsists of
the type ofthedefinition(eitherprimitive, which means that
the stated conditions forclass membershiparenecessary but
not sufficient, ordefined, which means that these conditions
are both necessary and sufficient), a subclass-of statement
andzeroormore slot-constraints.
The value of a subclass-of statement is a (list of) class-
expression(s). This can be either a class name, a slot-
constraint, orabooleancombinationofclass expressions us-
ing theoperatorsAND, ORandNOT, withthestandard DL
semantics.
Aslot-constraint(a slot may also be calleda role or an
attribute)is alistofoneormoreconstraints(restrictions)ap-
pliedtoaslot. Typicalconstraintsare:
– has-value (class-expr) Every instance of the class de-
fined by the slot constraint must be related, via the slot
relation,toaninstanceofeachclassexpressioninthelist.
– value-type (class-expr) If an instance of the class de-
finedbytheslot-constraintis related via the slot relation
tosome individualx, then xmust bean instance ofeach
class-expressioninthelist.
– max-cardinalityn (class-expr) An instance of theclass
defined by the slot-constraint can be related to at most
ndistinct instances of the class-expression via the slot
relation (also min-cardinality and, as a shortcut for both
minandmax, cardinality).
Aslot definition (slot-def) associates a slot name witha
slot definition. A slot definition specifies global constraints
that apply to the slot relation. A slot-def can consist of a
subslot-ofstatement, domainandrangerestrictions,andad-
ditional qualities ofthe slot, such as inverse slot, transitive,
andsymmetric.
5
Seehttp://purl.org/DC/
C# PDF File Compress Library: Compress reduce PDF size in C#.net
Bookmarks. inputFilePath = Program.RootPath + "\\" 3.pdf"; String outputFilePath = Program.RootPath + "\\" 3_optimized.pdf"; // create optimizing options
bookmark pdf documents; bookmark a pdf file
C# PDF File Split Library: Split, seperate PDF into multiple files
Split PDF file by top level bookmarks. The following C# codes explain how to split a PDF file into multiple ones by PDF bookmarks or outlines.
export pdf bookmarks to excel; how to add a bookmark in pdf
4
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
ontology-container
title“AfricanAnimals”
creator“IanHorrocks”
subject“animal,food,vegetarians”
description“Adidacticexampleontology
describingAfricananimals”
description.release“1.01”
publisher “I.Horrocks”
type“ontology”
format“pseudo-xml”
format“rdf”
identifier “http://www.ontoknowledge.org/oil/rdfs-oil.pdf”
source“http://www.africa.com/nature/animals.html”
language“en-uk”
ontology-definitions
slot-def
eats
inverse
is-eaten-by
slot-def
has-part
inverse
is-part-of
propertiestransitive
class-defanimal
class-defplant
subclass-ofNOTanimal
class-deftree
subclass-ofplant
class-defplant
slot-constraint
is-part-of
has-valuetree
class-defleaf
slot-constraint
is-part-of
has-valuebranch
class-defdefinedcarnivore
subclass-ofanimal
slot-constraint
eats
value-typeanimal
class-defdefinedherbivore
subclass-ofanimal,NOTcarnivore
slot-constraint
eats
value-type
plantOR
slot-constraint
is-part-of
has-valueplant
class-defgiraffe
subclass-ofherbivore
slot-contraint
eats
value-typeleaf
class-deflion
subclass-ofanimal
slot-constraint
eats
value-typeherbivore
class-deftasty-plant
subclass-ofplant
slot-constraint
is-eaten-by
has-valueherbivore,carnivore
Figure4.AnexampleOILontology.
The syntax of OIL is oriented towards XML and RDF.
[Horrocksetal., 2000] defines a DTD and a XML schema
definition for OIL. [Kleinetal., 2000] derives an XML
Schema for writing down instances of an OIL ontology. In
this paper,wewillderivetheRDFSsyntaxofOIL.
4 OILas anextensionofRDF Schema
RDF provides basic modeling primitives: ordered triples of
objects andlinks.RDFSenrichesthisbasicmodelbyprovid-
ingavocabularyforRDF, whichisassumedtohaveacertain
semantics. In this section we will provide a carefulanalysis
of the relation between RDFS and OIL by defining OIL in
RDFS, usingexistingvocabularywherepossibleandextend-
ingRDFSwithOILprimitives where necessary.
4.1 Theontologycontainer, importmechanismand
rulebase
TheouterboxoftheOILspecificationinRDFSisdefinedby
the XML prologue and the namespace definitions xmlns:rdf
andxmlns:rdfs,whichrefertoRDFandRDFS, respectively.
Namespace definitions make externally defined RDF con-
structs available forlocal use. Therefore, the OIL specifica-
tionimports RDFandRDFS, andan actualontologyinOIL
has namespace definitions which import both the RDF and
RDFSdefinitions aswellas theOILspecificationitself.
<?xml version=’1.0’ encoding=’ISO-8859-1’?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/
22-rdf-syntax-ns#"
6
xmlns:rdfs="http://www.w3.org/TR/1999/
PR-rdf-schema-19990303#"
xmlns:oil="http://www.ontoknowledge.org/oil/rdfschema"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcq="http://purl.org/dc/qualifiers/1.1/"
<!-- The ontology defined in OIL with RDFS syntax-->
</rdf:RDF>
As one can see, the namespace definitions are not tran-
sitive. An actual ontology even needs to reimport RDF and
RDFSdefinitionsviaxmlns:rdfandxmlns:rdfs,otherwise,all
elements ofOIL that directlycorrespondtoRDFandRDFS
elements wouldnotbeavailable.
The ontology-container of OIL provides metadata de-
scribing an OIL ontology. Because the structure and RDF-
formatoftheDublinCore elementsetisused, itis enoughto
import the namespace of the Dublin Core element set. Note
thatthefactthat anOILontologyshouldprovide acontainer
definition is an informal guideline in its RDFS syntax, be-
cause it is not possible to enforce this in the schema defini-
tion.
Apart from the container, an OIL ontology consists ofa
set of definitions. The import definition is a simple list of
references to other OIL modules that are to be included in
this ontology. We make use ofthe XML namespace mecha-
nism to incorporate this mechanism in our RDFSspecifica-
tion. Notice againthat, incontrast totheimportstatementin
OIL, inclusionviathenamespace definitionis nottransitive.
6
Duetospacelimitations,wehadtochopseveralURIsintwo.
C# Create PDF Library SDK to convert PDF from other file formats
file. Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields.
how to bookmark a page in pdf document; how to create bookmarks in pdf file
VB.NET Create PDF Library SDK to convert PDF from other file
Create and save editable PDF with a blank page, bookmarks, links, signatures, etc. Create fillable PDF document with fields in Visual Basic .NET application.
pdf bookmark; bookmark template pdf
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
5
There are no constraints on the format orcontent of the
rule-base in OIL. It could simply consist of untyped rules
(a textstring), or structured rules accordingto an externally
definedformat. Forthelatter, OIL provides amechanism for
referringtoanexternaldefinition
7
.IntheRDFSspecification
ofOILweprovideaclassRuleBasetoclassifythepartofthe
ontologywhichdefinestherules:
<rdfs:Class rdf:ID="RuleBase">
<rdfs:comment>
A user-defined rulebase possibly described
by an external RDF-Schema
</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/TR/
1999/PR-rdf-schema-19990303#Resource"/>
</rdfs:Class>
In an actual ontology, a simple example of a rulebase
mightlooklike:
<rdf:Description xmlns:syllogism=
"http://old.greece/syllogism/">
<rdf:type rdf:resource="http://www.ontoknowledge.org/
oil/rdfschema#RuleBase"/>
<syllogism:premise>
if it rains, you get wet
</syllogism:premise>
<syllogism:fact>
it rains
</syllogism:fact>
<syllogism:conclusion>
you get wet
</syllogism:conclusion>
</rdf:Description>
WithhelpoftheXMLnamespacefacilityitisveryeasyto
refertoanexternallydefinedformatoftherulesandaxioms.
See [StaabandM¨adche, 2000].
4.2 Classandattributedefinitions
InOIL, a class definition links a class with a name, a docu-
mentation, a type, its superclasses, and theattributes defined
for it. In RDFS, classes are simplydeclared by giving them
aname (withtheIDattribute). We will showhow OIL class
definitionscanbewrittendowninRDF,whiletryingtomake
use of existing RDFS constructs as much as possible, but
wherenecessary extendingRDFSwith additional constructs
(see table 1 and figure 5).We conform to the informal RDF
guidelinetostartpropertynameswithalower-caseletter,and
classnames witha capital.
To illustrate the use of these extensions, we will walk
throughthem bymeans ofa running example ofaclass def-
inition in OIL thatneeds tobeserializedinRDFS. Consider
the followingclassdefinition(seealsofigure4):
class-defdefinedherbivore
subclass-ofanimal,NOTcarnivore
slot-constraint
eats
value-type
plantOR
slot-constraint
is-part-of
has-valueplant
However,OILdoesnotprovideasyntaxfortheseexternaldefinitions.
Thedefinitioncouldsimplyconsistofadescriptionoftheformatoftherule-
baseinplaintext.
This defines a class named ”herbivore”, which is a sub-
class of all animals that are not carnivores (i.e. herbivore is
disjoint from the class carnivore), and whose instances only
eatplants orpartsofplants.
We start by translating the class definition header. This
canbedoneinastraightforwardmanner,usingtherdfs:Class
constructandtherdf:IDpropertytoassignaname:
<rdfs:Class rdf:ID="herbivore"> </rdfs:Class>
However, from this definitionit is not yet clear that this
classis adefinedclass. We chosetointroducetwoclasses in
theOILnamespace,namedPrimitiveClassandDefinedClass.
In a particularclass definition, whenevera class is a defined
class,weusetherdf:typepropertytoexpressthis:
<rdfs:Class rdf:ID="herbivore">
<rdf:type rdf:resource="http://www.ontoknowledge.org/
oil/rdfs-schema/#DefinedClass"/>
</rdfs:Class>
Alternatively,onecouldserializethis as:
<oil:DefinedClass rdf:ID="herbivore"> </oil:DefinedClass>
We will use the first method of serialization throughout
thisarticle,because,althoughbothareequalintheirmeaning,
the firstoneis, inouropinion,clearertoahumanreader.
This wayofmakingan actualclass an instance ofeither
DefinedClassorPrimitiveClassintroducesaniceobject-meta
distinctionbetweentheOILRDFSschemaandtheactualon-
tology:usingrdf:type youcanconsidertheclass”herbivore”
to be an instance of DefinedClass. In general, if no explicit
rdf:type is giventoaclass definition, the class is assumedto
beprimitive.
Next, we have to translate the subclass-of statement to
RDFS.Here, wecomeacrosstwofeaturesofOILthatarenot
directlyexpressible in RDFS: first, OIL allows class expres-
sions as anextension to simple class names, andsecond, the
subclass-of statement in OIL allows cycles in the subsump-
tion hierarchy, which the RDFS equivalentdoes not. We ig-
nore this lastdifference inourprocedure for now (we come
backtothis probleminsection5).
In OIL it is possible to say that a class is a subclass
of some class-expression, which is a boolean expression of
classes. Three boolean operators are allowed in OIL: AND,
ORandNOT. SinceinRDFSthevalueofanrdfs:subClassOf
statement can onlybe an instance of rdfs:Class, we decided
to serialize the three boolean operators as classes in RDFS.
This makes sensefromamodelingperspectiveas well,asthe
resultoftheapplicationofabooleanoperatoristhedefinition
ofa (nameless)class.
Weintroduceoil:ClassExpressionasaplaceholderclass
8
,
withtheoperators AND, OR andNOT definedas subclasses
of oil:ClassExpression. Also, since a single class is a es-
sentially a simple kind of class-expression, rdfs:Class itself
should be a subclass of oil:ClassExpression. Exploiting the
credoofRDFSthatanyonecansayanythingtheywantabout
AplaceholderclassintheOILRDFSspecificationisonlyusedinthe
toapplydomain-andrangerestrictionstoagroupofclasses,andwillnotbe
usedintheactualOILontology.
.NET PDF SDK - Description of All PDF Processing Control Feastures
Full page navigation, zooming & rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. PDF Create.
delete bookmarks pdf; convert excel to pdf with bookmarks
XDoc.Word for .NET, Advanced .NET Word Processing Features
& rotation; Outlines, bookmarks, & thumbnail display; Integrated annotation; More about Web Viewer ▶. Conversion. Word Create. Create Word from PDF; Create Word
display bookmarks in pdf; pdf create bookmarks
6
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
rdfs:Resource
oil:Classexpression
rdfs:Class
rdfs:ConstraintResource
rdf:Property
oil:AND
oil:OR
oil:NOT
oil:SlotConstraint
oil:NumberRestriction
oil:ClassType
oil:DefinedClass
oil:PrimitiveClass
oil:HasValue
oil:ValueType
oil:MinCardinality
oil:MaxCardinality
oil:Cardinality
oil:TransitiveProperty
oil:SymmetricProperty
oil:ReflexiveProperty
Figure5.TheOILextensionstoRDFSinthesubsumptionhierarchy.
existing resources, we add in the OIL-specification an ex-
tra subClassOf relation to the existing rdfs:Class, using the
rdf:aboutconstruction:
<rdf:Description rdf:about="http://www.w3.org/2000/
01/rdf-schema#Class">
<rdfs:subClassOf rdf:resource="#ClassExpression"/>
</rdf:Description>
Consequently, we also have to extend the range of
rdfs:subClassOfwithoil:ClassExpression.
<rdf:Description rdf:about="http://www.w3.org/2000/
01/rdf-schema#subClassOf">
<rdfs:range rdf:resource="#ClassExpression"/>
</rdf:Description>
The AND, OR and NOT operators are connected to
operands using the oil:hasOperand property. This property
has no direct equivalent in OIL primitive terms, but is a
helpertoconnecttwoclass-expressions, because inthe RDF
data model one can only relate two classes by means of a
Property. The oil:hasClass and oil:hasSlotConstraint prop-
erties have more or less the same meaning, but are used
in different contexts, and thus have different domain and
range restrictions. Because of this same function in more
specific contexts, we would prefer to model oil:hasOperand
andoil:hasSlotConstraintasrdfs:subPropertyOfoil:hasClass,
because essentially oil:hasOperand is a specific case of
oil:hasClass. However, the RDFS specification is unclear
about the way domain and range restrictions are inherited.
Becausewe are uncertain aboutthis, we chose tokeep them
as separateproperties.
In thecase ofourexample, we needanRDFS-equivalent
for NOT. The OIL RDF Schema definition of this operator
lookslikethis:
<rdfs:Class rdf:ID="NOT">
<rdfs:subClassOf rdf:resource="#ClassExpression"/>
</rdfs:Class>
andthehelperpropertyisdefinedasfollows:
<rdf:Property rdf:ID="hasOperand">
<rdfs:domain rdf:resource="#AND"/>
<rdfs:domain rdf:resource="#OR"/>
<rdfs:domain rdf:resource="#NOT"/>
<rdfs:range rdf:resource="#ClassExpression"/>
</rdf:Property>
The fact that hasOperand is only to be used on specific
class expressions (AND, OR and NOT) is expressed using
the rdfs:domain construction. This type of modeling stems
directlyfrom the RDFproperty-centric approach.
Backtotheexamplenow.Thesubclass-ofstatementcon-
tains a comma seperated list. To serialize this in RDFS, we
simply use one subClassOf statement for each item in this
list:
<rdfs:Class rdf:ID="herbivore">
<rdf:type rdf:resource="http://www.ontoknowledge.org/
oil/rdfs-schema/#DefinedClass"/>
<rdfs:subClassOf rdf:resource="#animal"/>
<rdfs:subClassOf>
<oil:NOT>
<oil:hasOperand rdf:resource="#carnivore"/>
</oil:NOT>
</rdfs:subClassOf>
</rdfs:Class>
As we can see, the first subClassOfstatement is normal
RDFS usage, where a named class is used as the value. In
the second statement however, RDFSis extended usingOIL
primitives asexplainedabove.
An alternative to this solution would be to serialize the
listasonesubClassOfstatement,usingtheoil:ANDconstruct
to combine the items (after all, the comma seperated list is
animplicitconjunction). However, therearesomesignificant
disadvantages tothis approach:
– Whilenone ofthesemantics of the originalOIL expres-
sion is lost, its original modeling is. The difference be-
tweenacommaseperatedlistwithinthesubclass-ofstate-
mentoran explicitconjunction is unretrievable. In other
words:translatingfromOILtoRDFandbackisnolonger
guaranteed to give an identical ontology from a model-
ingperspective(thoughsemanticequivalenceisofcourse
stillpreserved).
– WhileusinganRDFS-constructtomodelsubsumptionis
agoodidea, inthis caseonemightgetthe wrongimpres-
sion that an RDF agent would be able to deal with the
informationprovidedinthe subClassOfstatement. How-
ever, in the case of oil:AND as the outer class, it would
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
7
only be able to see that the defined class is a subClass
of some other class, but no specifics of this other class
are known because it does not know the semantics of
oil:AND. Bypresenting it as a list, anyRDFSagent can
understandthesubclass statements.
We still need to serialize the slot constraint. In RDFS,
thereis nomechanism forrestricting the attributesofa class
ona locallevel. This is again duetotheproperty-centricna-
ture of the RDFdata model: properties are definedglobally,
with their domain description coupling them to the relevant
classes.
To overcome this problem, we introduce the
oil:hasSlotConstraint property, which is an rdf:type of
rdfs:ConstraintProperty (analogous to rdfs:domain and
rdfs:range). Here we take full advantage of the intended
extensibility of RDFS. We also introduce oil:SlotConstraint
as a placeholder class for specific classes of slot constraints,
such as has-value, value-type, cardinality and so on. These
are allmodeledinRDFSas subclasses ofoil:SlotConstraint:
<rdfs:Class rdf:ID="ValueType">
<rdfs:subClassOf rdf:resource="#SlotConstraint"/>
</rdfs:Class>
andsimilarfortheotherslotconstraints. Forthethreecardi-
nalityconstraints, anextra property”number” is introduced,
which is used to assign a concrete value to the cardinality
constraints.
Wenowdefinetheoil:hasSlotConstraintproperty:
<rdf:Property rdf:ID="hasSlotConstraint">
<rdf:type rdf:resource="http://www.w3.org/TR/1999/
PR-rdf-schema-19990303#ConstraintProperty"/>
<rdfs:domain rdf:resource="http://www.w3.org/2000/
01/rdf-schema#Class/">
<rdfs:range rdf:resource="#SlotConstraint"/>
</rdf:Property>
Inourexample,theslot-constraintwouldbeserializedus-
ing the primitives introduced above, giving us the following
completetranslation:
<rdfs:Class rdf:ID="herbivore">
<rdf:type rdf:resource="http://www.ontoknowledge.org/
oil/rdfs-schema/#DefinedClass"/>
<rdfs:subClassOf rdf:resource="#animal"/>
<rdfs:subClassOf>
<oil:NOT>
<oil:hasOperand rdf:resource="#carnivore"/>
</oil:NOT>
</rdfs:subClassOf>
<oil:hasSlotConstraint>
<oil:ValueType>
<oil:hasProperty rdf:resource="#eats"/>
<oil:hasClass>
<oil:OR>
<oil:hasOperand rdf:resource="#plant"/>
<oil:hasOperand>
<oil:HasValue>
<oil:hasProperty rdf:resource=
"#is-part-of"/>
<oil:hasClass rdf:resource=
"#plant"/>
</oil:HasValue>
</oil:hasOperand>
</oil:OR>
</oil:hasClass>
</oil:ValueType>
</oil:hasSlotConstraint>
</rdfs:Class>
In the secondoperand ofthe OR operatorwe see an ex-
ampleofaslotconstraintusedasanamelessclassdefinition.
It basicallyspecifies the class ofall things that have a prop-
erty”is-part-of”ofwhichthevalueis ”plant”.
Analternativetotheintroductionofoil:hasSlotConstraint
would be to serialize all slot constraints as part of the sub-
ClassOf statement. After all, a slot constraint is effectively
the definition of a (nameless) class and canas such be used
within any class expression. Also, this would eliminate the
needforanextensionofRDFSwiththeoil:hasSlotConstraint
construct.However,therearesomesignificantdisadvantages
tothisapproach,quitesimilartothedisadvantagesstatedear-
lier with respect to the serialization of a comma seperated
listofclass names:stuffing the entire class definitionwithin
asingle subClassOf statement makes the RDF specification
unclear,partofthemodelingislost, andanRDFagentisless
likelytounderstandthesubsumptionhierarchy.
Theserializationweproposegivesusenoughexpressive-
nesstotranslate anypossibleOIL classdefinition toanRDF
syntax.UseofRDF(S)specificconstructsismaximizedwith-
out sacrificing clarity of the specification, to enable RDF
agents that are not OIL-aware tounderstand as much of the
specification as possible, while retaining the possibility to
translatebacktoOIL unambiguously.
In the next section, we will examine how to serialize
globalslotdefinitions.
4.3 Slotdefinitions
Both OIL and RDFS allow slots as first-class citizens of an
ontology. Therefore, slotdefinitions in OIL mapnicely onto
property definitions in RDFS. Also the ”subslot-of”, ”do-
main”, and”range”properties havealmostdirectequivalents
in RDFS. Intable 2, an overview ofthe OIL constructs and
the correspondingRDFSconstructs is given.
There is a subtile difference between range restrictions
in OIL and their equivalent in RDFS: in the latter, only one
restriction per Property is allowed. In contrast with RDFS,
OILallowsmorethanonerangerestrictiononaproperty. Al-
thoughthiscanbecircumventedbydefiningadummysuper-
class of all classes in the range restriction, we seeno reason
forthis restriction in RDFS. From a modeling point ofview,
allowing more than one range restriction is a much cleaner
solution.
Translating a slot definition which comprises only con-
structs with more or less direct counterparts in RDFS is
straightforward.Forexample:
slot-def
gnaws
subslot-of
eats
domainRodent
wouldbecome:
<rdf:Property rdf:ID="gnaws">
<rdfs:subPropertyOf rdf:resource="#eats"/>
<rdfs:domain rdf:resource="#Rodent"/>
</rdf:Property>
8
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
Table1.Class-definitionsinOILandthecorrespondingRDF(S)constructs
OILprimitive
RDFSsyntax
type
class-def
rdfs:Class
class
subclass-of
rdfs:subClassOf
property
class-expression
oil:ClassExpression
class
(placeholderonly)
AND
oil:AND
class
(subclassofClassExpression)
OR
oil:OR
class
(subclassofClassExpression)
NOT
oil:NOT
class
(subclassofClassExpression)
slot-constraint
oil:SlotConstraint
class
(placeholderonly)
oil:hasSlotConstraint
property
(rdf:typeofrdfs:ConstraintProperty)
oil:NumberRestriction
class
(placeholderonly)
(subclassofoil:SlotConstraint)
has-value
oil:HasValue
class
(subclassofoil:SlotConstraint)
value-type
oil:ValueType
class
(subclassofoil:SlotConstraint)
max-cardinality
oil:MaxCardinality
class
(subclassofoil:NumberRestriction)
min-cardinality
oil:MinCardinality
class
(subclassofoil:NumberRestriction)
cardinality
oil:Cardinality
class
(subclassofoil:NumberRestriction)
However, global slot-definitions in OIL allow specifica-
tion of more aspects of a slot than property definitions in
RDFS do. Besides the domain and range restrictions, OIL
slots can also have an ”inverse” attribute and qualities like
”transitive”and”symmetric”.
Wetherefore addeda property ”inverseRelationOf” with
”rdf:Property” as domain and range. We also added the
classes ”TransitiveRelation” and”SymmetricRelation”tore-
flectthedifferentqualitiesofaslot.IntheRDFS-serialization
ofOIL, therdf:type property canbeused to add aqualityto
aproperty.Forexample,theOILdefinitionof:
slot-def
has-part
inverse
is-part-of
propertiestransitive
isinRDFS:
<rdf:Property rdf:ID="has-part">
<rdf:type rdf:resource="http://www.ontoknowledge.org/
oil/rdf-schema/#TransitiveRelation"/>
<oil:inverseRelationOf rdf:resource="#is-part-of"/>
</rdf:Property>
This way of translating the qualitities of properties fea-
tures the same nice object-metadistinctionbetweentheOIL
RDFS schema and the actual ontology as the translation of
the ”type” ofa class (see section4.2). Inanactual ontology,
the property”has-part”canbeconsideredasaninstanceofa
TransitiveRelation.Notethatitisallowedtomakeaproperty
an instance of more than one class, and thus giving it mul-
tiplequalities. Notethatthiswayofrepresentingqualitiesof
propertiesinRDFSfollowstheproposedgeneralapproachof
modelingaxioms inRDFS, presentedin[Staabetal., 2000].
Inthisapproach,thesamedistinctionbetweenlanguage-level
constructsandschema-levelconstructs is made.
One alternative way of serializing the attributes of prop-
ertieswouldbetodefinethequalities ”transitive”and”sym-
metric”assubpropertiesofrdf:Property. Propertiesintheac-
tual ontology(e.g. ”has-part”)wouldintheirturnbedefined
as subProperties of these qualities (e.g. transitiveProperty).
However, this would mixuptheuseofproperties atthe OIL-
specificationlevelandattheactualontologylevel.
Athirdwaywould betomodelthequalities as subprop-
ertiesofrdf:Propertyagain,buttodefinepropertiesintheac-
tualontologyas instances (rdf:type)ofsuchqualities. Inthis
aproach, theobject-meta leveldistinctionispreserved.How-
ever, we dislike the use of rdfs:subPropertyOf at the meta-
level, because then rdfs:subPropertyOfhas two meanings, at
the meta-levelandattheobject-level.
We thereforepreferthefirstsolutionbecauseoftheclean
distinctionbetweenthe meta andobjectlevel.
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
9
Table2.Slot-definitionsinOILandthecorrespondingRDF(S)constructs.
OILprimitive
RDFSsyntax
type
slot-def
rdf:Property
class
subslot-of
rdfs:subPropertyOf
property
domain
rdfs:domain
property
range
rdfs:range
property
inverse
oil:inverseRelationOf
property
transitive
oil:TransitiveRelation
class
symmetric
oil:SymmetricRelation
class
5 Conclusion
In the previous section we have shown that it is possible to
define a formal knowledge representation schema as an ex-
tension to RDFS, effectively implementing the ”third layer
ofthe Semantic Web”. We didthis by defining the ontology
language OIL in RDFS, using existing primitives as much
as possible whileretainingaunambiguousmappingbetween
theoriginalOILspecificationanditsRDFSserialization.The
resulting extension of RDFS allows the specification of do-
main ontologies that are alreadypartially understandable by
non-OIL-aware RDFSapplications, while OIL-aware appli-
cationscanfullybenefitoftheaddedfeatures,suchasformal
semantics andreasoningsupport.
There are still afew unsolved problems withthespecifi-
cationofOIL intoRDFS. First, wedidnottake intoaccount
arestrictionontherdfs:subClassOfstatement,i.e. therestric-
tion that no cycles are allowed in the subsumption hierar-
chy. Wethinkthatthisrestrictionshouldbedropped:without
cycles one cannot even represent equivalence between two
classes — in our view this is an essential modeling primi-
tive for any knowledge representation language. Moreover,
these kinds of constraint significantly add to the complex-
ityof parsing/validatingRDFdocuments in away whichwe
think would be highly undesirable. This is because they are
really semantic constraints rather than syntactic ones (they
limitthekinds ofmodels thatcanberepresented),evenifthe
reasoningrequiredinordertodetectconstraintviolationisof
averybasic kind.
Second, in contrast with RDFS, OIL allows more than
one range restrictionona property. Althoughthis canbecir-
cumventedbydefining a dummysuperclass ofallclasses in
the range restriction, we see noreason for this restriction in
RDFS. From a modeling point of view, allowing more than
one rangerestrictionis amuchcleanersolution.
During the process of extending RDFS, we encountered
acouple of peculiarities in the RDFS definition itself. The
moststrikingoftheseisthenon-standardobject-metamodel,
asalreadydiscussedinsection2.2.1. Themainproblem with
this non-standard model is that some properties have a dual
role in the RDFSspecification, both attheschema leveland
instance level (cf. [Nejdletal.,2000]). This makes itquite a
challengeformodelerstounderstandtheRDFSspecification.
We tried to make this distinction clear in our extensions by
usingtherdf:typerelationshipconsistentlyas anobject-meta
relationship.
Furthermore, the semantics of several relationships are
unclear. Itis notobviousthatthemeaningofa listofdomain
(orrange)restrictions is the unionofthe elements. Also, the
meaningofthesubPropertyOfrelationwithrespecttothe in-
heritanceofthedomainandrangerestrictions is unclear.
Despite these problems, we think that this procedure of
extendingRDFSisalsoapplicabletootherknowledge repre-
sentationformalisms.
Acknowledgements. We wouldliketothankMonicaCrubezy,Ying
Ding, Michael Erdmann, Frank van Harmelen, Arjohn Kampman,
and BorysOmelayenkofortheir helpful commentsandforreview-
ingearlydraftsofthispaper.
References
Bechhoferetal.,1999. Bechhofer, S., Horrocks, I., Patel-
Schneider, P. F., and Tessaris, S. (1999). A proposal for a
descriptionlogic interface. InProc.of DL’99,pages33–36.
Berners-Lee,1998. Berners-Lee, T. (1998). Semantic web road
map.
Internal note, World Wide Web Consortium.
See
http://www.w3.org/DesignIssues/Semantic.html.
BrickleyandGuha,2000. Brickley, D. and Guha, R. (2000). Re-
source Description Framework (RDF) Schema Specification1.0.
Candidate recommendation, World Wide Web Consortium. See
http://www.w3.org/TR/2000/CR-rdf-schema-20000327.
Fenseletal.,2000. Fensel, D., Horrocks, I., van Harmelen, F.,
Decker,S., andKlein,M.(2000). OILina nutshell. InProceed-
ingsof12thInternationalConference onKnowledgeEngineering
andKnowledgeManagement,Juan-les-Pins,FrenchRiviera.
Horrocksetal.,2000. Horrocks, I., Fensel, D., Broekstra, J.,
Decker,S.,Erdmann,M.,Goble,C.,vanHarmelen,F.,Klein,M.,
Staab, S., and Studer, R. (2000). OIL: The Ontology Inference
Layer. Technicalreport,UniversityofManchester/VrijeUniver-
siteitAmsterdam. Seehttp://www.ontoknowledge.org/oil/.
Kleinetal.,2000. Klein, M., Fensel, D., van Harmelen, F., and
Horrocks,I.(2000). Therelationbetweenontologiesandschema-
languages: Translating OIL-specifications in XML-Schema. In
Proceedings of the Workshop on Applications of Ontologiesand
Problem-solving Methods, 14th European Conference on Artifi-
cial IntelligenceECAI2000,Berlin,Germany.
LassilaandSwick,1999. Lassila, O.andSwick,R.R.(1999). Re-
source Description Framework (RDF): Model and Syntax Spec-
ification. Recommendation, World Wide Web Consortium. See
http://www.w3.org/TR/REC-rdf-syntax/.
Nejdl etal.,2000. Nejdl, W., Wolpers, M., and Capella, C.
(2000). The RDF Schema Revisited. In Modelle und Model-
lierungssprachen in Informatik und Wirtschaftsinformatik, Mod-
ellierung2000,St.Goar.FoelbachVerlag,Koblenz.
Staabetal.,2000. Staab, S., Erdmann, M., M¨adche, A., and
Decker,S.(2000). An extensible approachfor modeling ontolo-
gies in RDF(S). In First Workshop on the Semantic Web at the
FourthEuropeanConferenceonDigitalLibraries,Lisbon,Portu-
gal.
StaabandM¨adche,2000. Staab, S. and M¨adche, A. (2000). Ax-
iomsareobjects,too-ontologyengineeringbeyondthemodeling
of concepts and relations. Technical Report 399, Institut AIFB,
Universit¨atKarlsruhe.
10
JeenBroekstra,Michel Kleinetal.:Addingformal semanticstothe Web
Stuckenschmidt,2000. Stuckenschmidt, H. (2000). UsingOILfor
Intelligent Information Integration. In Proceedingsof the Work-
shop on Applications of Ontologies and Problem-solving Meth-
ods, 14th European Conference on Artificial Intelligence ECAI
2000,Berlin,Germany.
Documents you may be interested
Documents you may be interested