=> nouvelles plateformes applicatives
=> applications web ET web sémantique
=> applications web ET web sémantique
=> développement itératif et agile
=> production et maintenance efficaces
class Blog(EntityType):
title = String(maxsize=50, required=True)
description = String()
class BlogPost(EntityType):
title = String(required=True, fulltextindexed=True)
content = String(required=True, fulltextindexed=True)
class entry_of(RelationDefinition):
subject = 'BlogPost'
object = 'Blog'
cardinality = '1*'
__use__ = ('blog', 'comment', 'tag',)
class comments(RelationDefinition):
subject = 'Comment'
object = 'BlogPost'
class tags(RelationDefinition):
subject = 'Tag'
object = 'BlogPost'
Any X ORDERBY CD DESC LIMIT 10
WHERE X is BlogEntry, X creation_date CD
Any X WHERE T tags X,
T name IN ('cubicweb', 'semantic')
Et aussi UNION, EXISTS, HAVING, sous-requêtes, variables optionnelles (outer join), etc.
class BlogPostCalendarAdapter(AnyEntity):
__regid__ = (ICalendarable,)
__select__ = is_instance('BlogPost')
def start(self):
return self.entity.creation_date
def stop(self):
return self.entity.creation_date
=> données publiées en RDF: LinkedData !