Recent Changes for "Semantic Wiki" - Sycamore Wikihttp://www.projectsycamore.org/Semantic_WikiRecent Changes of the page "Semantic Wiki" on Sycamore Wiki.en-us Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2010-02-15 23:39:53JasonAllerComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 290: </td> <td> Line 290: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2010-02-15 23:39:53'' [[nbsp]] Notes on derived metadata sets...<br> + <br> + Instead of single fields start with a base metadata form that consists of things that will need to be tracked about all pages:<br> + * Page Name -- Changing this effects a page rename?<br> + * on Wiki -- to allow moving pages between wikis. Links get rewritten as part of a move and as part of a revert?<br> + <br> + Then from this create some metadata that uses this base, but adds groups of appropriate fields. At the first tier it is just separating pages out into general classes, but eventually you'd have (base -&gt; business -&gt; restaurant -&gt; sushi) with each level adding appropriate new fields.<br> + <br> + Fields should allow radio buttons, checkboxes, text, numeric, regex validated, range (for prices), date time, time matrixes (for open hours), photos. each field should track if it is required or not, and allow for a default value.<br> + <br> + In the same way that people can now create templates allow for the creation of metadata sets. only admins will be able to remove fields from a set because doing so would remove that data from all pages that use that metadata set. alternatively have a central library of metadata that any wiki can subscribe to.<br> + <br> + It becomes very easy to produce reports off the information. (base -&gt; business -&gt; contractor -&gt; painting) for instance would allow any page using that set to see at a glance all of the contractors, their license numbers, and their price ranges and ratings automatically. It should report for the local wiki first and then report separately for nearby wikis with an option to view the same information across all wikis. --["Users/JasonAller"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2009-06-01 02:12:41PalestitneFeed(quick edit) <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 5: </td> <td> Line 5: </td> </tr> <tr> <td> <span>-</span> The word [http://en.wikipedia.org/wiki/Semantics Semantic] is related to the meaning carried by an<span>&nbsp;an</span>y communication in words, code, drawing, anything. The idea of Semantic Wiki (or semantic web) is to write or create information in a way that make it easy to process and use by software agents. Many people use the term Semantic data and metadata interchangeably. In the case of Semantic Wiki it means to giving richer meaning to data managed via a user-maintained website or wiki. Both mean information about information. Semantic data can be expressed in a set of exactly three pieces of data. Together these pieces are called statements. </td> <td> <span>+</span> The word [http://en.wikipedia.org/wiki/Semantics Semantic] is related to the meaning carried by any communication in words, code, drawing, anything. The idea of Semantic Wiki (or semantic web) is to write or create information in a way that make it easy to process and use by software agents. Many people use the term Semantic data and metadata interchangeably. In the case of Semantic Wiki it means to giving richer meaning to data managed via a user-maintained website or wiki. Both mean information about information. Semantic data can be expressed in a set of exactly three pieces of data. Together these pieces are called statements. </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2008-04-07 03:02:12PhilipNeustromapartments <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 45: </td> <td> Line 45: </td> </tr> <tr> <td> </td> <td> <span>+ Integrated w/ mapping, a'la a map for [wiki:davis:"Apartments"]. Map of all pages with a given tag / value.<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-10-17 00:59:47PhilipNeustrom(quick edit) <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 221: </td> <td> Line 221: </td> </tr> <tr> <td> <span>-</span> == Mockup ==<span>=</span> </td> <td> <span>+</span> == Mockup == </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-10-17 00:59:36PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 221: </td> <td> Line 221: </td> </tr> <tr> <td> </td> <td> <span>+ == Mockup ===<br> + ''UI mockup goes here''<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-26 00:54:13PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 13: </td> <td> Line 13: </td> </tr> <tr> <td> <span>-</span> When data has meaning to both a machine and a person wonderful things can happen. What social networking sites like [http://www.myspace.com MySpace] have done to the dating scene and to personal relationships, the semantic web will do to all electronically stored information. You will be able to submit metadata queries like show me all objects of type "restaurant" that are open after midnight less than 5 miles from my home. </td> <td> <span>+</span> When data has meaning to both a machine and a person wonderful things can happen. What social networking sites like [http://www.myspace.com MySpace] have done to the dating scene and to personal relationships, the semantic web will do to all electronically stored information. You will be able to submit metadata queries like show me all objects of type "restaurant" that are open after midnight less than 5 miles from my home.<span>&nbsp;&nbsp;And, seriously, don't you want a god damn hamburger at 2AM?</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 05:01:51PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 284: </td> <td> Line 284: </td> </tr> <tr> <td> <span>-</span> I'm not sure about other semantic projects. A lot of projects including [http://wiki.ontoworld.org/wiki/Semantic_MediaWiki SemanticMediaWiki] use [wiki:wikipedia:XSD XSD] to define their data types. As far as searching by geo location, I've not seen how it's done in the backend. We could use the [http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html casting functions] to mold the data into what we wanted it to be. Of course then we could use something [http://ben.milleare.com/2006/09/03/calculating-distance-with-latitude-and-longitude/ like this] to calculate distance between objects. </td> <td> <span>+</span> I'm not sure about other semantic projects. A lot of projects including [http://wiki.ontoworld.org/wiki/Semantic_MediaWiki SemanticMediaWiki] use [wiki:wikipedia:XSD XSD] to define their data types<span>&nbsp;(defining and storing are different, though)</span>. As far as searching by geo location, I've not seen how it's done in the backend. We could use the [http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html casting functions] to mold the data into what we wanted it to be. Of course then we could use something [http://ben.milleare.com/2006/09/03/calculating-distance-with-latitude-and-longitude/ like this] to calculate distance between objects. </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 04:08:08Sc0ttBeardsleycasting in mysql and geo distance link comment <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 283: </td> <td> Line 283: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + I'm not sure about other semantic projects. A lot of projects including [http://wiki.ontoworld.org/wiki/Semantic_MediaWiki SemanticMediaWiki] use [wiki:wikipedia:XSD XSD] to define their data types. As far as searching by geo location, I've not seen how it's done in the backend. We could use the [http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html casting functions] to mold the data into what we wanted it to be. Of course then we could use something [http://ben.milleare.com/2006/09/03/calculating-distance-with-latitude-and-longitude/ like this] to calculate distance between objects.</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:35:12PhilipNeustromreply <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 282: </td> <td> Line 282: </td> </tr> <tr> <td> <span>- How do other semantic projects deal with this issue?</span> </td> <td> <span>+ How do other semantic projects deal with this issue? One possible solution is to not allow sorts of generic types. Instead, we allow sorts of types that have accompanying python extensions that tell us what to do. E.g. dates.py tells us how to sort dates and how to store dates (we create and use a separate table), times.py tells us how to input and query for times, and geo.py tells us how to input and query for latitude/longitude. We would still update and use the tables we have now, but when we're querying against or inputting a type with an associated set of rules we follow those. (We use both tables for input, and use the native table for queries). --["Users/PhilipNeustrom"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:31:05PhilipNeustrom(quick edit) <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 282: </td> <td> Line 282: </td> </tr> <tr> <td> <span>-</span> How do other sematic projects deal with this issue? </td> <td> <span>+</span> How do other sema<span>n</span>tic projects deal with this issue? </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:30:57PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 281: </td> <td> Line 281: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + How do other sematic projects deal with this issue?</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:27:14Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 279: </td> <td> Line 279: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-23 03:27:14'' [[nbsp]] ''You bring up a good point Philip. It would be best to store spatial data using spatial extensions to MySQL/Postgres. Do you have any suggestions? Perhaps a separate table for each type?'' --["Users/Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:18:21PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 278: </td> <td> Line 278: </td> </tr> <tr> <td> <span>-</span> ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? Will string sorts/indexes be sufficient for our efficiency purposes, given that we keep all values in a consistent format in the DB? This is just an example problem. --["Users/PhilipNeustrom"] </td> <td> <span>+</span> ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? Will string sorts/indexes be sufficient for our efficiency purposes, given that we keep all values in a consistent format in the DB? <span>In what cases would we run into problems with this approach? </span>This is just an example problem. --["Users/PhilipNeustrom"] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:15:42PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 278: </td> <td> Line 278: </td> </tr> <tr> <td> <span>-</span> ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? This is just an example problem. --["Users/PhilipNeustrom"] </td> <td> <span>+</span> ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? <span>Will string sorts/indexes be sufficient for our efficiency purposes, given that we keep all values in a consistent format in the DB? </span>This is just an example problem. --["Users/PhilipNeustrom"] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:07:37PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 275: </td> <td> Line 275: </td> </tr> <tr> <td> </td> <td> <span>+ </span> </td> </tr> <tr> <td> Line 277: </td> <td> Line 278: </td> </tr> <tr> <td> <span>-</span> ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? --["Users/PhilipNeustrom"] </td> <td> <span>+</span> ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? <span>&nbsp;This is just an example problem. </span>--["Users/PhilipNeustrom"] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 03:06:35PhilipNeustromComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 276: </td> <td> Line 276: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-23 03:06:35'' [[nbsp]] Given the schema here, how would we search for something based on location without getting all of the locations in the database and scanning through them? --["Users/PhilipNeustrom"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-23 02:00:31added an idea about syntax <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 265: </td> <td> Line 265: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + More ideas about using a macro with a body (or some king of in-page metadata block):<br> + {{{<br> + [[metadata(display=False)]]<br> + || name || Joe || firstName ||<br> + || phone || (555)555-5555 || phoneNumber ||<br> + || address || 123 Main Street || streetAdress ||<br> + || number of pets || 14 || int ||<br> + [[metadata]]<br> + }}}<br> + Most users will already know how to make tables. If they don't put in the last column, just use a default, which could be derived from the name in many cases. --["Users/StephenDay"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-22 23:46:14PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 190: </td> <td> Line 190: </td> </tr> <tr> <td> </td> <td> <span>+ See ["/Caching"] for thoughts about making this fast.<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-22 02:34:17JasonAller <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 2: </td> <td> Line 2: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + [[TableOfContents(right)]]</span> </td> </tr> <tr> <td> Line 45: </td> <td> Line 47: </td> </tr> <tr> <td> </td> <td> <span>+ see ["/API"] for one possible inplementation<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-22 01:17:28PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 257: </td> <td> Line 257: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + Using the not-in-pagetext-form we can have the "Tag" or "name" (whatever we end up calling it) field cause the second field to change once it's entered (javascript magic)..</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 23:27:53Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 255: </td> <td> Line 255: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-21 23:27:53'' [[nbsp]] ya, that should work, but I'm worried about how we'll be adding a new tag/name though. I guess it'll be OK to just allow new tags and just set their type to the default (which is as a string). Since every tag/name has a specific type you'll want a way to define this when adding the tag/name. Also, just a note on why every tag/name should have a specific type: this will enable a uniform display of that name. So phone numbers will always be displayed as: '''+1 (XXX) XXX-XXXX''' --["Users/Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 12:28:12StephenDayfixed formatting <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 250: </td> <td> Line 250: </td> </tr> <tr> <td> <span>-</span> [[metadata(hide)]] </td> <td> <span>+</span> <span>{{{</span>[[metadata(hide)]] </td> </tr> <tr> <td> Line 254: </td> <td> Line 254: </td> </tr> <tr> <td> <span>- [[metadata]]<br> - --24.201.230.79</span> </td> <td> <span>+ [[metadata]]}}} --["Users/StephenDay"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 12:23:12Comment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 248: </td> <td> Line 248: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-21 12:23:12'' [[nbsp]] You could have the "metadata" entered directly on the page in some sort of metadata block. That block could have a bunch of display options including "hide". This way the user would he able to use {{{[[get(address)]]}}} if they needed and not bet redundant. In the Confluence wiki system the metadata "block" is simply a macro with a body:<br> + [[metadata(hide)]]<br> + name = Joe<br> + phone = (555)555-5555<br> + address = 123 Main Street<br> + [[metadata]]<br> + --24.201.230.79</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 06:45:16PhilipNeustromsome more thoughts <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 207: </td> <td> Line 207: </td> </tr> <tr> <td> </td> <td> <span>+ There are a few different ways of dealing with the display of the metadata. One is to embed the data directly into the page content, in the same way things like links and macros are embedded in a page's text. All data entered would be displayed right where it was entered.<br> + <br> + Another way is to have data entered into the page's body (or via a separate interface), but then only displayed when it was signaled by some sort of {{{[[get(value)]]}}} macro. This has the advantage of ultimate control over the presentation of the information. It has the drawback of making it potentially confusing to change the data -- how does the average joe know how to change the address of the page? What used to be just "300 Main Street" is now {{{[[get(address)]]}}}. This confusion could probably be mitigated by displaying the metadata fields right in the edit interface, and when initiating a [wiki:wikispot:"quick edit"] on the area, somehow entering into an edit for just that metadata field..<br> + <br> + Another way is to have the data entered and displayed in a way that's separated from the page's body (e.g. at the bottom of the page). This has the advantage of making it easy to see ''where'' to change the information -- you change it right where it's displayed -- but it has the disadvantage of not allowing for careful control over where the data is displayed, and being redundant (the address will still probably be entered on the page). We could still allow for something like {{{[[get(value)]]}}} in this case..<br> + <br> + ''I'm leaning toward thinking the last option here is the best, UI wise. It may not be super pretty, but I think it's the most obvious.'' --["Users/PhilipNeustrom"]<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 01:18:53PhilipNeustromadded example <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 238: </td> <td> Line 238: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + We'll talk more, but just as an idea here's what flickr does to solve the "figure out what tag to use" issue: [[Image(type_tag_flickr.png)]] [[Image(choose_tag_flickr.png)]]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 01:17:33PhilipNeustromUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=choose_tag_flickr.png">choose_tag_flickr.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 01:17:18PhilipNeustromUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=type_tag_flickr.png">type_tag_flickr.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-21 01:11:51Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 236: </td> <td> Line 236: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-21 01:11:51'' [[nbsp]] Ahh yes, I see where you're going Philip. I kinda like the separate metadata interface. I think there would have to be a drop down menu for the "tag" field as it is labeled in the UI screenshot. We should talk more about this though. --["Users/Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 20:54:38PhilipNeustrombit more ui ideas <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 205: </td> <td> Line 205: </td> </tr> <tr> <td> </td> <td> <span>+ Or maybe we should show all the metadata stuff in the normal editor interface, keeping everything in the same place. We could also make it so that wherever we display the data we allow it to be clicked on and edited, inline-style.<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 20:48:36PhilipNeustromadded flawed example, but it's important to think about UI here <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 200: </td> <td> Line 200: </td> </tr> <tr> <td> </td> <td> <span>+ = User interface =<br> + The UI for all of this is really important. We need to keep it just as easy as it is now for people to change addresses, phone numbers, and so forth.<br> + <br> + [[Image(metadata_button.png, thumbnail, "One option would be to have a button that reads 'Metadata' in the edit area.")]] [[Image(metadata_edit.png, thumbnail, "One option for editing metadata.")]]<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 20:47:51PhilipNeustromUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=metadata_edit.png">metadata_edit.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 20:47:36PhilipNeustromUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=metadata_button.png">metadata_button.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 07:34:46Sc0ttBeardsley(quick edit) <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 122: </td> <td> Line 122: </td> </tr> <tr> <td> <span>-</span> This table is for associating a particular data type to a "name" or "predicate". An example predicate is a phone number. In the example below the predicate class:phone is of type integer. Phone numbers can be stored as just numbers (ie 916123456) and they can be parsed into a readable format (ie (916) 123-4567) as needed. The following types are expected to be supported: </td> <td> <span>+</span> This table is for associating a particular data type to a "name" or "predicate". An example predicate is a phone number. In the example below the predicate class:phone is of type integer. Phone numbers can be stored as just numbers (ie 916123456<span>7</span>) and they can be parsed into a readable format (ie (916) 123-4567) as needed. The following types are expected to be supported: </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 04:17:34Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 227: </td> <td> Line 227: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-20 04:17:34'' [[nbsp]] A comment about types: I think we should offload the type of a metadata item onto another '''special''' page. Instead of having the page editor define the type of a metadata item inline it should be a separate procedure. This makes it slightly more difficult (not impossible) to add new vocabulary words. The goal is to get people to use a small set of words to describe data. If we tie type to the predicate (aka keyword aka name) elsewhere then we can both limit the syntax required for the page editors while still knowing what type of data they should be entering. So the '''special''' page will allow page editors to add a new vocabulary word (and it's type) on the fly. This will essentially be an interface to the type table. --["Users/Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 04:10:16PhilipNeustromlinked far's tags thing <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 198: </td> <td> Line 198: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://farmckon.rottenchester.com/Front_Page Far's Sycamore Tag sketchup]. He's been playing with the idea of a tagging system for the wiki. Regardless of the outcome, the tags system should become a subset of the semantic efforts here. Perhaps we could even use a "tags" interface for adding metadata to a page -- a'la flickr (a box, you click, type a value, press return). More complex relationships could be expressed by typing in the "type key := value" form of a "tag." For better or for worse, people are accustomed to the idea of a "tag" now, and using "tag" is more general than "category."</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 04:09:32Sc0ttBeardsleycleaned up examples a bit <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 43: </td> <td> Line 43: </td> </tr> <tr> <td> <span>- == Possible syntax ==<br> - <br> - Possible formats for relations:<br> - * A relation: {{{[[Meta(class:business_type,Restaurant)]]}}}<br> - * {{{class:business_type:=Restaurant}}} (general form is predicate_alias:predicate := object and the subject is extracted automatically)<br> - <br> - Possible formats for attributes:<br> - * {{{[[Meta(class:phone,"(916) 123-4567")]]}}}<br> - * {{{class:phone := (916) 123-4567}}} (general form is predicate_alias:predicate := literal_value)<br> - * {{{class:tag := neighborhood}}}<br> - * {{{class:point := -123.456, 54.23}}}</span> </td> <td> <span>+ == Unified Syntax Examples ==<br> + <br> + Possible formats for either a relation or attribute (the unified syntax):<br> + <br> + === Wiki Page Links ===<br> + <br> + The following examples link a wiki page to another wiki page and gives that link a specific meaning.<br> + * {{{[business_type := Restaurant]}}} (this uses the default namespace: class)<br> + * {{{[class:business_type := Restaurant]}}} (this explicitly sets the vocabulary namespace)<br> + <br> + === Literal Values and Offsite Links ===<br> + <br> + The following examples link a wiki page to an off-site URL or describes something about the current page.<br> + * {{{[phone := (916) 123-4567]}}} (this uses the default namespace: class)<br> + * {{{[class:phone := (916) 123-4567]}}} (explicitly sets the namespace)<br> + * {{{[tag := neighborhood]}}}<br> + * {{{[location := -123.456, 54.23]}}}</span> </td> </tr> <tr> <td> Line 58: </td> <td> Line 64: </td> </tr> <tr> <td> <span>- <br> - == Statement Examples ==<br> - <br> - * John's Phone Number is (916) 123-4567<br> - * John's Last Name is Smith<br> - * Generic form: &lt;subject&gt; &lt;predicate&gt; &lt;object&gt; or could equivalently be thought of as &lt;key&gt; &lt;type&gt; &lt;value&gt;.</span> </td> <td> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:57:10Sc0ttBeardsleyfixed delta of venus example with new unified syntax <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 31: </td> <td> Line 31: </td> </tr> <tr> <td> <span>-</span> * Longitude/Latitude (attributes): [<span>[L</span>ocation:=<span>Point(</span>-12.34,23.456<span>)]</span>]<br> <span>-</span> * Neighborhood (a relation): [<span>LocatedIn</span>:=<span>Link("</span>Downtown Davis<span>")</span>] &lt;- This could be calculated once we have the long/lat and the boundaries of "Downtown Davis" </td> <td> <span>+</span> * Longitude/Latitude (attributes): [<span>l</span>ocation:=-12.34,23.456]<br> <span>+</span> * Neighborhood (a relation): [<span>district</span>:=Downtown Davis] &lt;- This could be calculated once we have the long/lat and the boundaries of "Downtown Davis" </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>- * [HoursOpen:=DatetimeRange(M-W,0800,2200)] &lt;- These would probably need to be generated by a special UI for usability reasons<br> - * [HoursOpen:=DatetimeRange(R-F,0800,0000)]<br> - * [HoursOpen:=DatetimeRange(S,0800,1400)]<br> - * [HappyHour:=DatetimeRange(M-F,1500,1800)]<br> - * Phone: [Phone:=Phone("(530) 753-8639")]<br> - * Email: [Email:=Email("info@deltaofvenus.org")]<br> - * Website: [Website:=URL("http://deltaofvenus.org")]<br> - * Est: [Established:=Date("1990-01-01")]<br> - * Menu (a relation): [Menu:=Link("Delta of Venus/Menu")]<br> - * Type/Category/Label (a relation or attribute it could be either): [IsA:=Link("Restaurant")]</span> </td> <td> <span>+ * [hours:=Monday through Wednesday 8am to 10pm, Thursday through Friday 8am to midnight, Saturday 8am to 2pm] &lt;- These would probably need to be generated by a special UI for usability reasons<br> + * [happyHours:=Monday through Friday 3pm to 6pm]<br> + * Phone: [phone:=(530) 753-8639]<br> + * Email: [email:=info@deltaofvenus.org]<br> + * Website: [website:=http://deltaofvenus.org]<br> + * Est: [established:=January 1st, 1990]<br> + * Menu (a relation): [menu:=Delta of Venus/Menu]<br> + * Tag, Label or Category: [tag:=restaurant]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:49:03Sc0ttBeardsleyfixed predicate to avoid confusion with the geoPoint type <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 55: </td> <td> Line 55: </td> </tr> <tr> <td> <span>-</span> * {{{class:<span>geoP</span>oint := -123.456, 54.23}}} </td> <td> <span>+</span> * {{{class:<span>p</span>oint := -123.456, 54.23}}} </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:46:40Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 226: </td> <td> Line 226: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-20 03:46:40'' [[nbsp]] re: metadata button: I was thinking of just embedding it into the text of a page. The metadata wouldn't have to be displayed by default. Say you have a macro called '''Metadata''' that takes 4 args (predicate_alias,predicate,value,display_flag). This macro would add an entry to the metadata table, then if the display_flag is set it would display the metadata in a predefined format (based on the type of the predicate). For example I have a restaurant page with the following macro call: {{{Metadata(class,tag,expensive)}}}. This would add the metadata about this restaurant being expensive but it would not display that information on the final page. As far as getting a list of valid predicate_aliases and predicates, yes it might be nice to have some sort of tool (ajax?) that will pull up the already defined vocabularies. It is important to have something like this because we want everyone speaking the same language. --["Users/Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:38:03Sc0ttBeardsleyadded table descriptions and updated possible syntax <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 48: </td> <td> Line 48: </td> </tr> <tr> <td> <span>-</span> * A relation: {{{[[<span>Relation</span>(<span>CURRENTPAGE,i</span>s_<span>a</span>,Restaurant)]]}}}<br> <span>-</span> * {{{<span>i</span>s_<span>a::</span>Restaurant}}} (general form is predicate<span>::</span>object and the subject is extracted automatically) </td> <td> <span>+</span> * A relation: {{{[[<span>Meta</span>(<span>class:busines</span>s_<span>type</span>,Restaurant)]]}}}<br> <span>+</span> * {{{<span>class:busines</span>s_<span>type:=</span>Restaurant}}} (general form is predicate<span>_alias:predicate := </span>object and the subject is extracted automatically) </td> </tr> <tr> <td> Line 52: </td> <td> Line 52: </td> </tr> <tr> <td> <span>-</span> * {{{[[<span>Attribute</span>(<span>"Phone Number"</span>,"(916) 123-4567")]]}}}<br> <span>-</span> * {{{<span>PhoneNumber</span> := (916) 123-4567}}} (general form is <span>Type Subject</span> := <span>V</span>alue)<br> -<span>&nbsp;</span><br> <span>-</span> With this form, we can explain the idea to newcomers as a way of "tagging the page with a value," in a sense. </td> <td> <span>+</span> * {{{[[<span>Meta</span>(<span>class:phone</span>,"(916) 123-4567")]]}}}<br> <span>+</span> * {{{<span>class:phone</span> := (916) 123-4567}}} (general form is <span>predicate_alias:predicate</span> := <span>literal_v</span>alue)<br> <span>+ * {{{class:tag := neighborhood}}}<br> + * {{{class:geoPoint := </span>-<span>123.456, 54.23}}}</span><br> <span>+ <br> +</span> With this form, we can explain the idea to newcomers as a way of "tagging the page with a value," in a sense.<span>&nbsp;Since each predicate has a pre-defined type (managed via a special page) there is no need to explicitly state the type.</span> </td> </tr> <tr> <td> Line 58: </td> <td> Line 60: </td> </tr> <tr> <td> <span>- <br> - ''see also: [http://meta.wikimedia.org/wiki/Semantic_MediaWiki/Blueprint MediaWiki's Blueprint page]''</span> </td> <td> </td> </tr> <tr> <td> Line 84: </td> <td> Line 84: </td> </tr> <tr> <td> <span>-</span> This<span>&nbsp;is a</span> table is already a part of the Sycamore schema. It is shown here for illustrative purposes. Here are some sample rows: </td> <td> <span>+</span> This table is already a part of the Sycamore schema. It is shown here for illustrative purposes. Here are some sample rows: </td> </tr> <tr> <td> Line 99: </td> <td> Line 99: </td> </tr> <tr> <td> </td> <td> <span>+ This table provides a way to store multiple namespaces (or vocabularies) in a single wiki. The most used entries in this table are class, literal, and wiki. It is a good idea to try to use other namespaces like foaf, dc, etc but it should be up to the community to enforce these rules. These namespaces will likely be imported on initial installation (or upgrade). There doesn't necessarily need to be a way to add namespaces (yet).</span> </td> </tr> <tr> <td> Line 123: </td> <td> Line 124: </td> </tr> <tr> <td> </td> <td> <span>+ This table is for associating a particular data type to a "name" or "predicate". An example predicate is a phone number. In the example below the predicate class:phone is of type integer. Phone numbers can be stored as just numbers (ie 916123456) and they can be parsed into a readable format (ie (916) 123-4567) as needed. The following types are expected to be supported:<br> + * integer<br> + * string<br> + * float<br> + * geoPoint<br> + * geoLine<br> + * geoArea<br> + * currency<br> + * wikipage<br> + * url<br> + * datetime<br> + * datetime range<br> + </span> </td> </tr> <tr> <td> Line 139: </td> <td> Line 153: </td> </tr> <tr> <td> <span>-</span> This table defines metadata for pages stored in the wiki. This table follows the subject-predicate-object rule because the page<span>&nbsp;id (or page</span>name<span>)</span> is the subject. </td> <td> <span>+</span> This table defines metadata for pages stored in the wiki. This table follows the subject-predicate-object rule because the pagename i<span>s alway</span>s the subject. </td> </tr> <tr> <td> Line 181: </td> <td> Line 195: </td> </tr> <tr> <td> </td> <td> <span>+ * [http://meta.wikimedia.org/wiki/Semantic_MediaWiki/Blueprint MediaWiki's Blueprint page]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:18:50Sc0ttBeardsleyupdated table examples <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 82: </td> <td> Line 82: </td> </tr> <tr> <td> <span>- ==== page ====<br> - <br> - This is a table with all pages in the wiki. Here is an example row:<br> - {{{<br> - +---------------+<br> - | pagename |<br> - +---------------+<br> - | Shakey's Pizza |<br> - +---------------+<br> - }}}<br> - <br> - This can easily be changed to use the current Sycamore standard which is to use the pagename as the unique id.</span> </td> <td> <span>+ ==== curPages ====<br> + <br> + This is a table is already a part of the Sycamore schema. It is shown here for illustrative purposes. Here are some sample rows:<br> + {{{<br> + +--------------------+<br> + | pagename | ...<br> + +--------------------+<br> + | East Sacramento | ...<br> + +--------------------+<br> + | Sacramento | ...<br> + +--------------------+<br> + | California | ...<br> + +--------------------+<br> + }}}</span> </td> </tr> <tr> <td> Line 98: </td> <td> Line 100: </td> </tr> <tr> <td> <span>- +----+---------+---------------------------------------+<br> - | id | alias | uri |<br> - +----+---------+---------------------------------------+<br> - | 0 | literal | |<br> - +----+---------+---------------------------------------+<br> - | 1 | link | http://daviswiki.org/wiki/ |<br> - +----+---------+---------------------------------------+<br> - | 2 | att | http://daviswiki.org/wiki/Attributes/ |<br> - +----+---------+---------------------------------------+<br> - | 3 | dc | http://purl.org/dc/terms/ |<br> - +----+---------+---------------------------------------+<br> - }}}<br> - <br> - ==== attribute ====<br> - <br> - This table defines attributes for objects stored in the wiki. Every page is an object. This table follows the subject-predicate-object rule because the page id (or pagename) is the subject. Here is an example phone number attribute for the '''Shakey's Pizza''' page.<br> - {{{<br> - +-----+----------------+----------------+------------+----------------+--------------+<br> - | id | pagename | predicate_nsid | predicate | object_nsid | object |<br> - +-----+----------------+----------------+------------+----------------+--------------+<br> - | 654 | Shakey's Pizza | 3 | isPartOf | 1 | Restaurants |<br> - +-----+----------------+----------------+------------+----------------+--------------+<br> - | 655 | Shakey's Pizza | 2 | PhoneNumber| 0 | 9161234567 |<br> - +-----+----------------+----------------+------------+----------------+--------------+<br> - }}}<br> - <br> - In this case the subject is the Shakey's Pizza page, the predicate is '''PhoneNumber''' and the object is "9161234567". Since this data will be managed from the Shakey's Pizza page there is no need to store the full namespace or even a link to it. This table can also hold relations or references to other wiki pages. If the object_nsid is 1 (the id that matches the wiki baseurl) than the object is a link and can be made into an href to the actual page.</span> </td> <td> <span>+ +-----------+---------------------------------------------+<br> + | alias | uri |<br> + +-----------+---------------------------------------------+<br> + | class | http://wikispot.org/class/ |<br> + +-----------+---------------------------------------------+<br> + | literal | http://wikispot.org/literal# |<br> + +-----------+---------------------------------------------+<br> + | wiki | http://sacramento.wikispot.org/ |<br> + +-----------+---------------------------------------------+<br> + | dc | http://purl.org/dc/elements/1.1/ |<br> + +-----------+---------------------------------------------+<br> + | dcterms | http://purl.org/dc/terms/ |<br> + +-----------+---------------------------------------------+<br> + | wikipedia | http://en.wikipedia.org/wiki/ |<br> + +-----------+---------------------------------------------+<br> + | rdf | http://www.w3.org/1999/02/22-rdf-syntax-ns# |<br> + +-----------+---------------------------------------------+<br> + | rdfs | http://www.w3.org/2000/01/rdf-schema# |<br> + +-----------+---------------------------------------------+<br> + }}}<br> + <br> + ==== type ====<br> + <br> + {{{<br> + +-------+----------------------------+<br> + | alias | name | type |<br> + +-------+----------------------------+<br> + | class | phone | integer |<br> + +-------+----------------------------+<br> + | class | neighborhood_of | wikipage |<br> + +-------+----------------------------+<br> + | class | city_in | wikipage |<br> + +-------+----------------------------+<br> + | class | tag | string |<br> + +-------+----------------------------+<br> + }}}<br> + <br> + ==== metadata ====<br> + <br> + This table defines metadata for pages stored in the wiki. This table follows the subject-predicate-object rule because the page id (or pagename) is the subject.<br> + {{{<br> + +----+-----------------+-----------------+-----------------+----------------+--------------+<br> + | id | pagename | predicate_alias | predicate | object_alias | object |<br> + +----+-----------------+-----------------+-----------------+----------------+--------------+<br> + | 1 | sacramento | class | city_in | wiki | California |<br> + +----+-----------------+-----------------+-----------------+----------------+--------------+<br> + | 2 | east sacramento | class | neighborhood_of | wiki | Sacramento |<br> + +----+-----------------+-----------------+-----------------+----------------+--------------+<br> + | 3 | east sacramento | class | tag | literal | neighborhood |<br> + +----+-----------------+-----------------+-----------------+----------------+--------------+<br> + }}}</span> </td> </tr> <tr> <td> Line 128: </td> <td> Line 154: </td> </tr> <tr> <td> <span>-</span> This feature requires changes to <span>c</span>e<span>rtain</span> user interface<span>s</span>. </td> <td> <span>+</span> This feature requires <span>some </span>changes to <span>th</span>e user interface. </td> </tr> <tr> <td> Line 146: </td> <td> Line 172: </td> </tr> <tr> <td> <span>-</span> This feature should be able to be implemented as a plugin but it does require database changes and extra search capabilities. </td> <td> <span>+</span> This feature should be able to be implemented as a plugin but it does require database changes and extra search capabilities.<span>&nbsp;There will need to be a few custom pages including one to allow adding entries to the type table.</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:08:19PhilipNeustrom <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 182: </td> <td> Line 182: </td> </tr> <tr> <td> <span>-</span> ''2007-04-20 03:06:49'' [[nbsp]] I like the simplier schema. We should talk a bit about markup and UI. [Established:=Date("1990-01-01")] versus Date Established := 1990-01-01, <span>. If we say a type can only be one word then the latter markup would work well, </span>I think? </td> <td> <span>+</span> ''2007-04-20 03:06:49'' [[nbsp]] I like the simplier schema. We should talk a bit about markup and UI. [Established:=Date("1990-01-01")] versus Date Established := 1990-01-01<span>. If we say a type can only be one word then the latter markup would work well</span>, I think? </td> </tr> <tr> <td> Line 184: </td> <td> Line 184: </td> </tr> <tr> <td> <span>-</span> We could also opt to have this as a somewhat disjoint UI from the normal editing interface. I'm really not sure how the UI for all of this ought to work, but I think it's actually the most important part, as we have to make this easy to use (otherwise it won't be used). --["Users/PhilipNeustrom"] </td> <td> <span>+</span> We could also opt to have this as a somewhat disjoint UI from the normal editing interface<span>&nbsp;(a "Metadata" button?)</span>. I'm really not sure how the UI for all of this ought to work, but I think it's actually the most important part, as we have to make this easy to use (otherwise it won't be used). --["Users/PhilipNeustrom"] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 03:06:49PhilipNeustromComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 181: </td> <td> Line 181: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-04-20 03:06:49'' [[nbsp]] I like the simplier schema. We should talk a bit about markup and UI. [Established:=Date("1990-01-01")] versus Date Established := 1990-01-01, . If we say a type can only be one word then the latter markup would work well, I think?<br> + <br> + We could also opt to have this as a somewhat disjoint UI from the normal editing interface. I'm really not sure how the UI for all of this ought to work, but I think it's actually the most important part, as we have to make this easy to use (otherwise it won't be used). --["Users/PhilipNeustrom"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 02:51:14Sc0ttBeardsleyUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 02:51:14Sc0ttBeardsleyImage <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 02:49:18Sc0ttBeardsleypoint to new ERD xml <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 76: </td> <td> Line 76: </td> </tr> <tr> <td> <span>-</span> Source ERD file: [[File(<span>s</span>e<span>m</span>a<span>n</span>t<span>ic_syc</span>a<span>more</span>.xml)]] </td> <td> <span>+</span> Source ERD file: [[File(<span>m</span>e<span>t</span>a<span>da</span>ta.xml)]] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 02:48:34Sc0ttBeardsleyFile <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_sycamore.xml">semantic_sycamore.xml</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-04-20 02:48:13Sc0ttBeardsleyUpload of file <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=metadata.xml">metadata.xml</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-30 16:00:22Sc0ttBeardsleyrefresh image <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 73: </td> <td> Line 73: </td> </tr> <tr> <td> <span>-</span> [[Image(semantic_db.png, right, thumbnail, "Copy<span>&nbsp;the</span> source XML into [http://ondras.praha12.net/sql/demo/ this editor] to view the schema details.")]] </td> <td> <span>+</span> [[Image(semantic_db.png, right, thumbnail, "Copy source XML into [http://ondras.praha12.net/sql/demo/ this editor] to view the schema details.")]] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-30 15:59:12Sc0ttBeardsleymoved comments to talk <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 57: </td> <td> Line 57: </td> </tr> <tr> <td> <span>-</span> Another motivation behind this format is that on flickr people began tagging images with non-tag-like data, such as geocoordinates using a technique known as ''machine tagging''. People started using a format very similar (geo:long=123.456), and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more. (In our case, we'd have geo long := 123.456)<span>&nbsp;The syntax of machine tagging will work for attributes but will not work for relations.</span> </td> <td> <span>+</span> Another motivation behind this format is that on flickr people began tagging images with non-tag-like data, such as geocoordinates using a technique known as ''machine tagging''. People started using a format very similar (geo:long=123.456), and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more. (In our case, we'd have geo long := 123.456) </td> </tr> <tr> <td> Line 60: </td> <td> Line 60: </td> </tr> <tr> <td> <span>- <br> - -------<br> - ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant. These two examples are where we have simply a &lt;type&gt; and a &lt;value&gt;, given that our general form for these things is Type Subject := Value.''<br> - <br> - Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc. --["Sc0ttBeardsley"]<br> - <br> - ''So do you think we can just opt for attributes and some sort of implicit relation? Meaning, do you think we can do the basics of what we need with just the := operator? In your examples, the only need for a relation is to set an attribute to a page. It might be easiest, from an implementation and usability perspective, to just stick with attributes?''<br> - <br> - ''"just opt for attributes and some sort of implicit relation?" Yes, it would be easier to just allow forward relations (meaning the subject is *always* the current page).''<br> - <br> - ''"just stick with attributes?" I see relations as being fundamentally different than attributes. Attributes have a specific data type, need special formatting, etc. Relations on the other hand store references to objects (not their values). In our case it could be an existing wiki page on this wiki (the default), or perhaps a wiki page on some other wiki (ie wikipedia or daviswiki.org). Either way relations are always treated the same way: add the object's namespace to the object value and you have a link to that thing. If we only had attributes how would we distinguish a value from a reference? --["Sc0ttBeardsley"]''<br> - <br> - ''To answer my own question all we have to do to distinguish between a value and a reference is to look at the namespace. I now think we could get away with just an attributes table and a namespace table. See below for a new ERD. --["Sc0ttBeardsley"]''</span> </td> <td> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 06:06:38Sc0ttBeardsleymodified table defs... example change to edit UI <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 94: </td> <td> Line 94: </td> </tr> <tr> <td> <span>- ==== semantic_relation ====<br> - <br> - This table stores all relationships between objects. This can include [http://en.wikipedia.org/wiki/Ontology_(computer_science) ontologies] outside of the wiki like [http://en.wikipedia.org/wiki/FOAF_%28software%29 FOAF]. For example:<br> - {{{<br> - +-----+--------------+----------------+----------------+------------+----------------+--------------+<br> - | id | subject_nsid | subject | predicate_nsid | predicate | object_nsid | object |<br> - +-----+--------------+----------------+----------------+------------+----------------+--------------+<br> - | 654 | 555 | Shakey's Pizza | 666 | isPartOf | 555 | Restaurants |<br> - +-----+--------------+----------------+----------------+------------+----------------+--------------+<br> - }}}<br> - <br> - ==== namespace ====<br> - <br> - {{{<br> - +-----+-----------------------------------+<br> - | id | uri |<br> - +-----+-----------------------------------+<br> - | 555 | http://daviswiki.org/wiki/ |<br> - +-----+-----------------------------------+<br> - | 666 | http://purl.org/dc/terms/isPartOf |<br> - +-----+-----------------------------------+<br> - }}}</span> </td> <td> </td> </tr> <tr> <td> Line 121: </td> <td> Line 99: </td> </tr> <tr> <td> <span>-</span> +<span>-----+-</span>---------------+<br> <span>- | id </span> | pagename |<br> <span>-</span> +<span>-----+-</span>---------------+<br> <span>- | 742</span> | Shakey's Pizza |<br> <span>-</span> <span>+-----</span>+---------------<span>-</span>+ </td> <td> <span>+</span> +---------------+<br> <span>+</span> | pagename |<br> <span>+</span> +---------------+<br> <span>+</span> | Shakey's Pizza |<br> <span>+</span> +---------------+ </td> </tr> <tr> <td> Line 130: </td> <td> Line 108: </td> </tr> <tr> <td> <span>- ==== semantic_attribute ====</span> </td> <td> <span>+ ==== namespace ====<br> + <br> + {{{<br> + +----+---------+---------------------------------------+<br> + | id | alias | uri |<br> + +----+---------+---------------------------------------+<br> + | 0 | literal | |<br> + +----+---------+---------------------------------------+<br> + | 1 | link | http://daviswiki.org/wiki/ |<br> + +----+---------+---------------------------------------+<br> + | 2 | att | http://daviswiki.org/wiki/Attributes/ |<br> + +----+---------+---------------------------------------+<br> + | 3 | dc | http://purl.org/dc/terms/ |<br> + +----+---------+---------------------------------------+<br> + }}}<br> + <br> + ==== attribute ====</span> </td> </tr> <tr> <td> Line 134: </td> <td> Line 128: </td> </tr> <tr> <td> <span>- +----+--------+--------------+---------+------------+<br> - | id | pageid | datatypeid | name | value |<br> - +----+--------+--------------+---------+------------+<br> - | 1 | 742 | Phone Number | Primary | 9161234567 |<br> - +----+--------+--------------+---------+------------+</span> </td> <td> <span>+ +-----+----------------+----------------+------------+----------------+--------------+<br> + | id | pagename | predicate_nsid | predicate | object_nsid | object |<br> + +-----+----------------+----------------+------------+----------------+--------------+<br> + | 654 | Shakey's Pizza | 3 | isPartOf | 1 | Restaurants |<br> + +-----+----------------+----------------+------------+----------------+--------------+<br> + | 655 | Shakey's Pizza | 2 | PhoneNumber| 0 | 9161234567 |<br> + +-----+----------------+----------------+------------+----------------+--------------+</span> </td> </tr> <tr> <td> Line 141: </td> <td> Line 137: </td> </tr> <tr> <td> <span>- In this case the subject is the Shakey's Pizza page, the predicate is '''Phone Number''' and the object is "9161234567". Since this data will be managed from the Shakey's Pizza page there is no need to store the full namespace or even a link to it. The name column could be removed... The reasoning is that you can "label" different type of '''Phone Numbers''' but this could just as easily be handled by creating a new data type (called say '''Secondary Phone Number''').<br> - <br> - ==== semantic_datatype ====<br> - <br> - This table is intended to be used for templating datatypes. Attributes can have data types that can be defined by users. For instance, take an example "phone number" data type defined as follows:<br> - {{{<br> - +---------------+---------------------------------------------+---------------+<br> - | name | regex | format |<br> - +---------------+---------------------------------------------+---------------+<br> - | Phone Number | ^\(?([0-9]{3})\)?\s*([0-9]{3})-?([0-9]{4})$ | ($1) $2-$3 |<br> - +---------------+---------------------------------------------+---------------+<br> - }}}<br> - <br> - The regex is used in two ways, first to determine if the input provided by the user is valid and second to provide variables for the format variable to display the content to the user correctly.<br> - <br> - Using a regex will allow storing only what is necessary in the database. Take these inputs as examples (the right side is what is stored in the database).<br> - <br> - "(916) 123-4567" -&gt; 9161234567<br> - <br> - If you apply the regex to what is found in the database you get the following in 1,2 and 3:<br> - <br> - $1 = 916<br> - $2 = 123<br> - $3 = 4567<br> - <br> - Then when you apply this to the format variable you will get the final result: "(916) 123-4567".</span> </td> <td> <span>+ In this case the subject is the Shakey's Pizza page, the predicate is '''PhoneNumber''' and the object is "9161234567". Since this data will be managed from the Shakey's Pizza page there is no need to store the full namespace or even a link to it. This table can also hold relations or references to other wiki pages. If the object_nsid is 1 (the id that matches the wiki baseurl) than the object is a link and can be made into an href to the actual page.</span> </td> </tr> <tr> <td> Line 177: </td> <td> Line 148: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + ''Perhaps a popup window/iframe that shows a google map where when a location is clicked the window closes and the lat/lon is entered as a point like so: "Point(-143.23,235.30)".''</span> </td> </tr> <tr> <td> Line 198: </td> <td> Line 171: </td> </tr> <tr> <td> <span>-</span> * [http://www.govtrack.us/articles/20050302rdf.xpd GovTrack] </td> <td> <span>+</span> * [http://www.govtrack.us/articles/20050302rdf.xpd <span>Explanation of RDF at </span>GovTrack] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:54:12Sc0ttBeardsleyImage <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:54:12Sc0ttBeardsleyUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:53:59Sc0ttBeardsleyFile <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_sycamore.xml">semantic_sycamore.xml</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:53:59Sc0ttBeardsleyUpload of file <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_sycamore.xml">semantic_sycamore.xml</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:50:53Sc0ttBeardsleyFile <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_sycamore.xml">semantic_sycamore.xml</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:50:53Sc0ttBeardsleyUpload of file <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_sycamore.xml">semantic_sycamore.xml</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:50:28Sc0ttBeardsleyImage <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:50:28Sc0ttBeardsleyUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:49:00Sc0ttBeardsleyImage <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a> deleted.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:49:00Sc0ttBeardsleyUpload of image <a href="http://www.projectsycamore.org/Semantic_Wiki?action=Files&do=view&target=semantic_db.png">semantic_db.png</a>.Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:48:16Sc0ttBeardsleyanswered my own question yippee for simplicity <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 69: </td> <td> Line 69: </td> </tr> <tr> <td> <span>-</span> ''"just stick with attributes?" I see relations as being fundamentally different than attributes. Attributes have a specific data type, need special formatting, etc. Relations on the other hand store references to objects (not their values). In our case it could be an existing wiki page on this wiki (the default), or perhaps a wiki page on some other wiki (ie wikipedia or daviswiki.org). Either way relations are always treated the same way: add the object's namespace to the object value and you have a link to that thing. If we only had attributes how would we distinguish a value from a reference?'' </td> <td> <span>+ <br> +</span> ''"just stick with attributes?" I see relations as being fundamentally different than attributes. Attributes have a specific data type, need special formatting, etc. Relations on the other hand store references to objects (not their values). In our case it could be an existing wiki page on this wiki (the default), or perhaps a wiki page on some other wiki (ie wikipedia or daviswiki.org). Either way relations are always treated the same way: add the object's namespace to the object value and you have a link to that thing. If we only had attributes how would we distinguish a value from a reference?<span>&nbsp;--["Sc0ttBeardsley"]</span>''<span><br> + <br> + ''To answer my own question all we have to do to distinguish between a value and a reference is to look at the namespace. I now think we could get away with just an attributes table and a namespace table. See below for a new ERD. --["Sc0ttBeardsley"]''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 05:21:41Sc0ttBeardsleyadded type functions for examples <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 31: </td> <td> Line 31: </td> </tr> <tr> <td> <span>-</span> * Longitude/Latitude (attributes): [[Location:=-12.34,23.456]]<br> <span>-</span> * Neighborhood (a relation): [LocatedIn:="Downtown Davis"] &lt;- This could be calculated once we have the long/lat and the boundaries of "Downtown Davis" </td> <td> <span>+</span> * Longitude/Latitude (attributes): [[Location:=<span>Point(</span>-12.34,23.456<span>)</span>]]<br> <span>+</span> * Neighborhood (a relation): [LocatedIn:=<span>Link(</span>"Downtown Davis"<span>)</span>] &lt;- This could be calculated once we have the long/lat and the boundaries of "Downtown Davis" </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>-</span> * [HoursOpen:=M-W,0800,2200] &lt;- These would probably need to be generated by a special UI for usability reasons<br> <span>-</span> * [HoursOpen:=R-F,0800,0000<span>]<br> -</span> * [HoursOpen:=S,0800,1400<span>]<br> -</span> * [HappyHour:=M-F,1500,1800<span>]<br> -</span> * Phone: [Phone:=(530) 753-8639<span>]<br> -</span> * Email: [Email:=info@deltaofvenus.org<span>]<br> -</span> * Website: [Website:=http://deltaofvenus.org<span>]<br> -</span> * Est: [Established:1990<span>]<br> </span>- * Menu (a relation): [Menu:="Delta of Venus/Menu"<span>]<br> -</span> * Type/Category/Label (a relation or attribute it could be either): [IsA:=Restaurant<span>]</span> </td> <td> <span>+</span> * [HoursOpen:=<span>DatetimeRange(</span>M-W,0800,2200<span>)</span>] &lt;- These would probably need to be generated by a special UI for usability reasons<br> <span>+</span> * [HoursOpen:=<span>DatetimeRange(</span>R-F,0800,0000<span>)]<br> +</span> * [HoursOpen:=<span>DatetimeRange(</span>S,0800,1400<span>)]<br> +</span> * [HappyHour:=<span>DatetimeRange(</span>M-F,1500,1800<span>)]<br> +</span> * Phone: [Phone:=<span>Phone("</span>(530) 753-8639<span>")]<br> +</span> * Email: [Email:=<span>Email("</span>info@deltaofvenus.org<span>")]<br> +</span> * Website: [Website:=<span>URL("</span>http://deltaofvenus.org<span>")]<br> +</span> * Est: [Established:<span>=Date("</span>1990-<span>01-01")]<br> +</span> * Menu (a relation): [Menu:=<span>Link(</span>"Delta of Venus/Menu"<span>)]<br> +</span> * Type/Category/Label (a relation or attribute it could be either): [IsA:=<span>Link("</span>Restaurant<span>")]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 04:46:48answered eliminating relations proposal <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 68: </td> <td> Line 68: </td> </tr> <tr> <td> </td> <td> <span>+ ''"just opt for attributes and some sort of implicit relation?" Yes, it would be easier to just allow forward relations (meaning the subject is *always* the current page).''<br> + ''"just stick with attributes?" I see relations as being fundamentally different than attributes. Attributes have a specific data type, need special formatting, etc. Relations on the other hand store references to objects (not their values). In our case it could be an existing wiki page on this wiki (the default), or perhaps a wiki page on some other wiki (ie wikipedia or daviswiki.org). Either way relations are always treated the same way: add the object's namespace to the object value and you have a link to that thing. If we only had attributes how would we distinguish a value from a reference?''<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 02:31:19PhilipNeustromadded more to my q <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 66: </td> <td> Line 66: </td> </tr> <tr> <td> <span>-</span> ''So do you think we can just opt for attributes and some sort of implicit relation? Meaning, do you think we can do the basics of what we need with just the := operator?'' </td> <td> <span>+</span> ''So do you think we can just opt for attributes and some sort of implicit relation? Meaning, do you think we can do the basics of what we need with just the := operator?<span>&nbsp;&nbsp;In your examples, the only need for a relation is to set an attribute to a page. It might be easiest, from an implementation and usability perspective, to just stick with attributes?</span>'' </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-22 00:28:37Sc0ttBeardsleyadded example for delta of venus <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 30: </td> </tr> <tr> <td> <span>- <br> - ''Example needed here!''</span> </td> <td> <span>+ * Location:<br> + * Longitude/Latitude (attributes): [[Location:=-12.34,23.456]]<br> + * Neighborhood (a relation): [LocatedIn:="Downtown Davis"] &lt;- This could be calculated once we have the long/lat and the boundaries of "Downtown Davis"<br> + * Hours:<br> + * [HoursOpen:=M-W,0800,2200] &lt;- These would probably need to be generated by a special UI for usability reasons<br> + * [HoursOpen:=R-F,0800,0000]<br> + * [HoursOpen:=S,0800,1400]<br> + * [HappyHour:=M-F,1500,1800]<br> + * Phone: [Phone:=(530) 753-8639]<br> + * Email: [Email:=info@deltaofvenus.org]<br> + * Website: [Website:=http://deltaofvenus.org]<br> + * Est: [Established:1990]<br> + * Menu (a relation): [Menu:="Delta of Venus/Menu"]<br> + * Type/Category/Label (a relation or attribute it could be either): [IsA:=Restaurant]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 22:08:35PhilipNeustromwrote some more, hoping for example of usage <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 16: </td> <td> Line 16: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + == Use cases ==<br> + <br> + When talking about this, it's good to have an idea of what we'd like to be able to use this for. Here's some potential uses that wiki users would like (and have devised ways around, in some cases):<br> + <br> + * Single-element "tags" or "categories". "This page is a stub" or "This page needs a photo" or "This page is a restaurant".<br> + * The current way of achieving this is via a normal wiki link. Because we can, for a given page, figure out what pages link to it (using {{{[[LinksHere]]}}}), we can exploit this to create "tags" or "categories," in a way. For instance, on the Davis Wiki pages which are stubs are identified by placing {{{[[Include(Stub)]]}}} on them. This includes the contents of the "Stub" page in the page we want to mark as a stub. The "Stub" page has a link to the page "Stub/Definition", and no non-stub pages link to "Stub/Definition". Thus we can produce a list of pages which are stubs by simply asking {{{[[LinksHere(Stub/Definition)]]}}}.<br> + * Such a strategy using links can be made more geek-pallitable by choosing a set "namespace" for which to link to. We could, for instance, link to "Category/Name of the category" to ensure that nothing else linked to it. Then we would simply link to {{{["Category/Restaurant"]}}} when we wanted to mark a page as such.<br> + * The problem with this approach is that it doesn't generalize for anything more than a single "key," and it isn't really clear what is going on -- is this a link or is this something else? We use links to express simple links between pages that are ''part of the page content'', not really to express ideas that are ''removed or abstracted from the page content.''<br> + * To replicate this with the current proposal, we'd simply mark a page like so: Category := Stub and Category := Photo request. We can add more information in, doing something like Stub since := 2006-02-01 and PhotoRequest since := 2006-02-01.<br> + <br> + * Taking details that are sitting in "formatted tables" and making them searchable. Many pages on the wikis have tables up at the top with similarly named data. These pages are usually created from something like the "Business Template." For instance, [http://daviswiki.org/Delta_of_Venus delta of venus]. The wikis tend to keep a convention for these pages' format, which means that adapting to a set convention for semantic data wouldn't be too hard for editors. In the Delta of Venus example, we have a set of attributes: Location, Hours, Phone, Email, Website, Menu (which is a link to the menu). The goal of this semantic effort is to allow these things to be queried upon, and pages to be built based on them in a straightforward way.<br> + * To achieve this using the current Sycamore system isn't really possible.<br> + * To replicate this using the current proposal, we could write:<br> + <br> + ''Example needed here!''</span> </td> </tr> <tr> <td> Line 35: </td> <td> Line 51: </td> </tr> <tr> <td> <span>- -------</span><br> <span>- ''</span>Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc. --["Sc0ttBeardsley"]'' </td> <td> <span>+ </span><br> <span>+ </span>Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc. --["Sc0ttBeardsley"]<span><br> + <br> + </span>''<span>So do you think we can just opt for attributes and some sort of implicit relation? Meaning, do you think we can do the basics of what we need with just the := operator?''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 15:53:43Sc0ttBeardsley <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 36: </td> <td> Line 36: </td> </tr> <tr> <td> <span>- </span>Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc. --["Sc0ttBeardsley"] </td> <td> <span>+ ''</span>Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc. --["Sc0ttBeardsley"]<span>''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 15:53:16Sc0ttBeardsleyadded sig <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 36: </td> <td> Line 36: </td> </tr> <tr> <td> <span>-</span> Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc. </td> <td> <span>+</span> Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc.<span>&nbsp;--["Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 15:52:10Sc0ttBeardsleynote about possible syntax <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 35: </td> <td> Line 35: </td> </tr> <tr> <td> </td> <td> <span>+ -------<br> + Well, I was thinking about allowing back references to other wiki's or pages that do not yet exist. This feature isn't necessary though for our purposes. It might make more sense to only allow forward relations where the subject is a valid wiki page and the object is possibly a wiki page on this wiki (same namespace) or on another wiki (another namespace like wikipedia, or a California wiki, etc). WikiMedia choose a different syntax for relations because the object is _always_ interpretted as a wiki page. So a wiki link is always made. Attributes, on the other hand, are not wiki pages and require some custom formatting, parsing, etc.</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 07:04:19 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>-</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant. These two examples are where we have simply a &lt;type&gt; and a &lt;value&gt;, given that our general form for these things is Type Subject := Value<span>)</span>.'' </td> <td> <span>+</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant. These two examples are where we have simply a &lt;type&gt; and a &lt;value&gt;, given that our general form for these things is Type Subject := Value.'' </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 07:04:07 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>-</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant. These two examples are where we have simply a &lt;type&gt; and a &lt;value&gt;.'' </td> <td> <span>+</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant. These two examples are where we have simply a &lt;type&gt; and a &lt;value&gt;<span>, given that our general form for these things is Type Subject := Value)</span>.'' </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 07:03:07 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>-</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant<span>''</span> </td> <td> <span>+</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given? For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant<span>. These two examples are where we have simply a &lt;type&gt; and a &lt;value&gt;.''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 07:02:02 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>-</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given?<span>''</span> </td> <td> <span>+</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work (given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;). Could an example be given?<span>&nbsp;&nbsp;For instance, the is_a::Restaurant relation could be written as Category := Restaurant, or (semantically equivalent) is_a := Restaurant''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 06:59:41 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 34: </td> <td> Line 34: </td> </tr> <tr> <td> <span>-</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work. Could an example be given?'' </td> <td> <span>+</span> ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work<span>&nbsp;(given that we always implicitly have the page we're using as a subject, and have the optional &lt;type&gt;)</span>. Could an example be given?'' </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 06:58:33question about attributes and relations <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 32: </td> <td> Line 32: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + -------<br> + ''"Will work for attributes but not for relations" -- This is what I thought at first, too, but I can't seem to think of a case where it wouldn't work. Could an example be given?''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 06:32:38Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 178: </td> <td> Line 178: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-03-20 23:32:38'' [[nbsp]] To recap relation vs attribute: relations connect two objects and attributes connect an object to a literal (like a date/number/string). There is a good discussion about this on [http://meta.wikimedia.org/wiki/Semantic_MediaWiki/Blueprint MediaWiki's blueprint page]. --["Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 06:30:19Sc0ttBeardsleytypo <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 21: </td> <td> Line 21: </td> </tr> <tr> <td> <span>-</span> * {{{is_a::Restaurant}} (general form is predicate::object and the subject is extracted automatically) </td> <td> <span>+</span> * {{{is_a::Restaurant<span>}</span>}} (general form is predicate::object and the subject is extracted automatically) </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 06:29:18Sc0ttBeardsleyexample relation <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 20: </td> <td> Line 20: </td> </tr> <tr> <td> <span>- * A relation: {{{[[Relation(wiki:CURRENTPAGE,wiki:is_a,wiki:restaurant)]]}}}</span> </td> <td> <span>+ * A relation: {{{[[Relation(CURRENTPAGE,is_a,Restaurant)]]}}}<br> + * {{{is_a::Restaurant}} (general form is predicate::object and the subject is extracted automatically)</span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 31: </td> </tr> <tr> <td> <span>- ''See the talk page''</span> </td> <td> <span>+ ''see also: [http://meta.wikimedia.org/wiki/Semantic_MediaWiki/Blueprint MediaWiki's Blueprint page]''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 06:17:38Sc0ttBeardsley <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 17: </td> <td> Line 17: </td> </tr> <tr> <td> <span>-</span> <span>A</span> <span>p</span>ossible format for t<span>h</span>i<span>s plugi</span>n<span>&nbsp;i</span>s: </td> <td> <span>+</span> <span>==</span> <span>Possible syntax ==<br> + <br> + P</span>ossible format<span>s</span> for <span>rela</span>ti<span>o</span>ns: </td> </tr> <tr> <td> Line 19: </td> <td> Line 21: </td> </tr> <tr> <td> <span>- * An Attribute: {{{[[Attribute("Phone Number","(916) 123-4567")]]}}}</span> </td> <td> </td> </tr> <tr> <td> Line 21: </td> <td> Line 22: </td> </tr> <tr> <td> <span>-</span> <span>O</span>r<span>,</span> <span>h</span>o<span>w about:<br> - * An</span> attribute:<span>&nbsp;&nbsp;Category := Restaurant</span><br> <span>-</span> * A<span>n a</span>ttribute<span>:</span> PhoneNumber := (916) 123-4567<span><br> - * An attribute: Hours open := 9AM-5PM<br> - <br> -</span> (general form is Type Subject := Value) </td> <td> <span>+</span> <span>Possible fo</span>r<span>mats</span> <span>f</span>o<span>r</span> attribute<span>s</span>:<br> <span>+</span> * <span>{{{[[</span>Attribute<span>("Phone Number","(916) 123-4567")]]}}}<br> +</span> <span>* {{{</span>PhoneNumber := (916) 123-4567<span>}}}</span> (general form is Type Subject := Value) </td> </tr> <tr> <td> Line 30: </td> <td> Line 28: </td> </tr> <tr> <td> -<span>&nbsp;Another motivation behind this format is that on flickr people began tagging images with non</span>-<span>tag-</span>like data, such as geocoordinates. People started using a format very similar (geo:long=123.456), and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more. (In our case, we'd have geo long := 123.456) </td> <td> <span>+ Another motivation behind this format is that on flickr people began tagging images with non</span>-<span>tag</span>-like data, such as geocoordinates<span>&nbsp;using a technique known as ''machine tagging''</span>. People started using a format very similar (geo:long=123.456), and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more. (In our case, we'd have geo long := 123.456)<span>&nbsp;The syntax of machine tagging will work for attributes but will not work for relations.<br> + <br> + ''See the talk page''</span> </td> </tr> <tr> <td> Line 54: </td> <td> Line 54: </td> </tr> <tr> <td> <span>- This table stores all relationships between objects. This can include [http://en.wikipedia.org/wiki/Ontology_(computer_science) ontologies] outside of the wiki like [http://en.wikipedia.org/wiki/FOAF_%28software%29 FOAF]. Example coming soon.</span> </td> <td> <span>+ This table stores all relationships between objects. This can include [http://en.wikipedia.org/wiki/Ontology_(computer_science) ontologies] outside of the wiki like [http://en.wikipedia.org/wiki/FOAF_%28software%29 FOAF]. For example:<br> + {{{<br> + +-----+--------------+----------------+----------------+------------+----------------+--------------+<br> + | id | subject_nsid | subject | predicate_nsid | predicate | object_nsid | object |<br> + +-----+--------------+----------------+----------------+------------+----------------+--------------+<br> + | 654 | 555 | Shakey's Pizza | 666 | isPartOf | 555 | Restaurants |<br> + +-----+--------------+----------------+----------------+------------+----------------+--------------+<br> + }}}</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 05:06:21 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 21: </td> <td> Line 21: </td> </tr> <tr> <td> <span>- How about just attributes, without relations?</span> </td> <td> <span>+ Or, how about:</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 05:05:10 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 30: </td> </tr> <tr> <td> <span>- With this format, we cannot express 'relation' in the same way, because we can't really specify a 'predicate.' We can, however, specify a type, which can act in the same way a predicate could. (When would we need a non-trivial predicate?..) Another motivation behind this format is that on flickr people began tagging images with non-tag-like data, such as geocoordinates. People started using a format very similar, and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more.</span> </td> <td> <span>+ Another motivation behind this format is that on flickr people began tagging images with non-tag-like data, such as geocoordinates. People started using a format very similar (geo:long=123.456), and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more. (In our case, we'd have geo long := 123.456)</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 05:00:02another format <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 30: </td> <td> Line 30: </td> </tr> <tr> <td> <span>- When would we need a non-trivial predicate?</span> </td> <td> <span>+ With this format, we cannot express 'relation' in the same way, because we can't really specify a 'predicate.' We can, however, specify a type, which can act in the same way a predicate could. (When would we need a non-trivial predicate?..) Another motivation behind this format is that on flickr people began tagging images with non-tag-like data, such as geocoordinates. People started using a format very similar, and flickr ended up supporting this format and allowed querying based upon it. Check out [http://www.flickr.com/groups/api/discuss/72157594497877875/ this discussion] for more.</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:54:58 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 20: </td> <td> Line 20: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + How about just attributes, without relations?<br> + * An attribute: Category := Restaurant<br> + * An attribute: PhoneNumber := (916) 123-4567<br> + * An attribute: Hours open := 9AM-5PM<br> + <br> + (general form is Type Subject := Value)<br> + <br> + With this form, we can explain the idea to newcomers as a way of "tagging the page with a value," in a sense.<br> + <br> + When would we need a non-trivial predicate?</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:20:00Sc0ttBeardsleytypo <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 19: </td> <td> Line 19: </td> </tr> <tr> <td> <span>-</span> * An Attribute: {{{[[Attribute("Phone Number","(916) 123-4567)]]}}} </td> <td> <span>+</span> * An Attribute: {{{[[Attribute("Phone Number","(916) 123-4567<span>"</span>)]]}}} </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:19:13Sc0ttBeardsleycomment change <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 158: </td> <td> Line 158: </td> </tr> <tr> <td> <span>-</span> ''2007-03-20 21:18:20'' [[nbsp]] Yes, generally a page and another object... the page can either be the subject or the object..<span>. I don't think it'll work if it's one way</span>. The database structure would allow storing relationships between two non-page objects but that's not all that interesting for our purposes. --["Sc0ttBeardsley"] </td> <td> <span>+</span> ''2007-03-20 21:18:20'' [[nbsp]] Yes, generally a page and another object... the page can either be <span>referenced in </span>the subject or the object... The database structure would allow storing relationships between two non-page objects but that's not all that interesting for our purposes. --["Sc0ttBeardsley"] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:18:20Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 157: </td> <td> Line 157: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-03-20 21:18:20'' [[nbsp]] Yes, generally a page and another object... the page can either be the subject or the object... I don't think it'll work if it's one way. The database structure would allow storing relationships between two non-page objects but that's not all that interesting for our purposes. --["Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:15:33Sc0ttBeardsleyadded possible plugin formats <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 17: </td> <td> Line 17: </td> </tr> <tr> <td> </td> <td> <span>+ A possible format for this plugin is:<br> + * A relation: {{{[[Relation(wiki:CURRENTPAGE,wiki:is_a,wiki:restaurant)]]}}}<br> + * An Attribute: {{{[[Attribute("Phone Number","(916) 123-4567)]]}}}<br> + </span> </td> </tr> <tr> <td> Line 19: </td> <td> Line 23: </td> </tr> <tr> <td> <span>-</span> * John's Phone Number is <span>530-</span>123-4567 </td> <td> <span>+</span> * John's Phone Number is <span>(916) </span>123-4567 </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:14:27Comment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 151: </td> <td> Line 151: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-03-20 21:14:27'' [[nbsp]] So what you had in mind is that the relationship is always between a page and another object? --75.31.44.27</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:09:41Sc0ttBeardsleyclarified my comment <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 150: </td> <td> Line 150: </td> </tr> <tr> <td> <span>-</span> ''2007-03-20 21:05:08'' [[nbsp]] I think the attribute table needs to be changed. the predicate should be able to be one of the standard predicates in DC, FOAF, etc. I'd like it also to be a custom datatype also. The semantic_relation table is for showing relations between two real world things. One of those things is represented as a page in the wiki the other can be another page in the wiki or some other real world thing. For example "Shakey's Pizza" "Is A" "Restaurant". --["Sc0ttBeardsley"] </td> <td> <span>+</span> ''2007-03-20 21:05:08'' [[nbsp]] I think the attribute table needs to be changed. the predicate should be able to be one of the standard predicates in DC, FOAF, etc. I'd like it also to be a custom datatype also. The semantic_relation table is for showing relations between two real world things. One of those things is represented as a page in the wiki the other can be another page in the wiki or some other real world thing. For example "Shakey's Pizza" "Is A" "Restaurant"<span>&nbsp;the "Shakey's Pizza" has the local wiki's namespace so it represents the page in the wiki</span>. --["Sc0ttBeardsley"] </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:08:09Sc0ttBeardsleyrelation table still needs an example <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 39: </td> <td> Line 39: </td> </tr> <tr> <td> <span>-</span> This table stores all relationships between objects. This can include [http://en.wikipedia.org/wiki/Ontology_(computer_science) ontologies] outside of the wiki like [http://en.wikipedia.org/wiki/FOAF_%28software%29 FOAF]. <span>Here is an e</span>xample <span>row:</span> </td> <td> <span>+</span> This table stores all relationships between objects. This can include [http://en.wikipedia.org/wiki/Ontology_(computer_science) ontologies] outside of the wiki like [http://en.wikipedia.org/wiki/FOAF_%28software%29 FOAF]. <span>E</span>xample <span>coming soon.<br> + <br> + ==== namespace ====</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:06:16Sc0ttBeardsleyfixed table name <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 37: </td> <td> Line 37: </td> </tr> <tr> <td> <span>-</span> ==== na<span>mespace</span> ==== </td> <td> <span>+</span> ==== <span>sema</span>n<span>tic_rel</span>a<span>tion</span> ==== </td> </tr> <tr> <td> Line 49: </td> <td> Line 49: </td> </tr> <tr> <td> <span>- | 777 | http://daviswiki.org/wiki/ |<br> - +-----+-----------------------------------+</span> </td> <td> </td> </tr> <tr> <td> Line 52: </td> <td> Line 50: </td> </tr> <tr> <td> <span>- <br> - ''This example table is the namespace table?''</span> </td> <td> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:05:08Sc0ttBeardsleyComment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 151: </td> <td> Line 151: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-03-20 21:05:08'' [[nbsp]] I think the attribute table needs to be changed. the predicate should be able to be one of the standard predicates in DC, FOAF, etc. I'd like it also to be a custom datatype also. The semantic_relation table is for showing relations between two real world things. One of those things is represented as a page in the wiki the other can be another page in the wiki or some other real world thing. For example "Shakey's Pizza" "Is A" "Restaurant". --["Sc0ttBeardsley"]</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 04:03:56example table is the namespace table <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 37: </td> <td> Line 37: </td> </tr> <tr> <td> <span>-</span> ==== se<span>mantic_relation</span> ==== </td> <td> <span>+</span> ==== <span>name</span>s<span>pac</span>e ==== </td> </tr> <tr> <td> Line 52: </td> <td> Line 52: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + ''This example table is the namespace table?''</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 03:53:30Sc0ttBeardsleysemantic_relation table example <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 36: </td> <td> Line 36: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + ==== semantic_relation ====<br> + <br> + This table stores all relationships between objects. This can include [http://en.wikipedia.org/wiki/Ontology_(computer_science) ontologies] outside of the wiki like [http://en.wikipedia.org/wiki/FOAF_%28software%29 FOAF]. Here is an example row:<br> + <br> + {{{<br> + +-----+-----------------------------------+<br> + | id | uri |<br> + +-----+-----------------------------------+<br> + | 555 | http://daviswiki.org/wiki/ |<br> + +-----+-----------------------------------+<br> + | 666 | http://purl.org/dc/terms/isPartOf |<br> + +-----+-----------------------------------+<br> + | 777 | http://daviswiki.org/wiki/ |<br> + +-----+-----------------------------------+<br> + }}}</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 03:02:43tad more in an example <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 1: </td> <td> Line 1: </td> </tr> <tr> <td> <span>-</span> = What is a Semantic Wiki = </td> <td> <span>+</span> = What is a Semantic Wiki<span>?</span> = </td> </tr> <tr> <td> Line 6: </td> <td> Line 6: </td> </tr> <tr> <td> </td> <td> <span>+ <br> + Another example of semantic data is the "address" of a place. We can make a wiki page for a place, like Sam's Pizza, but then we'd like to give it an address. We can simply write the address on the page, or we can use the {{{[[address]]}}} macro to identify the address of the page in a way that's more meaningful to Sycamore. Because of this, the address of the page gets plotted on a map. The idea behind the semantic effort is to allow us to express other ideas, like "address" or "category" in a way that is understandable to computers, while being painless for people.</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 03:00:11Comment added. <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 129: </td> <td> Line 129: </td> </tr> <tr> <td> </td> <td> <span>+ ------<br> + ''2007-03-20 20:00:11'' [[nbsp]] The semantic_attribute table is said to "[define] attributes for objects stored in the wiki", and has subject, predicate, and object. But so does the semantic_relation table? What's the purpose of that table? --75.31.44.27</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 02:15:03Sc0ttBeardsleyadded example rows and some table descriptions <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 5: </td> <td> Line 5: </td> </tr> <tr> <td> <span>- ==== A simple example ====</span> </td> <td> </td> </tr> <tr> <td> Line 7: </td> <td> Line 6: </td> </tr> <tr> <td> <span>- </span> </td> <td> </td> </tr> <tr> <td> Line 37: </td> <td> Line 35: </td> </tr> <tr> <td> </td> <td> <span>+ ==== page ====<br> + <br> + This is a table with all pages in the wiki. Here is an example row:<br> + {{{<br> + +-----+----------------+<br> + | id | pagename |<br> + +-----+----------------+<br> + | 742 | Shakey's Pizza |<br> + +-----+----------------+<br> + }}}<br> + <br> + This can easily be changed to use the current Sycamore standard which is to use the pagename as the unique id.<br> + <br> + ==== semantic_attribute ====<br> + <br> + This table defines attributes for objects stored in the wiki. Every page is an object. This table follows the subject-predicate-object rule because the page id (or pagename) is the subject. Here is an example phone number attribute for the '''Shakey's Pizza''' page.<br> + {{{<br> + +----+--------+--------------+---------+------------+<br> + | id | pageid | datatypeid | name | value |<br> + +----+--------+--------------+---------+------------+<br> + | 1 | 742 | Phone Number | Primary | 9161234567 |<br> + +----+--------+--------------+---------+------------+<br> + }}}<br> + <br> + In this case the subject is the Shakey's Pizza page, the predicate is '''Phone Number''' and the object is "9161234567". Since this data will be managed from the Shakey's Pizza page there is no need to store the full namespace or even a link to it. The name column could be removed... The reasoning is that you can "label" different type of '''Phone Numbers''' but this could just as easily be handled by creating a new data type (called say '''Secondary Phone Number''').<br> + </span> </td> </tr> <tr> <td> Line 39: </td> <td> Line 63: </td> </tr> <tr> <td> <span>- This table is intended to be used for templating datatypes. Attributes can have data types that can be defined by users. For instance, take a "phone number" data type. The regex might be something like:<br> - <br> - "^\(?([0-9]{3})\)?\s*([0-9]{3})-?([0-9]{4})$"<br> - <br> - And the format might be:<br> - <br> - "($1) $2-$3"</span> </td> <td> <span>+ This table is intended to be used for templating datatypes. Attributes can have data types that can be defined by users. For instance, take an example "phone number" data type defined as follows:<br> + {{{<br> + +---------------+---------------------------------------------+---------------+<br> + | name | regex | format |<br> + +---------------+---------------------------------------------+---------------+<br> + | Phone Number | ^\(?([0-9]{3})\)?\s*([0-9]{3})-?([0-9]{4})$ | ($1) $2-$3 |<br> + +---------------+---------------------------------------------+---------------+<br> + }}}</span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 01:45:55FarMcKonCool. I Added a simple example. I'm not sure if it's even useful at all.... <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 3: </td> <td> Line 3: </td> </tr> <tr> <td> <span>- Semantic is to give meaning to something. In this case it means to give meaning to data managed via a user-maintained website or wiki. Semantic data is also known as metadata. Both mean information about information. Semantic data can be expressed in a set of exactly three pieces of data. Together these pieces are called statements.</span> </td> <td> <span>+ The word [http://en.wikipedia.org/wiki/Semantics Semantic] is related to the meaning carried by an any communication in words, code, drawing, anything. The idea of Semantic Wiki (or semantic web) is to write or create information in a way that make it easy to process and use by software agents. Many people use the term Semantic data and metadata interchangeably. In the case of Semantic Wiki it means to giving richer meaning to data managed via a user-maintained website or wiki. Both mean information about information. Semantic data can be expressed in a set of exactly three pieces of data. Together these pieces are called statements.<br> + <br> + ==== A simple example ====<br> + A simple example of semantic data is HTML's 'bold' tag. A word, paragraph, or sentence can be put between an opening &lt;b&gt; and a closing &lt;/b&gt;. In most cases this just means the text in the middle is drawn in italics when it's viewed. But some software will use the tag to otherwise mark the information as bold. For example, screen readers for the blind can change tone or inflection for &lt;b&gt; tags. In short, it's not directly drawn to the screen, but the technology in the middle can help make that un-drawn information useful.<br> + </span> </td> </tr> </table> </div> Semantic Wikihttp://www.projectsycamore.org/Semantic_Wiki2007-03-21 01:03:18 <div id="content" class="wikipage content"> Differences for Semantic Wiki<p><strong></strong></p><table> <tr> <td> <span> Deletions are marked with - . </span> </td> <td> <span> Additions are marked with +. </span> </td> </tr> <tr> <td> Line 99: </td> <td> Line 99: </td> </tr> <tr> <td> <span>-</span> ''2007-03-20 17:56:15'' [[nbsp]] Why is there no relationship between the semantic_attribute table and the semantic_relation table? After we create a datatype and place it into the semantic_attribute table, doesn<span>t'</span> that datatype get associated with the predicate of the semantic_relation table? I can define a phone number's form and say that it is a phone number, but then when I encounter another phone number I'd like to use the same row from semantic_attribute, as the predicate is the same. --75.31.44.27 </td> <td> <span>+</span> ''2007-03-20 17:56:15'' [[nbsp]] Why is there no relationship between the semantic_attribute table and the semantic_relation table? After we create a datatype and place it into the semantic_attribute table, doesn<span>'t</span> that datatype get associated with the predicate of the semantic_relation table? I can define a phone number's form and say that it is a phone number, but then when I encounter another phone number I'd like to use the same row from semantic_attribute, as the predicate is the same.<span>&nbsp;&nbsp;(Though, I notice the semantic_attribute is tied to a specific page, too. I suppose I need more clarification as to its purpose. I know it's for identification of types, but I'm not sure how it's fitting in.) </span> --75.31.44.27 </td> </tr> </table> </div>