<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://ontologydesignpatterns.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ChrisWelty</id>
		<title>'Ontology Design Patterns' - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://ontologydesignpatterns.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=ChrisWelty"/>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php/Special:Contributions/ChrisWelty"/>
		<updated>2026-05-15T19:55:01Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.25.6</generator>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10228</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10228"/>
				<updated>2010-10-03T20:32:46Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
&lt;br /&gt;
It has been suggestion in [[Reviews:ValentinaPresutti_about_Context_Slices]] that this may be a specialization of [[Submissions:DescriptionAndSituation]]. The DandS pattern is described in a bit of distributed way across four or so patterns, lacks an example, and uses terms like &amp;quot;description&amp;quot; and &amp;quot;concept&amp;quot; in an unfamiliar way, so I am unable to understand it.  The main objective of the CS pattern is to form projections of the objects into the contexts, not the relations, which is I think what DandS does.&lt;br /&gt;
}}&lt;br /&gt;
{{Takes in account review&lt;br /&gt;
|TakesInAccountReview=ValentinaPresutti_about_Context_Slices&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10227</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10227"/>
				<updated>2010-10-03T20:32:09Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
&lt;br /&gt;
It has been suggestion in [[Reviews:ValentinaPresutti_about_Context_Slices]] that this may be a specialization of [[Submissions:DescriptionAndSituation]]. The DandS pattern is described in a bit of distributed way across four or so patterns, lacks an example, and uses terms like &amp;quot;description&amp;quot; and &amp;quot;concept&amp;quot; in an unfamiliar way, so I am unable to understand it.  The main objective of the CS pattern is to form projections of the objects into the contexts, not the relations, which is I think what DandS does.&lt;br /&gt;
}}&lt;br /&gt;
{{Takes in account review&lt;br /&gt;
|TakesInAccountReview=VojtechSvatek_about_Context_Slices&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10226</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10226"/>
				<updated>2010-10-03T20:30:54Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
&lt;br /&gt;
It has been suggestion in [[Reviews:ValentinaPresutti_about_Context_Slices]] that this may be a specialization of [[Submissions:DescriptionAndSituation]]. The DandS pattern is described in a bit of distributed way across four or so patterns, lacks an example, and uses terms like &amp;quot;description&amp;quot; and &amp;quot;concept&amp;quot; in an unfamiliar way, so I am unable to confirm this.  The main objective of the CS pattern is to form projections of the objects into the contexts, not the relations, which is I think what DandS does.&lt;br /&gt;
}}&lt;br /&gt;
{{Takes in account review&lt;br /&gt;
|TakesInAccountReview=VojtechSvatek_about_Context_Slices&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10225</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10225"/>
				<updated>2010-10-03T20:16:54Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Takes in account review&lt;br /&gt;
|TakesInAccountReview=VojtechSvatek_about_Context_Slices&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10224</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10224"/>
				<updated>2010-10-03T20:09:44Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Takes in account review&lt;br /&gt;
|TakesInAccountReview=EnricoMotta_about_Context_Slices&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10223</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10223"/>
				<updated>2010-10-03T20:08:45Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Takes in account review&lt;br /&gt;
|TakesInAccountReview=http://ontologydesignpatterns.org/wiki/Reviews:EnricoMotta_about_Context_Slices&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10222</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10222"/>
				<updated>2010-10-03T20:04:48Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to  express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
&lt;br /&gt;
Note that the ContextualProjection class should be considered disjoint with any of the classes in an ontology that have projections.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10221</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10221"/>
				<updated>2010-10-03T20:00:36Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the statement itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  We can express cardinality, e.g. a company may have only one CEO within a context.  We can say that a relation is transitive or symmetric. We can express relation taxonomies in the usual way.  &lt;br /&gt;
&lt;br /&gt;
While clearly OWL does not support RDF reification, and so none of this is possible if statement reification is used, as mentioned above a more standard way of representing this kind of information (including time, belief, knowledge, etc.) is to create an OWL class that represents the relation holding, with properties for the arguments.  This approach makes it possible to express global but not local range and domain constraints, global but not local cardinality, and symmetry.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10220</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=10220"/>
				<updated>2010-10-03T19:58:53Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding in the context as an node with a binary relations for the subject, object, and property, and a fourth binary relation to the object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.  For example, the ancestor relation is transitive.  OWL allows one to express transitivity of a binary relation, but this expressiveness is lost if the statements of the relation are reified.  The same would be true for symmetry, reflexivity, etc.  One can get the effect of cardinality and range/domain restrictions by reifying a relation as an OWL class (instead of using RDF reification), with properties for the ''roles'' (as in the n-ary relations W3C note), but not transitivity etc.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Review assigned]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
{{Submission to event&lt;br /&gt;
|Event=WOP:2010&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=File:Context.-slices-example.jpg&amp;diff=10219</id>
		<title>File:Context.-slices-example.jpg</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=File:Context.-slices-example.jpg&amp;diff=10219"/>
				<updated>2010-10-03T16:42:24Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: uploaded a new version of &amp;quot;Image:Context.-slices-example.jpg&amp;quot;: fixed example of using context slices: added the believer and fixed direction of arrow&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An example that illustrates the context slices logical pattern&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9886</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9886"/>
				<updated>2010-08-20T16:05:17Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: WOP:2010&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
[[Category:Waiting for review]]&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9850</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9850"/>
				<updated>2010-08-20T03:03:32Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: Article is waiting for review.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;br /&gt;
[[Category:Waiting for review]]&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9849</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9849"/>
				<updated>2010-08-20T02:59:00Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template&lt;br /&gt;
|Origin=This logical pattern is a generalization of the 4D &amp;quot;Reusable Ontology for Fluents in OWL&amp;quot;, presented at FOIS-2006.  &lt;br /&gt;
&lt;br /&gt;
Welty, Chris and Richard E. Fikes. 2006.  A Reusable Ontology for Fluents in OWL.  In Bennet and Fellbaum, eds., ''Proceedings of the Fourth International Conference on Formal Ontology in Information Systems''.  IOS Press.  See&lt;br /&gt;
http://www.booksonline.iospress.nl/Content/View.aspx?piid=2209&lt;br /&gt;
}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9848</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9848"/>
				<updated>2010-08-20T02:54:42Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template&lt;br /&gt;
|ProblemExample=Here is a simple ontology that extends the logical pattern ontology and represents the statement, &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF&lt;br /&gt;
     xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&lt;br /&gt;
     xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&lt;br /&gt;
     xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;
     xmlns:cs=&amp;quot;http://www.example.org/ContextSlices#&amp;quot;&lt;br /&gt;
     xmlns:owl=&amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&lt;br /&gt;
     xmlns:daml=&amp;quot;http://www.daml.org/2001/03/daml+oil#&amp;quot;&lt;br /&gt;
     xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&lt;br /&gt;
   xml:base=&amp;quot;http://www.example.org/ContextSlicesExample&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Example of using context slices&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Company&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;Person&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:ID=&amp;quot;BeliefContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf rdf:resource=&amp;quot;http://www.example.org/ContextSlices#Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;believedBy&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;ceoOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:ObjectProperty rdf:ID=&amp;quot;contextualProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subPropertyOf&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Person rdf:ID=&amp;quot;Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;Company rdf:ID=&amp;quot;IBM&amp;quot;/&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;BeliefContext rdf:ID=&amp;quot;c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;believedBy rdf:resource=&amp;quot;#Chris&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/BeliefContext&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#IBM$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#IBM&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
   &amp;lt;cs:ContextualProjection rdf:about=&amp;quot;#Sam$c1&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;cs:hasContext rdf:resource=&amp;quot;#c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;ceoOf rdf:resource=&amp;quot;#IBM$c1&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;cs:projectionOf rdf:resource=&amp;quot;#Sam&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/cs:ContextualProjection&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9847</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9847"/>
				<updated>2010-08-20T02:25:39Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9846</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9846"/>
				<updated>2010-08-20T02:24:32Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=In OWL functional syntax:&lt;br /&gt;
 Prefix(xsd:=&amp;lt;http://www.w3.org/2001/XMLSchema#&amp;gt;)&lt;br /&gt;
 Prefix(rdfs:=&amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;)&lt;br /&gt;
 Prefix(owl:=&amp;lt;http://www.w3.org/2002/07/owl#&amp;gt;)&lt;br /&gt;
 Prefix(cs:=&amp;lt;http://example.org/ContextSlices#&amp;gt;)&lt;br /&gt;
 &lt;br /&gt;
 Ontology(&amp;lt;http://example.org/ContextSlices&amp;gt;&lt;br /&gt;
   Annotation(owl:versionInfo &amp;quot;1.0&amp;quot;@en)&lt;br /&gt;
   Annotation(rdfs:label &amp;quot;Context slices ontology logical pattern&amp;quot;@en)&lt;br /&gt;
 &lt;br /&gt;
   Declaration(Class(cs:Context))&lt;br /&gt;
   DisjointClasses(cs:Context cs:ContextualProjection)&lt;br /&gt;
   Declaration(Class(cs:ContextualProjection))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectAllValuesFrom(cs:hasContext cs:Context))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:hasContext))&lt;br /&gt;
   SubClassOf(cs:ContextualProjection ObjectExactCardinality(1 cs:projectionOf))&lt;br /&gt;
   DisjointClasses(cs:ContextualProjection cs:Context)&lt;br /&gt;
   Declaration(ObjectProperty(cs:contextualProperty))&lt;br /&gt;
   ObjectPropertyDomain(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   ObjectPropertyRange(cs:contextualProperty cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:hasContext))&lt;br /&gt;
   FunctionalObjectProperty(cs:hasContext)&lt;br /&gt;
   ObjectPropertyDomain(cs:hasContext cs:ContextualProjection)&lt;br /&gt;
   Declaration(ObjectProperty(cs:projectionOf))&lt;br /&gt;
   FunctionalObjectProperty(cs:projectionOf)&lt;br /&gt;
   ObjectPropertyDomain(cs:projectionOf cs:ContextualProjection)&lt;br /&gt;
  )&lt;br /&gt;
&lt;br /&gt;
In RDF/XML:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9845</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9845"/>
				<updated>2010-08-20T01:56:10Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language to describe the binary relation, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the ''relation arguments'' in each context for which some binary relation holds between them.  &lt;br /&gt;
&lt;br /&gt;
Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9843</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9843"/>
				<updated>2010-08-18T04:09:45Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the relation arguments in each context for which some binary relation holds between them.  Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9842</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9842"/>
				<updated>2010-08-18T04:09:03Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the relation arguments in each context for which some binary relation holds between them.  Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation= &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9841</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9841"/>
				<updated>2010-08-18T04:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the relation arguments in each context for which some binary relation holds between them.  Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&lt;br /&gt;
     &amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds &lt;br /&gt;
 such as BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context &lt;br /&gt;
 in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9840</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9840"/>
				<updated>2010-08-18T04:04:28Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the relation arguments in each context for which some binary relation holds between them.  Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way to enforce this constraint in OWL).&amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds such as &lt;br /&gt;
 BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9839</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9839"/>
				<updated>2010-08-18T04:03:28Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the relation arguments in each context for which some binary relation holds between them.  Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation= &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
   &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
 ]&amp;gt;&lt;br /&gt;
 &amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
          xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
          xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
          xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt; &lt;br /&gt;
 &amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical  pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
     &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
 The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
 must be to other slices of the same context (there is no way &lt;br /&gt;
to enforce this constraint in OWL).&amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
       &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
         &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
         &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
       &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
     &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
   &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class  should be equated&lt;br /&gt;
 with whatever class represents contexts, with possibly subclasses for different kinds such as &lt;br /&gt;
 BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
 &amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
   &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a  context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a  ContextualProjection to the context in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
   &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a  context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
     &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
 &amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9838</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9838"/>
				<updated>2010-08-18T03:59:10Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template&lt;br /&gt;
|Motivation=Most information on the web is contextualized somehow, for example information may be believed by a person or organization, it may hold only for some time period, it may have been reported/observed by an individual, etc.  There are myriad proposals and logics for context, but none are standards and few have even prototype implementations.  &lt;br /&gt;
&lt;br /&gt;
In RDF and other binary relation languages (like object oriented languages and description logics), one typical way to represent that a binary relation holds in some context is to &amp;quot;reify&amp;quot; the relation-holding (sometimes called obtainment) in the context as an object with a binary relation between the obtainment and each the two relation arguments and a third binary relation between the obtainment and an object representing the context itself.  The downside to this approach is the expressive ability of the language, especially in the case of description logics, is lost.&lt;br /&gt;
&lt;br /&gt;
The motivation for context slices is to provide a logical pattern for encoding context information in standard RDF graphs that allows some of the expressiveness of OWL to be used in describing the relations that hold in contexts.&lt;br /&gt;
&lt;br /&gt;
This is a generaliztion of the four dimensional ontology for fluents published in [Welty &amp;amp; Fikes, 2006].&lt;br /&gt;
|Aim=To encode that a binary relation holds in a context.&lt;br /&gt;
|Solution=As shown in the example, the idea of the context slices pattern is, rather than reifying the obtainment itself, to create a projection of the relation arguments in each context for which some binary relation holds between them.  Take for example the statement &amp;quot;Chris believes Sam is CEO of IBM&amp;quot;.  Say we already have nodes in some graph representing Sam and IBM.  &lt;br /&gt;
&lt;br /&gt;
We create, as shown in the diagram, the context c1 corresponding to Chris' belief, and two nodes representing Chris' belief about Sam and Chris' belief about IBM (shown as Sam@c1 and IBM@c1).  &lt;br /&gt;
&lt;br /&gt;
This allows us to represent ceoOf as a binary relation, which seems more natural, and it allows us to use the expressivity of OWL in more ways. We can say of the ceoOf relation that it has an inverse, hasCeo.  In contrast, the reified obtainment approach has no &amp;quot;directionality&amp;quot; in relations, but rather represents the &amp;quot;roles&amp;quot; played by the arguments as binary relations to the obtainment.&lt;br /&gt;
&lt;br /&gt;
We can express cardinality, e.g. a company may have only one CEO within a context. This axiom cannot be expressed in OWL for reified obtainments.&lt;br /&gt;
&lt;br /&gt;
We can say that a relation is transitive or symmetric. Symmetry can be expressed in reified obtainments by using a single role for both arguments, but not transitivity.&lt;br /&gt;
&lt;br /&gt;
We can express relation taxonomies in the usual way.  This is tricky to do using reified obtainments, though it is possible.&lt;br /&gt;
|Elements=As shown in the diagram, the pattern uses two predefined classes, cs:ContextualProjection and cs:Context.  It uses two predefined properties, cs:projectionOf (ContextualProjection x TOP), and cs:hasContext (cs:ContextualProjection x cs:Context).  Properties that hold in a context can extend the property cs:contextualProperty.&lt;br /&gt;
|Implementation=&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE rdf:RDF [&lt;br /&gt;
  &amp;lt;!ENTITY owl &amp;quot;http://www.w3.org/2002/07/owl#&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!ENTITY rdf &amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!ENTITY rdfs &amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;!ENTITY xsd &amp;quot;http://www.w3.org/2001/XMLSchema#&amp;quot;&amp;gt;&lt;br /&gt;
]&amp;gt;&lt;br /&gt;
&amp;lt;rdf:RDF xml:base=&amp;quot;&amp;quot;&lt;br /&gt;
         xmlns:owl=&amp;quot;&amp;amp;owl;&amp;quot;&lt;br /&gt;
         xmlns:rdf=&amp;quot;&amp;amp;rdf;&amp;quot;&lt;br /&gt;
         xmlns:rdfs=&amp;quot;&amp;amp;rdfs;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Ontology Information --&amp;gt;&lt;br /&gt;
  &amp;lt;owl:Ontology rdf:about=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:label xml:lang=&amp;quot;en&amp;quot;&amp;gt;Context slices ontology logical pattern&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;
    &amp;lt;owl:versionInfo xml:lang=&amp;quot;en&amp;quot;&amp;gt;1.0&amp;lt;/owl:versionInfo&amp;gt;&lt;br /&gt;
  &amp;lt;/owl:Ontology&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Classes --&amp;gt;&lt;br /&gt;
  &amp;lt;owl:Class rdf:about=&amp;quot;ContextualProjection&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A contextual projection or slice of an entity or event.  &lt;br /&gt;
The context defines the contextual extent of the slice.  If any relations hold in a context, they &lt;br /&gt;
must be to other slices of the same context (there is no way &lt;br /&gt;
to enforce this constraint in OWL).&amp;lt;rdfs:comment&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
      &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
        &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
        &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
      &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
        &amp;lt;owl:cardinality rdf:datatype=&amp;quot;&amp;amp;xsd;nonNegativeInteger&amp;quot;&amp;gt;1&amp;lt;/owl:cardinality&amp;gt;&lt;br /&gt;
        &amp;lt;owl:onProperty rdf:resource=&amp;quot;#projectionOf&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:subClassOf&amp;gt;&lt;br /&gt;
      &amp;lt;owl:Restriction&amp;gt;&lt;br /&gt;
        &amp;lt;owl:allValuesFrom rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;owl:onProperty rdf:resource=&amp;quot;#hasContext&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/owl:Restriction&amp;gt;&lt;br /&gt;
    &amp;lt;/rdfs:subClassOf&amp;gt;&lt;br /&gt;
    &amp;lt;owl:disjointWith rdf:resource=&amp;quot;Context&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;owl:Class rdf:about=&amp;quot;Context&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;It is intended that this class should be equated&lt;br /&gt;
with whatever class represents contexts, with possibly subclasses for different kinds such as &lt;br /&gt;
BeliefContext, TemporalInterval, etc.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
    &amp;lt;owl:disjointWith rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/owl:Class&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Object Properties --&amp;gt;&lt;br /&gt;
  &amp;lt;owl:ObjectProperty rdf:about=&amp;quot;#contextualProperty&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;A property that holds in a context.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:range rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/owl:ObjectProperty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#hasContext&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The relation from a ContextualProjection to the context in which some property holds&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;owl:FunctionalProperty rdf:about=&amp;quot;#projectionOf&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;rdf:type rdf:resource=&amp;quot;&amp;amp;owl;ObjectProperty&amp;quot;/&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:comment rdf:datatype=&amp;quot;&amp;amp;xsd;string&amp;quot;&amp;gt;The entity or event that a context slice is a slice of.&amp;lt;/rdfs:comment&amp;gt;&lt;br /&gt;
    &amp;lt;rdfs:domain rdf:resource=&amp;quot;#ContextualProjection&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/owl:FunctionalProperty&amp;gt;&lt;br /&gt;
&amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9837</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9837"/>
				<updated>2010-08-18T02:53:59Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9836</id>
		<title>Submissions:Context Slices</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Submissions:Context_Slices&amp;diff=9836"/>
				<updated>2010-08-18T02:53:20Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: Context slices are a way to represent relations that hold in a context in standard OWL and RDF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Logical_OP_Proposal_toolbar}}&lt;br /&gt;
{{Graphical representation header}}&lt;br /&gt;
{{Graphical representation&lt;br /&gt;
|ImageName=Image:Context.-slices-example.jpg&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP General Template&lt;br /&gt;
|Name=Context Slices&lt;br /&gt;
|SubmittedBy=Chris Welty&lt;br /&gt;
|Author=Chris Welty&lt;br /&gt;
}}&lt;br /&gt;
{{Logical OP Description Template}}&lt;br /&gt;
{{Logical OP Example Template}}&lt;br /&gt;
{{Logical OP Reference Template}}&lt;br /&gt;
{{Additional information header}}&lt;br /&gt;
&lt;br /&gt;
{{Scenarios about me}}&lt;br /&gt;
{{Reviews about me}}&lt;br /&gt;
{{Modeling issues about me}}&lt;br /&gt;
{{My references}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=File:Context.-slices-example.jpg&amp;diff=9835</id>
		<title>File:Context.-slices-example.jpg</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=File:Context.-slices-example.jpg&amp;diff=9835"/>
				<updated>2010-08-18T02:50:55Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: An example that illustrates the context slices logical pattern&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An example that illustrates the context slices logical pattern&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=Ontology:OntoClean_Meta-Property_Ontology&amp;diff=6829</id>
		<title>Ontology:OntoClean Meta-Property Ontology</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=Ontology:OntoClean_Meta-Property_Ontology&amp;diff=6829"/>
				<updated>2010-02-17T17:28:20Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: New page: {{Ontology |Name=OntoClean Meta-Property Ontology |OntologyOrganization=LOA-CNR |OntologyAuthor=Chris Welty, Nicola Guarino |Description=An OWL version of the OntoClean (meta) Ontology of ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Ontology&lt;br /&gt;
|Name=OntoClean Meta-Property Ontology&lt;br /&gt;
|OntologyOrganization=LOA-CNR&lt;br /&gt;
|OntologyAuthor=Chris Welty, Nicola Guarino&lt;br /&gt;
|Description=An OWL version of the OntoClean (meta) Ontology of Properties&lt;br /&gt;
|SubmittedBy=ChrisWelty&lt;br /&gt;
|OntologyPurpose=To express the constraints of the OntoClean ontology as OWL axioms.&lt;br /&gt;
|OWLImplementation=http://www.ontoclean.org/ontoclean-dl-v1.owl&lt;br /&gt;
|LongDescription=The axiomitization of OntoClean in S5 modal logic entails certain constraints between classes in a taxonomy.  These constraints are well within the expressive power of OWL, given the ability to view the *classes* as an &amp;quot;abox&amp;quot; and declare their metaproperties using the rdf:type relation.  One very simple way to accomplish this, is to take the OWL version of an ontology, and in a text editor replace owl:class with &amp;quot;http://www.ontoclean.org/ontoclean-dl-v1.owl#Class&amp;quot;, and import this ontology.  Then add the rdf:type relations to indicate which classes are rigid, dependent, etc.  Any OWL reasoner will be able to find inconsistencies in the taxonomy as a result.&lt;br /&gt;
|Justification=OntoClean was one of the first (if not the first) formal tools for ontological analysis, which was intended to clarify the different types of taxonomic structures typically seen in ontologies.  The most common OntoClean distinction is rigidity.  See http://semanticweb.org/wiki/OntoClean&lt;br /&gt;
|RecommendedBy=Chris Welty&lt;br /&gt;
|CompetencyQuestion=Are the different uses of the subclass relation used consistently? &lt;br /&gt;
|Domain=Community:Ontology&lt;br /&gt;
|WebReference=http://semanticweb.org/wiki/OntoClean&lt;br /&gt;
|OtherReference=http://en.wikipedia.org/wiki/Ontoclean&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	<entry>
		<id>http://ontologydesignpatterns.org/index.php?title=WOP:2009&amp;diff=4426</id>
		<title>WOP:2009</title>
		<link rel="alternate" type="text/html" href="http://ontologydesignpatterns.org/index.php?title=WOP:2009&amp;diff=4426"/>
				<updated>2009-06-15T21:16:09Z</updated>
		
		<summary type="html">&lt;p&gt;ChrisWelty: /* Workshop Focus and Relevance */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the Workshop on Ontology Patterns - WOP2009 ==&lt;br /&gt;
This is the first edition in a series of yearly workshops addressing the emerging topic of ontology patterns as best practices, related to the [[Ontology_Design_Patterns_._org_(ODP) |''ontologydesignpatterns.org'']] initiative. Patterns need to be shared by a community in order to provide a common language and stimulate pattern usage and development. Hence, the aim of this workshop is twofold; both providing an arena for proposing and discussing good practices, patterns, pattern-based ontologies, systems etc., and broadening the pattern community that will develop its own “language” for discussing and describing relevant problems and their solutions. &lt;br /&gt;
&lt;br /&gt;
The first workshop will be held at [http://iswc2009.semanticweb.org/ ISWC] on October 25th 2009. It will be a full-day workshop consisting of three parts; paper presentations, posters, and “pattern writing” sessions. For the pattern writing sessions ontology design patterns will be submitted and reviewed at [[Ontology_Design_Patterns_._org_(ODP) |''ontologydesignpatterns.org'']], including the assignment of an advisor for each accepted pattern submission.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Workshop Focus and Relevance ==&lt;br /&gt;
As interest in the Semantic Web increases and technologies for realizing the semantic web become more mature, the need for high-quality and reusable semantic web ontologies increases. To address the quality and reusability issues, different types of Ontology Design Patterns (ODPs) have emerged. Patterns can supply ontology designers with several kinds of benefits, including a direct link to requirements, reuse, guidance, and better communication. ODPs are well on their way to providing those benefits. ODPs have been [http://www.w3.org/2001/sw/BestPractices/OEP/  proposed by the W3C] and are currently being collected in various repositories, such as the [http://www.gong.manchester.ac.uk/odp/html/index.html catalogue maintained by the University of Manchester] and the ODP portal at [[Ontology_Design_Patterns_._org_(ODP) |ontologydesignpatterns.org]]. However, pattern catalogues are still small and do not cover all types of patterns and all domains. Semantic Web applications could also benefit from additional types of patterns, such as knowledge patterns and specialized software patterns for semantic applications. In addition, to achieve communication benefits, patterns need to be shared by a community in order to provide a common language for discussing and understanding modeling problems. The workshop can leverage the activities conducted in the ontologydesignpatterns.org initiative, and aims to use the portal as its main means of communication, e.g. for pattern submission, reviewing and discussions outside the workshop schedule.&lt;br /&gt;
&lt;br /&gt;
Reuse has been an important research subject in ontology engineering for many years, and this is also true for the semantic web community. Patterns are an approach to knowledge reuse that has proved feasible and very profitable in many other areas such as software engineering and data modeling. During the past few years, patterns for semantic web ontologies and ontology-based applications have been introduced, and at this point in time we believe that the community would highly benefit from a series of workshops focusing on this particular topic. An earlier workshop, [http://www.research.ibm.com/people/w/welty/OPSW-05/ Ontology Patterns for the Semantic Web] , was arranged at ISWC2005, however at that time the community was considerably smaller.  The focus then was on discussing reusable OWL and RDF ontologies addressing general open problems. The WOP series broadens this scope to include all patterns related to ontology design and knowledge engineering for the Semantic Web. This is in line with the successful [http://ekaw2008.inrialpes.fr/  EKAW2008] conference (with the sub-title Knowledge Patterns). Topics of this conference included ontology engineering patterns but also patterns for re-engineering of knowledge resources, process knowledge, social and cognitive aspects of semantics. &lt;br /&gt;
&lt;br /&gt;
A workshop should be a practical and interaction-rich event, hence the workshop will have three parts: regular papers, posters, and “pattern writing”, with a focus on the latter. The inspiration for this model comes from the [http://hillside.net/patterns/patternworkshop.htm pattern writing workshops for software patterns]. The aim is to promote development and review of actual patterns, rather than papers describing patterns. Related events are also [http://vocamp.org/wiki/VoCampIbiza2009 VoCamps] for writing vocabularies for the Semantic Web.&lt;br /&gt;
&lt;br /&gt;
== Topics ==&lt;br /&gt;
The main aim of the workshop is to discuss and collect best practices and experiences, hence submissions should focus on some notion of best practices. Original research papers and poster papers are invited to consider the following (non exhaustive) list of topics:&lt;br /&gt;
* Good practices of ontology design&lt;br /&gt;
* Good practices for hybridization of semantic web and NLP techniques&lt;br /&gt;
* Software patterns for semantic web applications&lt;br /&gt;
* Ontology design patterns (ODPs) and pattern-based ontology design&lt;br /&gt;
* Tools and applications for pattern-based knowledge engineering&lt;br /&gt;
* Collaborative ontology design and collaboration patterns&lt;br /&gt;
* Pattern-based ontology evaluation and selection&lt;br /&gt;
* Correspondence patterns for ontology matching and integration&lt;br /&gt;
* Automatic ontology construction (ontology learning) based on patterns&lt;br /&gt;
* Lexico-syntactic patterns &lt;br /&gt;
* Reasoning patterns&lt;br /&gt;
* Web semantics from a pattern perspective&lt;br /&gt;
* Patterns of semantic social networks, semantic wikis, semantic blogs&lt;br /&gt;
* Contextual reasoning and patterns as context&lt;br /&gt;
* Knowledge patterns and knowledge re-engineering based on patterns&lt;br /&gt;
* Re-engineering patterns for conceptual models, folksonomies, lexicons, thesauri&lt;br /&gt;
* Pattern-based information extraction&lt;br /&gt;
* Processes and services - process patterns&lt;br /&gt;
* Problem solving methods and patterns&lt;br /&gt;
* Quality evaluation of patterns&lt;br /&gt;
* Benefits of ontology patterns and knowledge patterns&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pattern proposals for the “pattern writing” sessions will be collected through the [[Ontology_Design_Patterns_._org_(ODP) | ODP portal]], and templates for submission are provided for the following types of patterns (see general [[OPTypes | typology]] for explanation of the types):&lt;br /&gt;
* Content patterns&lt;br /&gt;
* Structural patterns: logical and architecture patterns&lt;br /&gt;
* Correspondence patterns: re-engineering and alignment patterns&lt;br /&gt;
For other types of patterns, or if the author wishes to elaborate on theoretical rather than practical aspects, a pattern description may be submitted as either a research paper or poster paper.&lt;br /&gt;
&lt;br /&gt;
== Important Dates and Submission ==&lt;br /&gt;
For details on how to submit to WOP2009 see the [[WOP2009:Submission | submission page]]. Research papers and poster submissions, as well as extended abstracts describing the accepted patterns, will be published online in the CEUR-Workshop Proceedings.&lt;br /&gt;
&lt;br /&gt;
'''Important dates'''&lt;br /&gt;
* Submission deadline (papers and patterns) - '''August 9'''&lt;br /&gt;
* Notification of acceptance (papers and patterns) - '''September 7'''&lt;br /&gt;
* Camera ready deadline (papers and pattern abstracts) - '''September 21'''&lt;br /&gt;
* Upload of final pattern version (patterns) - '''October 9'''&lt;br /&gt;
* Online proceedings published (papers and pattern abstracts) - '''October 9'''&lt;br /&gt;
* Workshop date - '''October 25'''&lt;br /&gt;
&lt;br /&gt;
== WOP Organisation ==&lt;br /&gt;
The workshop series is arranged by a fixed steering committee, appointing the chairs and adjusting the focus of the workshop on a yearly basis.  &lt;br /&gt;
The WOP Steering committee consists of:&lt;br /&gt;
* Eva Blomqvist, ISTC-CNR (IT)&lt;br /&gt;
* Aldo Gangemi, ISTC-CNR (IT)&lt;br /&gt;
* Valentina Presutti, ISTC-CNR (IT)&lt;br /&gt;
* Alan Rector, University of Manchester (UK)&lt;br /&gt;
* Francois Scharffe, INRIA (FR)&lt;br /&gt;
* Steffen Staab, University of Koblenz (DE)&lt;br /&gt;
* Chris Welty, IBM Watson Research Center (US)&lt;br /&gt;
&lt;br /&gt;
WOP2009 Chairs:&lt;br /&gt;
* Paper chair - Kurt Sandkuhl, Jönköping University (SE) [http://www.jth.hj.se/doc/6771 ''contact''] &lt;br /&gt;
* Poster chair - Vojtech Svatek, University of Economics, (CZ) [http://nb.vse.cz/~svatek/welcom_e.htm ''contact''] &lt;br /&gt;
* Pattern chairs - Eva Blomqvist, ISTC-CNR (IT) [http://stlab.istc.cnr.it/stlab/User:EvaBlomqvist ''contact''] and Francois Scharffe, INRIA (FR) [http://www.scharffe.fr/ ''contact'']&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Program Committee (To be completed...)&lt;br /&gt;
&lt;br /&gt;
* Alessandro Adamou, ISTC-CNR (IT)&lt;br /&gt;
* Marie-Aude Aufaure, Ecole Centrale Paris (FR) &lt;br /&gt;
* Fabio Ciravegna, University of Sheffield (UK)&lt;br /&gt;
* Mathieu D'Aquin, Open University (UK)&lt;br /&gt;
* Enrico Daga, ISTC-CNR (IT)&lt;br /&gt;
* Violeta Damjanovic, Salzburg Research (AT)&lt;br /&gt;
* Rim Djedidi, Paris-Sud University (FR)&lt;br /&gt;
* Henrik Eriksson, Linköping University (SE)&lt;br /&gt;
* Aldo Gangemi, ISTC-CNR (IT)&lt;br /&gt;
* Jose-Manuel Gomez, Universidad Politécnica de Madrid (ES)&lt;br /&gt;
* Gerd Groener, University of Koblenz (DE)&lt;br /&gt;
* Luigi Iannone, University of Manchester (UK)&lt;br /&gt;
* Holger Lewen, AIFB University of Karlsruhe (DE)&lt;br /&gt;
* Pierluigi Miraglia, Gerson Lehrman Group (US)&lt;br /&gt;
* Mark Musen, Stanford University (US)&lt;br /&gt;
* Natasha Noy, Stanford University (US)&lt;br /&gt;
* Wim Peters, University of Sheffield (UK)&lt;br /&gt;
* Valentina Presutti, ISTC-CNR (IT)&lt;br /&gt;
* Alan Rector, University of Manchester (UK)&lt;br /&gt;
* Marta Sabou, Open University (UK)&lt;br /&gt;
* Guus Schreiber, VU University Amsterdam (NL)&lt;br /&gt;
* Steffen Staab, University of Koblenz (DE)&lt;br /&gt;
* Mari Carmen Suárez-Figueroa. Universidad Politécnica de Madrid (ES)&lt;br /&gt;
* Boris Villazón-Terrazas, Universidad Politécnica de Madrid (ES)&lt;br /&gt;
* Holger Wache, University of Applied Sciences Northwestern Switzerland (CH)&lt;br /&gt;
* Chris Welty, IBM Watson Research Center (US)&lt;/div&gt;</summary>
		<author><name>ChrisWelty</name></author>	</entry>

	</feed>