Plone is so semantic, isn't it?

Jens Klein
Jens KleinSoftware Developer and self employed consultant at BlueDynamics Alliance
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 1 of 26
Plone Conference 2010
Bristol
Plone is so semantic,
isn't it?
Jens W. Klein <jk@kleinundpartner.at>
2010-10-28
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 2 of 26
Store Knowledge?
● Humans have different kinds of knowledge:
tacit and explicit
● only possible to transform
explict knowlegde (brain) =>
reduce to information =>
store information in ICT-system
● creation of documents (html-form, doc,
powerpoint, pdf, html, audio, video, CAD/CAM,
and hundreds more)
● sometimes collaborative
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 3 of 26
IN PLONE...
● create documents (HTML),
● upload or place links to documents.
● Excellent collaboration
– sharing,
– versioning,
– workflow.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 4 of 26
Problem:
● stupid ICT-Systems: they dont 'know' anything
about the document.
● we need to provide algorythms to fetch
information from the ones and zeros.
● Algorythms are as good as stored information is
● Fulltext search: Cut into words, create index.
● Organize documents in folders, subfolder, give
them meaningful names.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 5 of 26
IN PLONE...
● portal_catalog
● full text index and search
● hirarchical folderish structure
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 6 of 26
BUT ...
● this is not enough. We want to know the author,
intellectual property information, dates, ...
● So we need additional information.
● One solution: Store additional information with
the document: Metadata.
● Dublin Core (DC) Metadata, Learning Objects
Metadata (LOM), ..
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 7 of 26
BUT ... lazy Humans!
*sigh*
● metadata need to be created/added by editors.
● Humans are lazy,
● so must of the time
– NO METADATA ENTERED
● Helpers:
– Extrensic motivation (pay, required fields, ...)
– Automatic adding out of context: i.e. username
as creator, dates of creation or publishing.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 8 of 26
IN PLONE...
● Dublin-Core Metadata on any document.
● Some fields are filled automatically,
– i.e.author, date of creation and publication, with
some limits also language.
● Others need to be entered manually.
● Using add-on products utilizing schemaextender
other metadata-fields can be added, i.e. the
Dublin Core Terms extension.
● Exposed in HTML-header (if switched on)
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 9 of 26
Semantics (from Greek sēmantikós)
is the study of meaning.
It typically focuses on the
relation between signifiers,
such as words, phrases, signs and
symbols, and what they stand for.
Wikipedia
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 10 of 26
so no semantics so far
in Plone?
● we have hierarchie
– A is parent of B => relation
● we have metadata
– John Smith is author of B
– B was published 2010-10-10 10:10:10
● we have general references
– B is related to C
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 11 of 26
Limitations in Plone
● If the word „Paris“ is in the text we dont know
its a city „Paris is a city“.
● We can search for the string „Paris“, but not for
articles about cities in france. „Paris is part of
France“
● No way to connect with articles outside Plone.
● Naked Plone only exposes a tiny set of its
limited semantic information.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 12 of 26
RDF helps
Resource Description
Framework
● all information is broke down into triples of
– subject => Paris
– predicate => is part of
– object => France
● triple is an element of a graph
● multiple triples forms complex RDF graphs
● RDF is family of W3C specifications to work with
theses graphs.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 13 of 26
IN PLONE?
● No RDF dialect out of the box
● eea.rdfmarshaller (add-on) builds
– RDF/XML from archetypes content, hierarchie and
relations
– RDF-Schemas from FTI
● no triple storage
● no possibility to query
● no auto-enhancement, i.e. finding geo-names
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 14 of 26
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 15 of 26
Introducing IKS
● IKS (interactive knowledge stack, ICT-231527) is
– a Semantic-based Open Source Platform for
Small to Medium CMS Providers
– raise the semantic capability of European
software houses to develop intelligent content
management solutions for their customers.
– an Integrated Project (IP) of the European Union's
7th Framework Programme: ICT – Call 3. From
2009-01-01 to 2012-12-31 (48 months).
– 13 participants from 7 countries involved, and
the EC contribution is 6.57 million Euros (total
cost: €8.55m).
–
http://[www|wiki].iks-project.org
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 16 of 26
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 17 of 26
Introducing FISE
● FISE, a major IKS outcome, is
– an Open Source RESTful Semantic Engine
software component extracing meaning of
electronic documents to organize it as
partially structured knowledge.
– semantic middleware with pluggable enhancers,
– triple store,
– sparql endpoint (query mechanism)
– ... more to come
– alpha, java, easy to integrate, nice devs behind.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 18 of 26
FISE
current enhancers
● categorize documents,
● suggest meaningful tags from a controlled
taxonomy and assert there relative importance,
● find related documents in the local database or
on the web,
● extract and recognize mentions of known
entities,
● detect yet unknown entities of the same afore
mentioned types to enrich the knowledge base,
● more and more to come.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 19 of 26
not IKS, but related:
Aloha-Editor
● WYSIWIG editor using Contenteditable
(xHTML5)
● very fast (loading, init, multiple instances)
● pluggable - possible to create semantic
plugins for i.e. microformats.
● OpenSource (GPL, initially made by Gentics)
http://www.aloha-editor.com/
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 20 of 26
YES. We need it in Plone.
But: Out of my scope
Who will integrate it?
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 21 of 26
back to FISE:
planned Python/ Plone
Integration
Klein & Partner KG got an IKS Early Adopter
(funded)
● Create a generic Python API to communicate
with FISE over its Restful API
● Integrate with Plone, „index“ into FISE.
● Create a Plone Portlet (UI) showing some
enhancements.
● Present the results to the Plone Community.
Spread the word.
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 22 of 26
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 23 of 26
FISE Integration
work done so far
● buildout for FISE http://github.com/collective/fise-buildout
● fise.client http://github.com/collective/fise.client
● started to spread the word
● research done:
– RDFlib
– SuRF
– restful client APIs
– SPARQL and Python
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 24 of 26
fise.client
Initialize:
>>> from fise.client import FISE
>>> fise = FISE('http://localhost:8080/')
Use the engines:
>>> somedoc = u"This is an example text."
>>> fise.engines(somedoc)
<xml...>
>>> fise.engines(somedoc,
format='rdfjson')
jsonresponse
Use the store, first store content
(only plain text is accepted for now):
>>> id = 'test123'
>>> fise.store.content[id] = payload
Next get the text back:
>>> fise.store.content[id]
u"This is an example text."
Then get the metadata:
>>> fise.store.metadata(id)
<RDF>
And FISE special feature: Get an HTML
page about the content:
>>> fise.store.page(id)
<HTML>
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 25 of 26
Work todo
● support passing SPARQL queries to FISE (easy)
● write fise.plone and index content in FISE.
● write some visualization (i.e. viewlet/ portlet) to
show enhancement found
● document all this
● sprint on FISE in Bristol
● organize a semantic sprint in Innsbruck
Creative Commons Namensnennung-
Keine kommerzielle Nutzung-
Keine Bearbeitung 3.0 Österreich LizenzPage 26 of 26
The End
Questions
Answers
Discussions
1 of 26

Recommended

Comparing C and Go by
Comparing C and GoComparing C and Go
Comparing C and GoMarcin Pasinski
35 views22 slides
YAFOWIL - Webformulare in Python ohne Kopfschmerzen by
YAFOWIL - Webformulare in Python ohne KopfschmerzenYAFOWIL - Webformulare in Python ohne Kopfschmerzen
YAFOWIL - Webformulare in Python ohne KopfschmerzenJens Klein
1.8K views11 slides
Projekte mit Plone by
Projekte mit PloneProjekte mit Plone
Projekte mit PloneJens Klein
739 views48 slides
Was ist Plone? by
Was ist Plone?Was ist Plone?
Was ist Plone?Jens Klein
563 views21 slides
Schlangenhochzeit in-der Wolke - Pyramid auf Google Appengine by
Schlangenhochzeit in-der Wolke - Pyramid auf Google AppengineSchlangenhochzeit in-der Wolke - Pyramid auf Google Appengine
Schlangenhochzeit in-der Wolke - Pyramid auf Google AppengineJens Klein
1.4K views36 slides
cornerstone.soup Lighning Talk on Plone Conference 2009 by
cornerstone.soup Lighning Talk on Plone Conference 2009cornerstone.soup Lighning Talk on Plone Conference 2009
cornerstone.soup Lighning Talk on Plone Conference 2009Jens Klein
596 views10 slides

More Related Content

Similar to Plone is so semantic, isn't it?

Big Fat FastPlone - Scale up, speed up by
Big Fat FastPlone - Scale up, speed upBig Fat FastPlone - Scale up, speed up
Big Fat FastPlone - Scale up, speed upJens Klein
815 views40 slides
BEdita, a development platform by
BEdita, a development platformBEdita, a development platform
BEdita, a development platformStefano Rosanelli
462 views21 slides
Use open source software to develop ideas at work by
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at workSammy Fung
968 views98 slides
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi... by
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...Grégory Engels
675 views39 slides
What is Python? An overview of Python for science. by
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.Nicholas Pringle
2K views23 slides
The Future of Operating Systems on RISC-V by
The Future of Operating Systems on RISC-VThe Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-VC4Media
1.6K views31 slides

Similar to Plone is so semantic, isn't it?(20)

Big Fat FastPlone - Scale up, speed up by Jens Klein
Big Fat FastPlone - Scale up, speed upBig Fat FastPlone - Scale up, speed up
Big Fat FastPlone - Scale up, speed up
Jens Klein815 views
Use open source software to develop ideas at work by Sammy Fung
Use open source software to develop ideas at workUse open source software to develop ideas at work
Use open source software to develop ideas at work
Sammy Fung968 views
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi... by Grégory Engels
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
I Know What Youll Do Next Summer - The Skills You Will Be Learning 
as a Domi...
Grégory Engels675 views
What is Python? An overview of Python for science. by Nicholas Pringle
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
Nicholas Pringle2K views
The Future of Operating Systems on RISC-V by C4Media
The Future of Operating Systems on RISC-VThe Future of Operating Systems on RISC-V
The Future of Operating Systems on RISC-V
C4Media1.6K views
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019 by Codemotion
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
Matteo Valoriani, Antimo Musone - The Future of Factory - Codemotion Rome 2019
Codemotion396 views
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP? by Wong Hoi Sing Edison
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
[HKDUG] #20161210 - BarCamp Hong Kong 2016 - What's News in PHP?
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C... by Niklas Heidloff
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Niklas Heidloff11.2K views
Drupal 8 preview_slideshow by Tee Malapela
Drupal 8 preview_slideshowDrupal 8 preview_slideshow
Drupal 8 preview_slideshow
Tee Malapela599 views
IPMI is dead, Long live Redfish by Bruno Cornec
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
Bruno Cornec7.7K views
Advantages And Disadvantages Of Cisc by Emily James
Advantages And Disadvantages Of CiscAdvantages And Disadvantages Of Cisc
Advantages And Disadvantages Of Cisc
Emily James3 views
Overview of modern software ecosystem for big data analysis by Michael Bryzek
Overview of modern software ecosystem for big data analysisOverview of modern software ecosystem for big data analysis
Overview of modern software ecosystem for big data analysis
Michael Bryzek1.1K views
Onnx at lf oss na 20200629 v5 by ISSIP
Onnx at lf oss na 20200629 v5Onnx at lf oss na 20200629 v5
Onnx at lf oss na 20200629 v5
ISSIP130 views

More from Jens Klein

RelStorage Plone Zope RDB Storage Backend by
RelStorage Plone Zope RDB Storage BackendRelStorage Plone Zope RDB Storage Backend
RelStorage Plone Zope RDB Storage BackendJens Klein
135 views10 slides
Plone Performance, Profiling, Power-Consumption by
Plone Performance, Profiling, Power-ConsumptionPlone Performance, Profiling, Power-Consumption
Plone Performance, Profiling, Power-ConsumptionJens Klein
210 views16 slides
RelStorage - an alternative ZODB Backend by
RelStorage - an alternative ZODB BackendRelStorage - an alternative ZODB Backend
RelStorage - an alternative ZODB BackendJens Klein
670 views14 slides
AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009 by
AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009
AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009Jens Klein
587 views9 slides
Plone - Community, Entwicklung, Support by
Plone - Community, Entwicklung, SupportPlone - Community, Entwicklung, Support
Plone - Community, Entwicklung, SupportJens Klein
739 views14 slides
Plone Conference 2007 Naples: Lightning Talk Daidalos by
Plone Conference 2007 Naples: Lightning Talk DaidalosPlone Conference 2007 Naples: Lightning Talk Daidalos
Plone Conference 2007 Naples: Lightning Talk DaidalosJens Klein
551 views4 slides

More from Jens Klein(6)

RelStorage Plone Zope RDB Storage Backend by Jens Klein
RelStorage Plone Zope RDB Storage BackendRelStorage Plone Zope RDB Storage Backend
RelStorage Plone Zope RDB Storage Backend
Jens Klein135 views
Plone Performance, Profiling, Power-Consumption by Jens Klein
Plone Performance, Profiling, Power-ConsumptionPlone Performance, Profiling, Power-Consumption
Plone Performance, Profiling, Power-Consumption
Jens Klein210 views
RelStorage - an alternative ZODB Backend by Jens Klein
RelStorage - an alternative ZODB BackendRelStorage - an alternative ZODB Backend
RelStorage - an alternative ZODB Backend
Jens Klein670 views
AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009 by Jens Klein
AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009
AGX - Tree Transformations with Python - Lightning Talk at Plone Conference 2009
Jens Klein587 views
Plone - Community, Entwicklung, Support by Jens Klein
Plone - Community, Entwicklung, SupportPlone - Community, Entwicklung, Support
Plone - Community, Entwicklung, Support
Jens Klein739 views
Plone Conference 2007 Naples: Lightning Talk Daidalos by Jens Klein
Plone Conference 2007 Naples: Lightning Talk DaidalosPlone Conference 2007 Naples: Lightning Talk Daidalos
Plone Conference 2007 Naples: Lightning Talk Daidalos
Jens Klein551 views

Recently uploaded

Roadmap to Become Experts.pptx by
Roadmap to Become Experts.pptxRoadmap to Become Experts.pptx
Roadmap to Become Experts.pptxdscwidyatamanew
14 views45 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
33 views69 slides
Special_edition_innovator_2023.pdf by
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
17 views6 slides
20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
33 views73 slides
Tunable Laser (1).pptx by
Tunable Laser (1).pptxTunable Laser (1).pptx
Tunable Laser (1).pptxHajira Mahmood
24 views37 slides

Recently uploaded(20)

iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker33 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2217 views
Perth MeetUp November 2023 by Michael Price
Perth MeetUp November 2023 Perth MeetUp November 2023
Perth MeetUp November 2023
Michael Price19 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
AMAZON PRODUCT RESEARCH.pdf by JerikkLaureta
AMAZON PRODUCT RESEARCH.pdfAMAZON PRODUCT RESEARCH.pdf
AMAZON PRODUCT RESEARCH.pdf
JerikkLaureta19 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson66 views
Lilypad @ Labweek, Istanbul, 2023.pdf by Ally339821
Lilypad @ Labweek, Istanbul, 2023.pdfLilypad @ Labweek, Istanbul, 2023.pdf
Lilypad @ Labweek, Istanbul, 2023.pdf
Ally3398219 views
From chaos to control: Managing migrations and Microsoft 365 with ShareGate! by sammart93
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
From chaos to control: Managing migrations and Microsoft 365 with ShareGate!
sammart939 views
Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
Black and White Modern Science Presentation.pptx by maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291616 views
Empathic Computing: Delivering the Potential of the Metaverse by Mark Billinghurst
Empathic Computing: Delivering  the Potential of the MetaverseEmpathic Computing: Delivering  the Potential of the Metaverse
Empathic Computing: Delivering the Potential of the Metaverse
Mark Billinghurst476 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10237 views

Plone is so semantic, isn't it?

  • 1. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 1 of 26 Plone Conference 2010 Bristol Plone is so semantic, isn't it? Jens W. Klein <jk@kleinundpartner.at> 2010-10-28
  • 2. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 2 of 26 Store Knowledge? ● Humans have different kinds of knowledge: tacit and explicit ● only possible to transform explict knowlegde (brain) => reduce to information => store information in ICT-system ● creation of documents (html-form, doc, powerpoint, pdf, html, audio, video, CAD/CAM, and hundreds more) ● sometimes collaborative
  • 3. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 3 of 26 IN PLONE... ● create documents (HTML), ● upload or place links to documents. ● Excellent collaboration – sharing, – versioning, – workflow.
  • 4. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 4 of 26 Problem: ● stupid ICT-Systems: they dont 'know' anything about the document. ● we need to provide algorythms to fetch information from the ones and zeros. ● Algorythms are as good as stored information is ● Fulltext search: Cut into words, create index. ● Organize documents in folders, subfolder, give them meaningful names.
  • 5. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 5 of 26 IN PLONE... ● portal_catalog ● full text index and search ● hirarchical folderish structure
  • 6. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 6 of 26 BUT ... ● this is not enough. We want to know the author, intellectual property information, dates, ... ● So we need additional information. ● One solution: Store additional information with the document: Metadata. ● Dublin Core (DC) Metadata, Learning Objects Metadata (LOM), ..
  • 7. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 7 of 26 BUT ... lazy Humans! *sigh* ● metadata need to be created/added by editors. ● Humans are lazy, ● so must of the time – NO METADATA ENTERED ● Helpers: – Extrensic motivation (pay, required fields, ...) – Automatic adding out of context: i.e. username as creator, dates of creation or publishing.
  • 8. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 8 of 26 IN PLONE... ● Dublin-Core Metadata on any document. ● Some fields are filled automatically, – i.e.author, date of creation and publication, with some limits also language. ● Others need to be entered manually. ● Using add-on products utilizing schemaextender other metadata-fields can be added, i.e. the Dublin Core Terms extension. ● Exposed in HTML-header (if switched on)
  • 9. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 9 of 26 Semantics (from Greek sēmantikós) is the study of meaning. It typically focuses on the relation between signifiers, such as words, phrases, signs and symbols, and what they stand for. Wikipedia
  • 10. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 10 of 26 so no semantics so far in Plone? ● we have hierarchie – A is parent of B => relation ● we have metadata – John Smith is author of B – B was published 2010-10-10 10:10:10 ● we have general references – B is related to C
  • 11. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 11 of 26 Limitations in Plone ● If the word „Paris“ is in the text we dont know its a city „Paris is a city“. ● We can search for the string „Paris“, but not for articles about cities in france. „Paris is part of France“ ● No way to connect with articles outside Plone. ● Naked Plone only exposes a tiny set of its limited semantic information.
  • 12. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 12 of 26 RDF helps Resource Description Framework ● all information is broke down into triples of – subject => Paris – predicate => is part of – object => France ● triple is an element of a graph ● multiple triples forms complex RDF graphs ● RDF is family of W3C specifications to work with theses graphs.
  • 13. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 13 of 26 IN PLONE? ● No RDF dialect out of the box ● eea.rdfmarshaller (add-on) builds – RDF/XML from archetypes content, hierarchie and relations – RDF-Schemas from FTI ● no triple storage ● no possibility to query ● no auto-enhancement, i.e. finding geo-names
  • 14. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 14 of 26
  • 15. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 15 of 26 Introducing IKS ● IKS (interactive knowledge stack, ICT-231527) is – a Semantic-based Open Source Platform for Small to Medium CMS Providers – raise the semantic capability of European software houses to develop intelligent content management solutions for their customers. – an Integrated Project (IP) of the European Union's 7th Framework Programme: ICT – Call 3. From 2009-01-01 to 2012-12-31 (48 months). – 13 participants from 7 countries involved, and the EC contribution is 6.57 million Euros (total cost: €8.55m). – http://[www|wiki].iks-project.org
  • 16. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 16 of 26
  • 17. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 17 of 26 Introducing FISE ● FISE, a major IKS outcome, is – an Open Source RESTful Semantic Engine software component extracing meaning of electronic documents to organize it as partially structured knowledge. – semantic middleware with pluggable enhancers, – triple store, – sparql endpoint (query mechanism) – ... more to come – alpha, java, easy to integrate, nice devs behind.
  • 18. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 18 of 26 FISE current enhancers ● categorize documents, ● suggest meaningful tags from a controlled taxonomy and assert there relative importance, ● find related documents in the local database or on the web, ● extract and recognize mentions of known entities, ● detect yet unknown entities of the same afore mentioned types to enrich the knowledge base, ● more and more to come.
  • 19. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 19 of 26 not IKS, but related: Aloha-Editor ● WYSIWIG editor using Contenteditable (xHTML5) ● very fast (loading, init, multiple instances) ● pluggable - possible to create semantic plugins for i.e. microformats. ● OpenSource (GPL, initially made by Gentics) http://www.aloha-editor.com/
  • 20. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 20 of 26 YES. We need it in Plone. But: Out of my scope Who will integrate it?
  • 21. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 21 of 26 back to FISE: planned Python/ Plone Integration Klein & Partner KG got an IKS Early Adopter (funded) ● Create a generic Python API to communicate with FISE over its Restful API ● Integrate with Plone, „index“ into FISE. ● Create a Plone Portlet (UI) showing some enhancements. ● Present the results to the Plone Community. Spread the word.
  • 22. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 22 of 26
  • 23. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 23 of 26 FISE Integration work done so far ● buildout for FISE http://github.com/collective/fise-buildout ● fise.client http://github.com/collective/fise.client ● started to spread the word ● research done: – RDFlib – SuRF – restful client APIs – SPARQL and Python
  • 24. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 24 of 26 fise.client Initialize: >>> from fise.client import FISE >>> fise = FISE('http://localhost:8080/') Use the engines: >>> somedoc = u"This is an example text." >>> fise.engines(somedoc) <xml...> >>> fise.engines(somedoc, format='rdfjson') jsonresponse Use the store, first store content (only plain text is accepted for now): >>> id = 'test123' >>> fise.store.content[id] = payload Next get the text back: >>> fise.store.content[id] u"This is an example text." Then get the metadata: >>> fise.store.metadata(id) <RDF> And FISE special feature: Get an HTML page about the content: >>> fise.store.page(id) <HTML>
  • 25. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 25 of 26 Work todo ● support passing SPARQL queries to FISE (easy) ● write fise.plone and index content in FISE. ● write some visualization (i.e. viewlet/ portlet) to show enhancement found ● document all this ● sprint on FISE in Bristol ● organize a semantic sprint in Innsbruck
  • 26. Creative Commons Namensnennung- Keine kommerzielle Nutzung- Keine Bearbeitung 3.0 Österreich LizenzPage 26 of 26 The End Questions Answers Discussions