SlideShare a Scribd company logo
1 of 7
Download to read offline
Context




Setting for this talk


I assume you’re either a researcher or someone interested in the
semantic web. And that you’re interested in the fun to be had with
python and plone in that regard.


If you’re a researcher, you might be a bit strapped for time. You’re
supposed to be doing ac tual research, not using Emacs typing in code.
Another issue might be the quality of your prototypes. Making it look
good takes a lot of effort, likewise error checking and so on. What you
can take with you out of this talk is perhaps some ideas on using plone
for your demos. Hey, maybe you’ll just make a UML model and have
your work done for you by the archgenxml code generator!


If you’re attracted to the semantic web, you might be either attracted or
shocked by the simple way in which I’m using it. At least, you might say
I advocate using plone in a more data-oriented instead of the common
content-oriented way.




                                                                            1
Enough about you all, now about me :-) I’ve worked now for five years
as a researcher in construction information. Mostly information
exchange in building projects, a bit semantic web based. Now, the
construction industry has much the same problems as the software
industry. Almost the same picture was hanging in the coffee room at the
university and I was one of the very few programmers, so this was a
joke on the construction industry.
Likewise, the construction industry is often a shining light to which the
programmer must look. Ah, no, actually. How much effort goes into a
building’s specification? The drawing takes a lot of time, but you’ve got
36 hours for a good written documentation of the non-drawn things.
And actually following the instructions? Getting everything delivered on
time? Large infrastructural projects normally go way over budget. Partly
because the politicians want things done differently, but is that any
different from clients of the software industry? So you see.
Well, automatic couplings between the drawing and the cost estimation.
Would be logical, don’t you think? Ouch, effectively 95% of the
computer drawings are just lines. For the cost estimation program, it’s
almost the same as a scanned-in hand-made drawing. Those written
specifications? Text. Pure text. Perhaps a classification system.
Problem is that there are no large players. The top 5 companies in the
Netherlands combined have about 5% market share. All those small
little companies you find in every town… When boeing or airbus wants
their suppliers to use a certain system, it happens. If the top1
                                                                            2
construction player says it, it doesn’t happen. Too costly, as #2 wants
something else and #3 also.
Semantic web - simply




“Semantic web” sounds very Artificial Intelligence like. Well, python
borrowed some things from Lisp, so that’s not so out of place at this
conference :-) I myself am treating the semantic web in a very simple
way: on a document or application level, make your data available as
XML or RDF, downloadable via http. Perhaps password protected if
needed. Now, how bad can that be?
In plone, it is often just a case of adding another page template. If you
look at the screen you see a part of my application. A template that
creates such a page takes some work with getting everything in the
right place with the right icons in front of it and so on. But exporting it as
a bit of XML takes 4 times less time. Just select the items, print the right
tag and slap the title into the tag. That’s it.
One week after doing that I got an email from a fellow researcher at a
different institute saying he’s made a java desktop client to view the
same data. WHAT?! Yes, that’s pretty easy to do, just download an xml
file and you’ve got all the data you need. As a researcher, this ease of
accessing your data might mean the difference between seeing your
research used by others or just lingering in your papers and on just
your computer.
One thing that’s more core semantic web that I’d like to advertise here
is the use of ontologies. An ontology is basically a set of terms or
definitions that can be used by other applications. Defined in a
computer-readable way. Every single item in the ontology has a unique
ID, which is an URL. I’ll talk about that ID mechanism later, it’s really a
                                                                                 3
great mechanism to get your data out of an isolated position. Back to
the ontology. If application 1 says “this object of mine is an Overpass
according to that ontology” and application 2 says the same about an
object they’ve got stored, they’re compatible. If application is the design
app you’re working in and application 2 is a cost estimation app, you
can suddently get a good cost estimation for your overpass
construction project.
Plone


The previous screen you saw was the plone collaborative ontology
editor I made. What you see here is the UML model of the application.
I’ll explain the reasoning behind it a bit. First things first: this was used
as the input for the ArchGenXML code generator. An older version, so
things would ‘ve been a bit cleaner if I did it again from scratch.
Anyway.


[FU/TS explanation] [draw a hamburger diagram on the board]


Now back to the time-strapped researcher’s neck-saving measure:
ArchGenXML generates a complete archetypes-based plone product
out of this. The entire directory structure, the config.py, the Install.py,
the .py files for the classes, empty templates ready to fill for extra
screens you defined on your classes. Containment/aggregation is
mapped to folder structures, with a possibility to restrict the allowed
types inside the folder. All automatically. You’re wasting time if you’re
doing it all by hand at the moment!




                                                                                4
Rdflib




XML is much more well-known, but RDF is also quite handy. What you
see on the screen is pretty much the basic principle of RDF. You’ve got
sets of information (files) with classes within them, all identified by an
URL. Classes in other files can refer to any URL, just like in the normal
web: you can hyperlink to any file. With RDF every part of information
gets a URL, so every bit of information is suddenly referenceable.


The fun part with RDF is that those links have a URL too. So you can
have a different URL for “is father of” and for “goes to that conference”.
All of RDF eventually boils down to subject/verb/object, so “I” “am
presenting at” “europython”. Can’t be any simpler. You can make your
own vocabulary! And everybody can join in!


For this, I had to integrate the python rdflib (which is pretty nice) with
zope (which I love). But zope’s database has extensionclasses which
bite python2.2’s new style classes (which are used by rdflib). So I had
to manually mutulate the code. Not pretty. Not a pretty result. But… I
could load RDF files into zope. The new Zemantic project does the
same, but in a much cleaner way. So don’t ask for my product! Bug
them.




                                                                             5
Conclusions


Plone is good for a researcher, especially with archgenxml code
generation. You get a good user interface which is collaborative in
nature. With relatively low effort. On the screen you see a collaborative
ontology editor in the lower left corner, a PloneMall powered catalog
application in the top left and a project creation/administration tool on
the right. The lower left one kept me busy for three months but the
other two took me a week each from start to finish.


All three applications export or import http-provided data. Just serve or
download a file and your program gets much more interesting. Catalog
and “object tree” (a project management application) both use the
ontology and therefore can understand eachother. So… Make your
application data-friendly and export your stuff.




                                                                            6
Stuff
        Reinout van Rees
        r.van.rees@zestsoftware.nl

        http://vanrees.org/proefschrift.pdf




This research was done at D elft University at Technology; since 1 april I'm
working at Zest softw are, where I'm trying to make medium-sized
organisations happy w ith a shiny plone website.


Couple of things not mentioned which might interest you, so if you want,
ask a question: python for d ata conversion, importance of project
automation (also when w riting 200 page dissertations), data openness.




                                                                               7

More Related Content

Viewers also liked

ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations OntologyISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations OntologyMartin Hepp
 
Semantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations OntologySemantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations OntologyMartin Hepp
 
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic  Web-based E-Commerce a RealityThe GoodRelations Ontology: Making Semantic  Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a RealityMartin Hepp
 
Semantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planningSemantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planningSemrush
 
Semantic Web Landscape 2009
Semantic Web Landscape 2009Semantic Web Landscape 2009
Semantic Web Landscape 2009LeeFeigenbaum
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and SemanticsTatiana Al-Chueyr
 
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...Martin Hepp
 
Evolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic WebEvolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic WebLeeFeigenbaum
 

Viewers also liked (8)

ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations OntologyISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
ISKO 2010: Linked Data in E-Commerce – The GoodRelations Ontology
 
Semantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations OntologySemantic Web-based E-Commerce: The GoodRelations Ontology
Semantic Web-based E-Commerce: The GoodRelations Ontology
 
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic  Web-based E-Commerce a RealityThe GoodRelations Ontology: Making Semantic  Web-based E-Commerce a Reality
The GoodRelations Ontology: Making Semantic Web-based E-Commerce a Reality
 
Semantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planningSemantic keyword research for e commerce site architecture planning
Semantic keyword research for e commerce site architecture planning
 
Semantic Web Landscape 2009
Semantic Web Landscape 2009Semantic Web Landscape 2009
Semantic Web Landscape 2009
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
 
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
A Short Introduction to Semantic Web-based E-Commerce: The GoodRelations Voca...
 
Evolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic WebEvolution Towards Web 3.0: The Semantic Web
Evolution Towards Web 3.0: The Semantic Web
 

Similar to Semantic web, python, construction industry

Visualization of Complex Systems
Visualization of Complex SystemsVisualization of Complex Systems
Visualization of Complex SystemsChris Laffra
 
0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdfradhianiedjan1
 
Top 10 Scalability Mistakes
Top 10 Scalability MistakesTop 10 Scalability Mistakes
Top 10 Scalability MistakesJohn Coggeshall
 
Introductionto Xm Lmessaging
Introductionto Xm LmessagingIntroductionto Xm Lmessaging
Introductionto Xm LmessagingLiquidHub
 
DMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesPaige Morgan
 
Avoid adding a new library to the project
Avoid adding a new library to the projectAvoid adding a new library to the project
Avoid adding a new library to the projectPVS-Studio
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web ApplicationMichael Choi
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling TechniqueCarmen Sanborn
 
Cs121 Unit Test
Cs121 Unit TestCs121 Unit Test
Cs121 Unit TestJill Bell
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018Amit Ashwini
 
CTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxCTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxOduniyiAdebola
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Dhruv Gohil
 
What Is The Future of Data Science With Python?
What Is The Future of Data Science With Python?What Is The Future of Data Science With Python?
What Is The Future of Data Science With Python?SofiaCarter4
 

Similar to Semantic web, python, construction industry (20)

Visualization of Complex Systems
Visualization of Complex SystemsVisualization of Complex Systems
Visualization of Complex Systems
 
0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf0506-django-web-framework-for-python.pdf
0506-django-web-framework-for-python.pdf
 
Top 10 Scalability Mistakes
Top 10 Scalability MistakesTop 10 Scalability Mistakes
Top 10 Scalability Mistakes
 
Introductionto Xm Lmessaging
Introductionto Xm LmessagingIntroductionto Xm Lmessaging
Introductionto Xm Lmessaging
 
DMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slidesDMDS Winter 2015 Workshop 1 slides
DMDS Winter 2015 Workshop 1 slides
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Six of the Best
Six of the BestSix of the Best
Six of the Best
 
Ad507
Ad507Ad507
Ad507
 
Avoid adding a new library to the project
Avoid adding a new library to the projectAvoid adding a new library to the project
Avoid adding a new library to the project
 
System design for Web Application
System design for Web ApplicationSystem design for Web Application
System design for Web Application
 
Python libraries
Python librariesPython libraries
Python libraries
 
Walter api
Walter apiWalter api
Walter api
 
Document Based Data Modeling Technique
Document Based Data Modeling TechniqueDocument Based Data Modeling Technique
Document Based Data Modeling Technique
 
Cs121 Unit Test
Cs121 Unit TestCs121 Unit Test
Cs121 Unit Test
 
The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018The Guide to becoming a full stack developer in 2018
The Guide to becoming a full stack developer in 2018
 
Graphql
GraphqlGraphql
Graphql
 
CTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptxCTE 323 - Lecture 1.pptx
CTE 323 - Lecture 1.pptx
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
 
What Is The Future of Data Science With Python?
What Is The Future of Data Science With Python?What Is The Future of Data Science With Python?
What Is The Future of Data Science With Python?
 
What makes python 3.11 special
What makes python 3.11 special What makes python 3.11 special
What makes python 3.11 special
 

More from Reinout van Rees

Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)Reinout van Rees
 
Practical project automation (PyGrunn conference)
Practical project automation (PyGrunn conference)Practical project automation (PyGrunn conference)
Practical project automation (PyGrunn conference)Reinout van Rees
 
Geographic information websites for water management.
Geographic information websites for water management.Geographic information websites for water management.
Geographic information websites for water management.Reinout van Rees
 
Practical project automation
Practical project automationPractical project automation
Practical project automationReinout van Rees
 
Full econstruct end results overview
Full econstruct end results overviewFull econstruct end results overview
Full econstruct end results overviewReinout van Rees
 
bcxml taxonomy implementation screenshots
bcxml taxonomy implementation screenshotsbcxml taxonomy implementation screenshots
bcxml taxonomy implementation screenshotsReinout van Rees
 
EBEW2001 econstruct summary
EBEW2001 econstruct summaryEBEW2001 econstruct summary
EBEW2001 econstruct summaryReinout van Rees
 
semantic web and construction industry
semantic web and construction industrysemantic web and construction industry
semantic web and construction industryReinout van Rees
 
Semantic web and building specifications
Semantic web and building specificationsSemantic web and building specifications
Semantic web and building specificationsReinout van Rees
 
semantic web and construction industry
semantic web and construction industrysemantic web and construction industry
semantic web and construction industryReinout van Rees
 

More from Reinout van Rees (13)

Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)Django class based views (Dutch Django meeting presentation)
Django class based views (Dutch Django meeting presentation)
 
Practical project automation (PyGrunn conference)
Practical project automation (PyGrunn conference)Practical project automation (PyGrunn conference)
Practical project automation (PyGrunn conference)
 
Geographic information websites for water management.
Geographic information websites for water management.Geographic information websites for water management.
Geographic information websites for water management.
 
Practical project automation
Practical project automationPractical project automation
Practical project automation
 
Full econstruct end results overview
Full econstruct end results overviewFull econstruct end results overview
Full econstruct end results overview
 
bcxml taxonomy implementation screenshots
bcxml taxonomy implementation screenshotsbcxml taxonomy implementation screenshots
bcxml taxonomy implementation screenshots
 
EBEW2001 econstruct summary
EBEW2001 econstruct summaryEBEW2001 econstruct summary
EBEW2001 econstruct summary
 
Technical MSc background
Technical MSc backgroundTechnical MSc background
Technical MSc background
 
econstruct summary
econstruct summaryeconstruct summary
econstruct summary
 
semantic web and construction industry
semantic web and construction industrysemantic web and construction industry
semantic web and construction industry
 
Semantic web and building specifications
Semantic web and building specificationsSemantic web and building specifications
Semantic web and building specifications
 
semantic web and construction industry
semantic web and construction industrysemantic web and construction industry
semantic web and construction industry
 
VR information frontend
VR information frontendVR information frontend
VR information frontend
 

Recently uploaded

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Recently uploaded (20)

How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Semantic web, python, construction industry

  • 1. Context Setting for this talk I assume you’re either a researcher or someone interested in the semantic web. And that you’re interested in the fun to be had with python and plone in that regard. If you’re a researcher, you might be a bit strapped for time. You’re supposed to be doing ac tual research, not using Emacs typing in code. Another issue might be the quality of your prototypes. Making it look good takes a lot of effort, likewise error checking and so on. What you can take with you out of this talk is perhaps some ideas on using plone for your demos. Hey, maybe you’ll just make a UML model and have your work done for you by the archgenxml code generator! If you’re attracted to the semantic web, you might be either attracted or shocked by the simple way in which I’m using it. At least, you might say I advocate using plone in a more data-oriented instead of the common content-oriented way. 1
  • 2. Enough about you all, now about me :-) I’ve worked now for five years as a researcher in construction information. Mostly information exchange in building projects, a bit semantic web based. Now, the construction industry has much the same problems as the software industry. Almost the same picture was hanging in the coffee room at the university and I was one of the very few programmers, so this was a joke on the construction industry. Likewise, the construction industry is often a shining light to which the programmer must look. Ah, no, actually. How much effort goes into a building’s specification? The drawing takes a lot of time, but you’ve got 36 hours for a good written documentation of the non-drawn things. And actually following the instructions? Getting everything delivered on time? Large infrastructural projects normally go way over budget. Partly because the politicians want things done differently, but is that any different from clients of the software industry? So you see. Well, automatic couplings between the drawing and the cost estimation. Would be logical, don’t you think? Ouch, effectively 95% of the computer drawings are just lines. For the cost estimation program, it’s almost the same as a scanned-in hand-made drawing. Those written specifications? Text. Pure text. Perhaps a classification system. Problem is that there are no large players. The top 5 companies in the Netherlands combined have about 5% market share. All those small little companies you find in every town… When boeing or airbus wants their suppliers to use a certain system, it happens. If the top1 2 construction player says it, it doesn’t happen. Too costly, as #2 wants something else and #3 also.
  • 3. Semantic web - simply “Semantic web” sounds very Artificial Intelligence like. Well, python borrowed some things from Lisp, so that’s not so out of place at this conference :-) I myself am treating the semantic web in a very simple way: on a document or application level, make your data available as XML or RDF, downloadable via http. Perhaps password protected if needed. Now, how bad can that be? In plone, it is often just a case of adding another page template. If you look at the screen you see a part of my application. A template that creates such a page takes some work with getting everything in the right place with the right icons in front of it and so on. But exporting it as a bit of XML takes 4 times less time. Just select the items, print the right tag and slap the title into the tag. That’s it. One week after doing that I got an email from a fellow researcher at a different institute saying he’s made a java desktop client to view the same data. WHAT?! Yes, that’s pretty easy to do, just download an xml file and you’ve got all the data you need. As a researcher, this ease of accessing your data might mean the difference between seeing your research used by others or just lingering in your papers and on just your computer. One thing that’s more core semantic web that I’d like to advertise here is the use of ontologies. An ontology is basically a set of terms or definitions that can be used by other applications. Defined in a computer-readable way. Every single item in the ontology has a unique ID, which is an URL. I’ll talk about that ID mechanism later, it’s really a 3 great mechanism to get your data out of an isolated position. Back to the ontology. If application 1 says “this object of mine is an Overpass according to that ontology” and application 2 says the same about an object they’ve got stored, they’re compatible. If application is the design app you’re working in and application 2 is a cost estimation app, you can suddently get a good cost estimation for your overpass construction project.
  • 4. Plone The previous screen you saw was the plone collaborative ontology editor I made. What you see here is the UML model of the application. I’ll explain the reasoning behind it a bit. First things first: this was used as the input for the ArchGenXML code generator. An older version, so things would ‘ve been a bit cleaner if I did it again from scratch. Anyway. [FU/TS explanation] [draw a hamburger diagram on the board] Now back to the time-strapped researcher’s neck-saving measure: ArchGenXML generates a complete archetypes-based plone product out of this. The entire directory structure, the config.py, the Install.py, the .py files for the classes, empty templates ready to fill for extra screens you defined on your classes. Containment/aggregation is mapped to folder structures, with a possibility to restrict the allowed types inside the folder. All automatically. You’re wasting time if you’re doing it all by hand at the moment! 4
  • 5. Rdflib XML is much more well-known, but RDF is also quite handy. What you see on the screen is pretty much the basic principle of RDF. You’ve got sets of information (files) with classes within them, all identified by an URL. Classes in other files can refer to any URL, just like in the normal web: you can hyperlink to any file. With RDF every part of information gets a URL, so every bit of information is suddenly referenceable. The fun part with RDF is that those links have a URL too. So you can have a different URL for “is father of” and for “goes to that conference”. All of RDF eventually boils down to subject/verb/object, so “I” “am presenting at” “europython”. Can’t be any simpler. You can make your own vocabulary! And everybody can join in! For this, I had to integrate the python rdflib (which is pretty nice) with zope (which I love). But zope’s database has extensionclasses which bite python2.2’s new style classes (which are used by rdflib). So I had to manually mutulate the code. Not pretty. Not a pretty result. But… I could load RDF files into zope. The new Zemantic project does the same, but in a much cleaner way. So don’t ask for my product! Bug them. 5
  • 6. Conclusions Plone is good for a researcher, especially with archgenxml code generation. You get a good user interface which is collaborative in nature. With relatively low effort. On the screen you see a collaborative ontology editor in the lower left corner, a PloneMall powered catalog application in the top left and a project creation/administration tool on the right. The lower left one kept me busy for three months but the other two took me a week each from start to finish. All three applications export or import http-provided data. Just serve or download a file and your program gets much more interesting. Catalog and “object tree” (a project management application) both use the ontology and therefore can understand eachother. So… Make your application data-friendly and export your stuff. 6
  • 7. Stuff Reinout van Rees r.van.rees@zestsoftware.nl http://vanrees.org/proefschrift.pdf This research was done at D elft University at Technology; since 1 april I'm working at Zest softw are, where I'm trying to make medium-sized organisations happy w ith a shiny plone website. Couple of things not mentioned which might interest you, so if you want, ask a question: python for d ata conversion, importance of project automation (also when w riting 200 page dissertations), data openness. 7