Both sides previous revision
Poprzednia wersja
|
|
pl:miw:miw08_xtt_rif:presentation_examples [2008/04/13 16:14] miw |
pl:miw:miw08_xtt_rif:presentation_examples [2019/06/27 15:50] (aktualna) |
| //Przykład 1 (Warunek RIF-BLD)//\\ |
| Przykład ten prezentuje warunki składające się z atomów, wyrażeń, ram i formuł istnienia. W formułach ramowych zmienne są pokazane na pozycjach identyfikatorów obiektów, właściwości obiektów, lub wartości właściwości. |
| <code>Compact URI prefixes: |
| |
| bks expands into http://example.com/books# |
| auth expands into http://example.com/authors# |
| cpt expands into http://example.com/concepts# |
| |
| Positional terms: |
| |
| "cpt:book"^^rif:iri("auth:rifwg"^^rif:iri "bks:LeRif"^^rif:iri) |
| Exists ?X ("cpt:book"^^rif:iri(?X "bks:LeRif"^^rif:iri)) |
| |
| Terms with named arguments: |
| |
| "cpt:book"^^rif:iri(cpt:author->"auth:rifwg"^^rif:iri |
| cpt:title->"bks:LeRif"^^rif:iri) |
| Exists ?X ("cpt:book"^^rif:iri(cpt:author->?X cpt:title->"bks:LeRif"^^rif:iri)) |
| |
| Frames: |
| |
| "bks:wd1"^^rif:iri["cpt:author"^^rif:iri->"auth:rifwg"^^rif:iri |
| "cpt:title"^^rif:iri->"bks:LeRif"^^rif:iri] |
| Exists ?X ("bks:wd2"^^rif:iri["cpt:author"^^rif:iri->?X |
| "cpt:title"^^rif:iri->"bks:LeRif"^^rif:iri]) |
| Exists ?X ("bks:wd2"^^rif:iri # "cpt:book"^^rif:iri["cpt:author"^^rif:iri->?X |
| "cpt:title"^^rif:iri->"bks:LeRif"^^rif:iri]) |
| Exists ?I ?X (?I["cpt:author"^^rif:iri->?X "cpt:title"^^rif:iri->"bks:LeRif"^^rif:iri]) |
| Exists ?I ?X (?I # "cpt:book"^^rif:iri["cpt:author"^^rif:iri->?X |
| "cpt:title"^^rif:iri->"bks:LeRif"^^rif:iri]) |
| Exists ?S ("bks:wd2"^^rif:iri["cpt:author"^^rif:iri->"auth:rifwg"^^rif:iri |
| ?S->"bks:LeRif"^^rif:iri]) |
| Exists ?X ?S ("bks:wd2"^^rif:iri["cpt:author"^^rif:iri->?X |
| ?S->"bks:LeRif"^^rif:iri]) |
| Exists ?I ?X ?S (?I # "cpt:book"^^rif:iri[author->?X ?S->"bks:LeRif"^^rif:iri]) |
| </code> |
| |
| //Przykład 2// |
| Prosty warunek biznesowy: |
| <code>If an item is perishable and it is delivered to John more than 10 days after the scheduled delivery date then the item will be rejected by him.</code> |
| Może zostać zapisany za pomocą wartswy prezentacyjnej na dwa sposoby: |
| <code>Użyjemy prefix'u ppl jako skrótu dla http://example.com/people#. |
| Prefix op jest używany dla yet-to-be-determined IRI, który będzie używany dla wbudowanych predykatów RIFa. |
| Prefix cpt - http://example.com/concepts# |
| |
| a. Universal form: |
| |
| Forall ?item ?deliverydate ?scheduledate ?diffduration ?diffdays ( |
| "cpt:reject"^^rif:iri("ppl:John"^^rif:iri ?item) :- |
| And("cpt:perishable"^^rif:iri(?item) |
| "cpt:delivered"^^rif:iri(?item ?deliverydate "ppl:John"^^rif:iri) |
| "cpt:scheduled"^^rif:iri(?item ?scheduledate) |
| External("fn:subtract-dateTimes-yielding-dayTimeDuration"^^rif:iri(?deliverydate ?scheduledate ?diffduration)) |
| External("fn:get-days-from-dayTimeDuration"^^rif:iri(?diffduration ?diffdays)) |
| External("op:numeric-greater-than"^^rif:iri(?diffdays "10"^^xsd:integer))) |
| ) |
| |
| b. Universal-existential form: |
| |
| Forall ?item ( |
| "cpt:reject"^^rif:iri("ppl:John"^^rif:iri ?item ) :- |
| Exists ?deliverydate ?scheduledate ?diffduration ?diffdays ( |
| And("cpt:perishable"^^rif:iri(?item) |
| "cpt:delivered"^^rif:iri(?item ?deliverydate "ppl:John"^^rif:iri) |
| "cpt:scheduled"^^rif:iri(?item ?scheduledate) |
| External("fn:subtract-dateTimes-yielding-dayTimeDuration"^^rif:iri(?deliverydate ?scheduledate ?diffduration)) |
| External("fn:get-days-from-dayTimeDuration"^^rif:iri(?diffduration ?diffdays)) |
| External("op:numeric-greater-than"^^rif:iri(?diffdays "10"^^xsd:integer))) |
| ) |
| )</code> |
| |
| //Przykład 3//\\ |
| Przykład prezentuje grupę formuł, składającą się z dwóch regół RIF-BLD. Pierwsza z regół jest z Przykładu 2a. Grupa ma adnotację z meta-danych Dublin Core reprezentowanych przez ramę. |
| <code>Compact URI prefixes: |
| |
| bks expands into http://example.com/books# |
| auth expands into http://example.com/authors# |
| cpt expands into http://example.com/concepts# |
| dc expands into http://dublincore.org/documents/dces/ |
| w3 expands into http://www.w3.org/ |
| |
| Group "http://sample.org"^^rif:iri["dc:publisher"^^rif:iri->"w3:W3C"^^rif:iri |
| "dc:date"^^rif:iri->"2008-04-04"^^xsd:date] |
| ( |
| |
| Forall ?item ?deliverydate ?scheduledate ?diffduration ?diffdays ( |
| "cpt:reject"^^rif:iri("ppl:John"^^rif:iri ?item) :- |
| And("cpt:perishable"^^rif:iri(?item) |
| "cpt:delivered"^^rif:iri(?item ?deliverydate "ppl:John"^^rif:iri) |
| "cpt:scheduled"^^rif:iri(?item ?scheduledate) |
| External("fn:subtract-dateTimes-yielding-dayTimeDuration"^^rif:iri(?deliverydate ?scheduledate ?diffduration)) |
| External("fn:get-days-from-dayTimeDuration"^^rif:iri(?diffduration ?diffdays)) |
| External("op:numeric-greater-than"^^rif:iri(?diffdays "10"^^xsd:integer))) |
| ) |
| |
| Forall ?item ( |
| "cpt:reject"^^rif:iri("ppl:Fred"^^rif:iri ?item) :- "cpt:unsolicited"^^rif:iri(?item) |
| ) |
| |
| )</code> |