<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://nwod.org/wiki/skins/common/feed.css?270"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://nwod.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Help%3ASemantic_Internal_Objects</id>
		<title>Help:Semantic Internal Objects - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://nwod.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Help%3ASemantic_Internal_Objects"/>
		<link rel="alternate" type="text/html" href="http://nwod.org/wiki/index.php?title=Help:Semantic_Internal_Objects&amp;action=history"/>
		<updated>2026-07-03T17:23:28Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.16.1</generator>

	<entry>
		<id>http://nwod.org/wiki/index.php?title=Help:Semantic_Internal_Objects&amp;diff=101580&amp;oldid=prev</id>
		<title>West at 03:57, 30 March 2016</title>
		<link rel="alternate" type="text/html" href="http://nwod.org/wiki/index.php?title=Help:Semantic_Internal_Objects&amp;diff=101580&amp;oldid=prev"/>
				<updated>2016-03-30T03:57:40Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;http://nwod.org/wiki/index.php?title=Help:Semantic_Internal_Objects&amp;amp;diff=101580&amp;amp;oldid=101579&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>West</name></author>	</entry>

	<entry>
		<id>http://nwod.org/wiki/index.php?title=Help:Semantic_Internal_Objects&amp;diff=101579&amp;oldid=prev</id>
		<title>West: Created page with &quot;{{Extension |Name=Semantic Internal Objects |Homepage=http://www.mediawiki.org/wiki/Extension:Semantic_Internal_Objects |Description=Setting of internal objects in Semantic Media...&quot;</title>
		<link rel="alternate" type="text/html" href="http://nwod.org/wiki/index.php?title=Help:Semantic_Internal_Objects&amp;diff=101579&amp;oldid=prev"/>
				<updated>2016-03-30T03:56:41Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Extension |Name=Semantic Internal Objects |Homepage=http://www.mediawiki.org/wiki/Extension:Semantic_Internal_Objects |Description=Setting of internal objects in Semantic Media...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Extension&lt;br /&gt;
|Name=Semantic Internal Objects&lt;br /&gt;
|Homepage=http://www.mediawiki.org/wiki/Extension:Semantic_Internal_Objects&lt;br /&gt;
|Description=Setting of internal objects in Semantic MediaWiki&lt;br /&gt;
|Maintainer=Yaron Koren&lt;br /&gt;
|First released month=August&lt;br /&gt;
|First released year=2009&lt;br /&gt;
|Release status=stable&lt;br /&gt;
|Development status=active&lt;br /&gt;
|Area of usage=Storing additional data&lt;br /&gt;
|Associated with=SMW, SB&lt;br /&gt;
|Shortcut=SIO&lt;br /&gt;
}}&lt;br /&gt;
'''Semantic Internal Objects''' (SIO) is an extension to [[Semantic MediaWiki]] (SMW). It provides two parser functions, &amp;lt;code&amp;gt;#set_internal&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt;, both of which are used to define so-called &amp;quot;internal objects&amp;quot; (now &amp;quot;subobjects&amp;quot;) within the Semantic MediaWiki system. SIO's main contribution to SMW is in the introduction of certain compound types of information, sometimes known as '[[Help:Type Record|n-ary relations]]', which ensures that pages can include more than one group of associated property-value pairs. SIO lets you define a two-dimensional table of information on a single page, with a call to &amp;lt;code&amp;gt;#set_internal&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt; being used to store each row. &lt;br /&gt;
&lt;br /&gt;
This functionality has been adopted by SMW so that &amp;lt;code&amp;gt;#set_internal&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt; are now broadly equivalent to SMW's own parser functions [[Help:Adding subobjects|&amp;lt;code&amp;gt;#subobject&amp;lt;/code&amp;gt;]] (introduced in SMW 1.7) and [[Help:Recurring_events|&amp;lt;code&amp;gt;#set_recurring_event&amp;lt;/code&amp;gt;]] (since SMW 1.9) respectively, both of which are used to define &amp;quot;subobjects&amp;quot;. Since SIO 0.7, the differences have become even less significant as SIO's parser functions now serve as a wrapper for SMW subobjects, which are called internally with SMWSQLStore3. &lt;br /&gt;
&lt;br /&gt;
==Historical outline==&lt;br /&gt;
&amp;lt;!--- vis-à-vis SMW ---&amp;gt;&lt;br /&gt;
* The functionality of parser function &amp;lt;code&amp;gt;#set_internal&amp;lt;/code&amp;gt; was introduced into SMW core with parser function [[Help:Adding subobjects|&amp;lt;code&amp;gt;#subobject&amp;lt;/code&amp;gt;]] in version [[SMW_1.7.0#Native_subobjects|1.7.0]] .&lt;br /&gt;
* The functionality of parser function &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt; was applied to &amp;lt;code&amp;gt;#set_recurring_event&amp;lt;/code&amp;gt; in SMW 1.9. &lt;br /&gt;
* As of v0.7, SMW subobjects are called when using SMWSQLStore3 (for SMW 1.8+).&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;tt&amp;gt;#set_internal_recurring_event&amp;lt;/tt&amp;gt; ==&lt;br /&gt;
SIO's &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt; was created as a solution to a problem with &amp;lt;code&amp;gt;#set_recurring_event&amp;lt;/code&amp;gt;: in versions of SMW prior to 1.9, &amp;lt;code&amp;gt;#set_recurring_event&amp;lt;/code&amp;gt; allows you to store recurrent events but individual instances of an event can't be (easily) separated from one another. SIO defines a separate &amp;quot;internal object&amp;quot; for each instance of an event, with a different date for each, and so allows for more precise querying and display of only those event instances that fall within a certain date range. As of SMW 1.9, however, SMW's &amp;lt;code&amp;gt;#set_recurring_event&amp;lt;/code&amp;gt; adopts a similar approach by defining a separate subobject for each instance of an event. The two parser functions behave alike and they both allow you to separate individual instances of an event.&lt;br /&gt;
&lt;br /&gt;
===Syntax===&lt;br /&gt;
The (abridged) syntax for &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt; is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{#set_internal_recurring_event:object_to_page_property&lt;br /&gt;
...all parameters allowed by #set_recurring_event...&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
Here is an example of such a call, on a page that defines a recurring event:&lt;br /&gt;
Using &amp;lt;tt&amp;gt;#set_internal_recurring_event&amp;lt;/tt&amp;gt;&lt;br /&gt;
|&amp;lt;pre&amp;gt;&lt;br /&gt;
{{#set_internal_recurring_event:Is instance of&lt;br /&gt;
|property=Has date&lt;br /&gt;
|start=January 4, 2012&lt;br /&gt;
|end=June 8, 2013&lt;br /&gt;
|unit=week&lt;br /&gt;
|period=1&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You could then display a table of all the events that happened in a certain week, along with their date, with the following call:&lt;br /&gt;
Calling for events happening in a certain week&lt;br /&gt;
|&amp;lt;pre&amp;gt;{{#ask:[[Has date::&amp;gt;February 1, 2012]][[Has date::&amp;lt;February 7, 2012]]&lt;br /&gt;
|mainlabel=-&lt;br /&gt;
|?Is instance of&lt;br /&gt;
|?Has date&lt;br /&gt;
}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Having more than one call to &amp;lt;code&amp;gt;#set_internal_recurring_event&amp;lt;/code&amp;gt; in the same page sometimes causes duplicate objects to be stored.&lt;br /&gt;
&lt;br /&gt;
{{docinfo&lt;br /&gt;
| master page = Semantic Internal Objects&lt;br /&gt;
| master rev  = {{REVISIONID}}&lt;br /&gt;
| master link = internal&lt;br /&gt;
| status   = effective&lt;br /&gt;
| progress = 100&lt;br /&gt;
| priority = 4&lt;br /&gt;
| category =&lt;br /&gt;
| author = Yaron Koren&lt;br /&gt;
| editor = {{REVISIONUSER}}&lt;br /&gt;
| support = Yaron Koren&lt;br /&gt;
| minversion = 1.4.3&lt;br /&gt;
| lang = en&lt;br /&gt;
| desc =&lt;br /&gt;
| return =&lt;br /&gt;
| nowarn&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>West</name></author>	</entry>

	</feed>